2009 International Conference on Computational Science and Engineering
Fault- Tolerance Scheduling by Using Rough Set based Multi- Checkpointing on Economic Grids
Asgarali Bouyer1, Abdul Hanan Abdullah2
Hasan Ebrahimpour3, Firouz Nasrollahi4
1
3,4
Islamic Azad University-Miyandoab branch Miyandoab, Iran 2 University Technology of Malaysia 1
[email protected],
[email protected]
Islamic Azad University- Hashtrood branch, Hashtrood, Iran 3
[email protected], 4
[email protected]
In this research, we have focused on a price-based task scheduling for real-time tasks. In recent years, there has been an increasing interest in economic approaches for Grid resource allocation, and research on Grid commerce and computational economy for Grid resource allocation has received quite a lot of attention. In this paper, we are going to design a predictive grid resource scheduling with optimized cost price based on job and grid conditions in multireservation method to increase the fault tolerance. Needless to say, all of job at the start have Normal priority but we have considered an option for job owner to increase priority of job by paying more cost.
Abstract—Grid scheduling process is a main factor that affects system performance. If the grid scheduler is enabled to selecting proper resources and determining order of tasks in queue, each task is executed without missing their deadline and extra faults; and consequently, the response time of job is decreased. Since the grid uses heterogeneous resources, the possibility of failure occurrence in those resources should be considered. Predicting some information for doing a better scheduling based on previous information can be vital. In this paper, we applied an optimal multi reservation technique to achieve a fault tolerant scheduling in economic-based grid with respect to optimized cost price, and minimum latency by applying rough set theory. The experimental results show a hopeful method with acceptable completion time and cost price beside of fault-tolerance criteria.
Our purposed grid use two-level hierarchical scheduling by Meta-Scheduler (Level 0) and Local Schedulers (Level 1). Schedulers are responsible to finding and selecting best resources and sites to decrease of probability of failures and then assign tasks to desired nodes based on K-reservation (K is the number of supporter nodes for a task). We used Rough Set (RS) theory to generate rules in order to analyze by scheduler to match desired job (tasks) to proper site. RS was introduced by Pawlak in1982 [17]. RS as a mathematical tool to deal with uncertainty and vagueness in data provides us with a sound theoretical basis to determine the properties that define similarity.
Keywords-component; Fault Tolerance, Multi-Reservation Economic-based grid, Rough Set
I.
INTRODUCTION
Recently in many applications such as bioinformatics, features of materials, decoding, military organization and simulations (in the field of physics like simulation of world), and etc, demand computers with high capabilities or parallel processing techniques in order to perform with high efficiency is essential. Grid computing [7] is a heterogeneous environment that enables sharing of computational resources within and between organizations in the world. Resource management is one of the basic and key aspects in Grid Computing, especially in dependable resources scheduling and monitoring. Grid scheduling is a complex process in grid because of dynamic and heterogeneous resources in a large area. Hierarchical model is a popular model for resource scheduling in the grid computing that consists of metascheduler (level 0) and local schedules (below levels).. A job usually requires the resources from many owners. The purpose of job scheduling is to assign tasks of each job to Grid nodes for improving the performance of the grid system. A job can be divided in several tasks to execute in a parallel fashion on the Grid. In this paper we concentrate on grid jobs with real-time priority in economic-based grid. It is necessary to say that job owner (or consumer or requester) should pay more cost for a job (tasks) with real-time priority in economic-based grid.
978-0-7695-3823-5/09 $26.00 © 2009 IEEE DOI 10.1109/CSE.2009.400
Based on the economic mechanism, resource allocation can be decomposed into two sub-problems. One is how to determine the price of resources in accordance with the dynamic supply and need, and the other is how to allocate resources for achieving the goal of high fault-tolerance and efficient utilization of resources in response to current resource prices. In this paper, we focus on the second problem, i.e., how to determine the suitable nodes (suitable site) for a real time job based on predefined price for resources. Our method tries to minimize cost and overhead execution time. To evaluate gridscheduling algorithm and compare it with previous works, the following criteria are considered: Faulted nodes, cost and job completion time measures. The reset of paper as following: In section 2, we will describe some related works. Then we have reviewed Rough set theory in section 3 and at the next, multi-level Grid
103
Authorized licensed use limited to: UNIVERSITY TEKNOLOGI MALAYSIA. Downloaded on August 14,2010 at 08:58:34 UTC from IEEE Xplore. Restrictions apply.
Scheduler have been described. In section 5, we have proposed our method based on multi-reservation technique for Fault tolerance scheduling in economic grid. The experimental results have been evaluated in section 6 and finally we have concluded paper in section 7. II.
method can reduce the number of redundancy and increase the number of successfully finished tasks by adaptively replicating computations on the basis of the properties of volunteer group such as availability, credibility, and volunteering service time. In [4], another approach has been presented with similar reliability and dependability based on a combined method by using Checkpointing and replication techniques. We have evaluated our proposed method with these two methods ([15] [4]) in section 6. Moreover, there are more relate works on grid in [16] [10] [1] [5] [3] [8] [13] and [9] that we devolve them to readers.
RELATED WORKS
In this section, we are going to mention some related research in fault-tolerance area on grid. Since, our approach nearly use a knowledge extraction technique, our goal is compare proposed approach with other prediction-based approach.
III.
IB [12] is an incentive-based scheduling scheme with heuristics, employing a P2P (peer to peer) decentralized scheduling framework. This framework uses the bidding model and price mechanism. Each consumer or provider autonomously makes scheduling decisions and all scheduling algorithms are local to a resource provider. Besides three market instruments, job announcement, price, and competition degree (CD), are used in this research.
ROUGH SET ANALYSIS
Rough Sets Theory [17] has often proved to be an excellent tool for the analysis of vagueness and uncertainty inherent in making decisions. It also proved to be very useful for analysis of decision problems concerning objects described in a data table by a set of condition attributes and by a set of decision attributes. In the context of rough set theory, data is often showed as a table, columns of which are labeled by attributes, rows by objects of interest and entries of the table are attribute values. The incoming data table as a whole can be treated as an information system of the form L = < U, A, V, f>. Here, U = {x1, x2, ...xn} is a nonempty set of objects ( n is the number of objects in data table); A = CD, in which C={c1, c2, ...cm} (m is the number of conditional attributes) is a nonempty set of conditional attributes, and D is a finite set of decision , where Va is a value of the attributes; and V V
S. Baghavathi Priya and et al. presented a fault tolerance approach for Task Scheduling by using Genetic algorithm on grid [14]. They have used checkpoint technique in their method that is a general-purpose method for providing fault tolerance in distributed systems. Check pointing allows the recovery to a previous correct state. Due to simplicity and understandability, their method is a good one. Nevertheless, for a large-scale computing with thousands nodes, surely this algorithm take much time. In addition, they have considered some assumptions for scheduler, which require more investigation.
a
a A
attribute a, and there is a map f: U×AĺV is called the information function such that f(x, a) Va for every aA, xi U.
Korkhov et al. have proposed a hybrid Grid resource management environment [11], incorporating an Adaptive Workload-Balancing (AWLB) algorithm into a Distributed Analysis Environment (DIANE) which realizes User-Level Scheduling (ULS). The AWLB algorithm is designed for parallel applications on heterogeneous resources. DIANE provides an execution environment for parallel applications and supports plug-in user-defined scheduling algorithms and failure recovery strategies. Authors have implemented their ideas in a testbed and have carried out a series of experiments using a model application with configurable requirements. The experimental results show a better progress in resource allocation and fault recovery in economic grid. However, authors obviously have not argued about DIANE user-level scheduler.
- Indiscernibility Relation: In a Information system L, for every subset of attributes B A, a binary relation, denoted by IND(B), called the B -indiscernibility relation, is associated and defined as follows: IND(B)={(xi,xj)UuU: aB, f(xi,a)=f(xj,a)} - Reduction: a Information system L, the reduction of condition attribute C means a nonempty subset R C satisfied by the IND(R)= IND(C) condition. - lower and upper approximation: Let X is the target Class, the lower approximation B(X ) contains all the patterns or equivalence classes of B-indiscernibility relation that definitely belong to the class X and the upper approximation B(X ) permits overlap. Since the upper approximation permits overlaps, each set of data points that are shared by a group of classes define indiscernible set. Thus, the ambiguity in assigning a pattern to a class is captured using the upper approximation. Employing rough set theory, the proposed classification scheme generates soft classes (classes with permitted overlap in upper approximation).
GRIDTS [6] is an infrastructure for Fault-Tolerant Scheduling in Grid environment. This proposed approach allows scheduling decisions to be made with up-to-date information about the resources. GRIDTS provides faulttolerant scheduling by combining a set of fault tolerance techniques to deal with crash faults in components of the system. Fault tolerance in GRIDTS is enforced using a combination of mechanisms. Their approach does not use GIS information, because GIS information might be abrogated.
- Positive Regions and Dependency: Let IND(B) denote the set of equivalence classes of U with respect to B (and B C and A = CD). Also Let IND(D) denote the set of equivalence classes of U with respect to D. The positive region of B in IND(D) is Defined as:
A new group-based computational replication mechanism has been proposed in [15] to improve the reliability of computation and gain better performance. This proposed
104
Authorized licensed use limited to: UNIVERSITY TEKNOLOGI MALAYSIA. Downloaded on August 14,2010 at 08:58:34 UTC from IEEE Xplore. Restrictions apply.
POSB (D) = { B(X) : X IND(D) }.
waiting time is negligible for Real-time tasks priority. When a high priority job (the Real-time tasks) is presented in grid system, high-level scheduler dispatches them. Priority of every task is defined dynamically based on many parameters such as deadline, waiting time (in the queue), Recommended Cost, and estimation of execution time and recommended cost. We have argued about managing Jobs in global queues in previous our work [2] and so, here we do not argue about this and how to compute jobs’ priority here because we assume that desired job has the highest (real-time) priority. High-level scheduler tries to dispatch prior task (real-time priority) to the best sites. In our experiments, we assume that jobs comprise of large computations.
That is, POSB(D) includes all objects that can be sorted into classes of IND(D) without error, based exclusively on the classification information in IND(B). Also, since we have a numerical description of dependency, we can speak of nearperfect reducts (i.e. k(R, D) § k(C, D)), so that we may discard even more attributes if they have little effect on the dependency. Also for finding the Best Reduct, we will consider a greedy algorithm. At the first, Relative Core must be defined. Relative core is defined by: CORE(C, D) = {a C: POSC (D) POSC-{a} (D)}, where C and D denote two attribute sets. The set Core is called D-core of C, and denoted by POSC (D). After that, then we pass the core to the following algorithm:
-Site selection policy: through a grid statues table, we can get recent information about all of the available sites, such as MIPS and loads of machines, network service status, requests conditions and so on. Status table in grid is like a large data warehouse. Grid scheduler must update these data periodically. There are two policies to update grid status table. According to the first policy, when the status of every machine in grid is changed, Grid scheduler must immediately updates the contents of grid status table but monitoring and updating large data warehouse are very time consuming. Through the latter policy, grid scheduler updates the content of status data warehouse in specific time intervals. The length of time Intervals has extreme impact on grid performance.
R = CORE(C, D) and T = C - R. Repeat step 2 While k(R, D) < k(C, D) - edge Find attribute a T such that k(R {a}, D) is maximized. Set R = R {a}; T = T - {a}. Send to output R. Our purpose is to perform an analysis on input data to extract useful rules for selecting nodes and sites by schedulers. To do this issue we will use classification algorithm based on rough set theory to generate rules. It takes the node’s information data table as input and output is produced rules.
V.
After that doing all above mentioned steps, the generated output will be packed and sent to Grid Scheduler Application. IV.
ROUGH SET BASED MULTI-RESERVATION METHOD
The most popular fault-tolerance mechanism is Checkpointing, i.e., periodically saving the state of the application on stable storage, usually a hard disk. If K nodes have been considered for a task of a job, multi replication techniques try to execute the desired task on K provided nodes (as supporter nodes) in parallel fashion. If a node main site is successfully executed, the supporter nodes (replicas) will be unfruitful. The probability of fault occurrence usually is less than 30%. Therefore, in more than 70%, K supporter nodes are unfruitful and they are considered as overhead nodes (overhead computing cost). For example, suppose that there has a job made up n tasks and execution time for each task is m minutes. If it is needed to consider K supporter nodes (for replicas) for each task with D price (computing price per second), the total price after execution this job will be as following.
MULTI LEVEL SCHEDULING
In the hierarchical approach, scheduling process is shared between Meta-scheduler and local schedulers in grid. At first, any job identifier is offered to high-level scheduler. Metascheduler considers load, capacity, and capability of sites and deadline of jobs, and then dispatches the jobs to the best sites. Low level scheduling is applied in local sites. Every site may use different local scheduling algorithm. In this model after dispatching jobs, we could not transfer jobs between sites to achieve load balancing. In this model, there is a Meta-scheduler in desired Grid. Any site in a grid system periodically accumulates information about grid status and details about other sites. Meta-scheduler receives a job and then based on its status and deadline, select the best site to dispatch job. Flexibility, scalability and availability of machines with different architecture and different scheduling algorithms are benefits of this approach. In this model, scheduling process of every machine is very complex and time consuming. Major problem in this model is that each machine must accumulate and store information about grid and the state of other machines. On the other hand, due to direct relation among machines, performance of gird depends on network details such as network topologies and bound width. Proposed model for grid scheduler consists of two levels, High-level scheduler and low-level schedulers. When grid scheduler receives a task identifier from a site, in cases that load of system is low then after selecting a target site, the task will be dispatched immediately. In fact, global
Total price= [(n*m*60)*(Ec)*D]*(K+1)
(1)
The Ec parameter shows an extra cost that recommends by job owner to increase the priority of job. It seems that, this cost is high and most of organizations may not prefer to pay it. To reduce this price, we try to reduce fault occurrence by selecting optimal nodes and use multi-reservation technique to decrease of cost price. A. Propose a new node selection method We have proposed a method to select best nodes in price based Grids by using rough set analysis. In this research, the grid is consists of several sites and each site has a Local Scheduler (LS). Access to grid’s node only is possible by Local Schedulers. When a job is submitted to LS in desired site for distributing on the nodes, LS record some information
105
Authorized licensed use limited to: UNIVERSITY TEKNOLOGI MALAYSIA. Downloaded on August 14,2010 at 08:58:34 UTC from IEEE Xplore. Restrictions apply.
about job (before and after executing). After that, it will be select proper nodes based on its own policy. When the owner (or consumer) delivers a job to grid for executing, firstly, metascheduler send job’s information (Estimated Execution Time, the size of needed RAM, Total Deadline) to all LS to provide some information about self-predecessor status (about the ration of happened faults, costs, completion time, the number of other grid tasks at moment, and average CPU Load for grid nodes on this site). At the next, each LS will provide this information to send to Meta-Scheduler for selecting suitable sites (as master-site and supporter sites). Nevertheless, how will LS provide this information? It is as following procedure.
LS also compute some criteria for doing a comparison between nodes such as Success Ratio, Average of Completion Time for successful tasks (ACTS). Success Ratio= (Number of success tasks/ (Number of success tasks+ Number of Failed or Aborted tasks)*100. Allocation nodes to tasks: at the first time, LS analyze the computed results and gathered rules to make a priority for each node. To make apriority, LS consider four measures (Success ration, ACTS, Success time consistency (from rule 1), Crash time consistency (from rule 2)). If we have N nodes in desired site, LS will assign a priority for each measure between (1 to N). For example, look at to Table 1 that includes mentioned measures for 5 nodes. LS give a priority to each node on each column. The prioritized values are brought in Table 2 that is equivalence to Table 1. After sum all priority for each node, Total Priority is computed. It is necessary to say, the minimum value in Total priority’s column shows the best node. For example, in Table 2, node4 is the best node and node3 is the worst node for allocation to tasks. By the way, if we carefully look at to Table 1 and 2, we will realize that node5 has the least Success ratio, but its Total priority is better than node3; because node5 acts better than node3 in previous day for similar tasks in desired period. Therefore, based on Total priority, LS choose required nodes and then compute the average of four mentioned measures separately based on selected nodes to send to Meta- Scheduler. Meta-scheduler selects K Site based on gathered results from Local Schedulers (LSs) similar used method in each LS. For example, if LS want to select 3 nodes of five nodes from Table 2, it selects nodes 1, 2 and 4. So, the average of these criteria must be computed to send to Meta-scheduler (such as Table 3):
There is a local database (DB) in LS to record some information about its nodes. Each node has a unique record in LS’s DB that is updated periodically. When LS submits a task on a node, or task is successfully executed or failed by node, it will update this node’s Record in database. For all participant nodes (Provider nodes) we have used a specific application that called Provider Node Application (PNA). This application is considered for recording of full information about grid’s task. When LS wants to submit a new task on its site nodes, it delivers it to PNA. When PNA receives a new task, if there is enough resources to start new task, it should save all required data about submitted new grid task due to coming knowledge extraction, else if the resources on the node was insufficient, it does not save any things and inform this state to LS. Therefore, for every new submitted grid task, PNA record several important properties (such as Estimated Execution Time, CPU Load, Free memory (RAM), size of new task, task type, Total Deadline time, number of all local tasks with real-time priority, number of all grid tasks (in running, ready, waiting states), amount of Data Transmission Rate (DTR) about this node in the grid (DTR probably has upheaval in some times), start time of task execution, spend time for this task (only execution times and without any waiting times), completion time, final status of task (running, success, Abort or fail). Some of this information (e.g. spend and completion time, final status of task and so on) is saved after finishing task.
When Meta-scheduler chose master site and supporter sites, at the next, LS in master site distribute the tasks of job (submit task to a provider node). TABLE I. Node’s Name
PNA will do rough set on similar previous task (based on obtained information for new task from Scheduler) in order to get two rules: 1) when did node do successfully for similar tasks, 2) when similar tasks were failed. These rules are sent to LS to use in node allocation phase. By the way, for rough set analysis, discretization method, conditional and decision attribute is same in all provider nodes. Rough set analyzer has discretized all attributes, but it is not necessary to mention them here. For instance, we bring these rules in below.
Node1 Node2 Node3 Node4 Node5
THE GATHERED MEASURES FORM FIVE NODES
Success Ratio
89% 87% 84% 94% 75%
Success time consistency
ACTS
40 min 50 min 45 min 40 min 65 min
TABLE II.
7.89% 6.3% 2.9% 9.8% 7.6%
Crash time consistency
1.97% 0.65% 1.31% 0% 3.29%
GIVING PRIORITY FOR NODES BASED ON EACH MEASURE
IF Attr0.0= 15.0 and Attr2.0= 6.0 and Attr1.0= 2.0 and Attr2.0>= 11.0 and Attr2.0