International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 4, Issue 6, June 2014)
471
Task Allocation Policy in Distributed Computing Using Refined
Heuristics
Prof. Rajesh Bharati
1, Minal Shahakar
2, Prof. Rupesh Mahajan
31 ,2,3
Pune University, Department of Computer Engineering, DYPIET, Pimpri, Pune.
Abstract—Task assignment in heterogeneous environment using various heuristic methods is based on MCT calculation and different task allocation policy, but still doesn’t achieve load balancing across system. This issue is address by our proposed load balancing techniques. Load balanced task allocation is very important problem in complex heterogeneous environment. So task allocation which is one of the NP-Complete problems becomes a focus of research scholars in distributed computing area. The traditional algorithms are simple algorithm that produces a schedule that minimizes the makespan than the other traditional algorithms in the literature. But it fails to produce a load balanced schedule. In this paper Average Load Balancing algorithm is being proposed that reduces the makespan and increases the resource utilization. The proposed method is based on average load calculation to use the unutilized resources effectively.
Keywords— Load Balancing, Enhanced Heuristic
Techniques, Heterogeneity, Task Scheduling, Makespan.
I. INTRODUCTION
Task allocation in distributed computing area is mainly based on calculation of minimum completion time require to execute that particular task. This task allocation is done by using various types of heuristics like minmin, maxmin, and sufferage. Some common terms that are used throughout this system are minimum completion time, opportunistic load balancing and maximum completion time that is makespan, based on these tasks are assigned to processor. Minmin heuristic selects tasks based on minimum completion time, maxmin heuristic selects tasks based on makespan that is overall completion time and sufferage heuristic selects task based on sufferage value that is difference between two MCT. Apart from this there are also enhanced heuristic like minmin+, maxmin+ and sufferage+, used for task allocation, this heuristics make use of queue implementation that will contain MCT values of all task in sorted order, which reduces time of calculating MCT value for each task, so these values are directly used further to assign task to processor. Once task is assigned to respective available resource it is deleted from queue, so that it indicates only those tasks that are not yet assigned to any processor.
This process is continued until all the tasks are assigned to respective available resources. This heuristics performs faster processing of task execution as compare to previous heuristics.
Scheduling of task is one of the important concepts in the area of distributed systems. It occurs whenever the large applications take place. Since this application is decompose into smaller task and scheduled to respective available resources. In this system various heuristics methods are used to schedule task to resources maintaining proper load balancing to make utilization of all the available resources. This task assignment is done on the basis of makespan. Makespan is an important term for the various heuristics methods. It is nothing but maximum of completion time of respective resource. Various types of heuristics methods in this system are like minmin, maxmin, and sufferage. These systems are already existing systems whereas advance heuristics are like minmin+, maxmin+, and sufferage+ that perform task assignment faster reducing time complexity. Since Hybrid heuristic is one of the concept among these heuristics. It is nothing but combination of various heuristics methods, also called as randomize heuristic [1, 2].
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 4, Issue 6, June 2014)
472
Task allocation is achieved by existing systems but doesn’t provide load balancing that is during allocation of task it may happen that some of the resources remain idle that may result into poor system performance. This load balancing problem is achieved by our proposed heuristics approach that is Average load balancing. In average load balancing average load of tasks on available resource is calculated to choose best processor for execution of particular task in less time. This approach provides better results as compare to other heuristics algorithms.
II. LITERATURE REVIEW
Task allocation to available resources using various heuristics is done which is related to Batch mode is very suitable for scheduling algorithms that also work well in heterogeneous environment.
M. Maheswaran. [2], have proposed that the Minmin heuristic starts with a set of all unmapped tasks. The machine that has the minimum completion time for all jobs is selected. Then the job with the overall minimum completion time is selected and mapped to that resource. The ready time of the resource is updated. This process is repeated until all the unmapped tasks are assigned. Compared to MCT this algorithm considers all jobs at a time. So it produces a better makespan, in other words it begins with the set U of all unmapped tasks. Then, the set of minimum completion times, i.e. for each task is found. Next, the task with the overall minimum completion time from metatask is selected and assigned to the corresponding machine (hence the name Minmin).
Doreen. D et al. [7], have proposed an efficient Set Pair Analysis (SPA) based task scheduling algorithm named Double Minmin Algorithm which performs scheduling in order to enhance system performance in Hypercubic P2P Grid (HPGRID). The simulation result shows that the SPA based Double Minmin scheduling minimizes the makespan with load balancing and guarantees the high system availability in system performance.
He. X et al. [10], have presented a new algorithm based on the conventional Minmin algorithm. The proposed algorithm which is called QoS guided Minmin, schedules tasks requiring high bandwidth before the others. Therefore, if the bandwidth required by different tasks varies highly, the QoS guided Minmin algorithm provides better results than the Minmin algorithm. Whenever the bandwidth requirement of all of the tasks is almost the same, the QoS guided Minmin algorithm acts similar to the Minmin algorithm.
Kamalam et al.[11], presents a new scheduling algorithm named Min-mean heuristic scheduling algorithm for static mapping to achieve better performance. The proposed algorithm reschedules the Minmin produced schedule by considering the mean makespan of all the resources. The algorithm deviates in producing a better schedule than the Minmin algorithm when the task heterogeneity increases.
Sameer Singh et al.[12], have presented two heuristic
algorithms: QoS Guided Weighted Mean
Time-Min(QWMTM) and QoS Guided Weighted Mean Time Minmin Maxmin Selective(QWMTS). Both algorithms are for batch mode independent tasks scheduling. The network bandwidth is taken as QoS parameter.
Singh.M et al.[13], present a QoS based predictive Maxmin, Minmin Switcher algorithm for scheduling jobs in a grid. The algorithm makes an appropriate selection among the QoS based Maxmin or QoS based Minmin algorithm on the basis of heuristic applied, before scheduling the next job. The effect on the execution time of grid jobs due to non-dedicated property of resources has also been considered. The algorithm uses the history information about the execution of jobs to predict the performance of non-dedicated resources.
Yagoubi. B et al.[15], have offered a model to demonstrate grid architecture and an algorithm to schedule tasks within grid resources. The algorithm tries to distribute the workload of the grid environment amongst the grid resources, fairly. Although, the mechanism used here and other similar strategies which try to create load balancing within grid resources can improve the throughput of the whole grid environment, the total makespan of the system does not decrease, necessarily.
III. PROBLEM DEFINITION
A scheduling problem is considered where tasks are to be allocated immediately to the available resources in a heterogeneous environment [8]. The tasks have to be assigned and completed on a unique resource. There are no dependencies between tasks that is each task is independent. In the proposed system, algorithms have been developed under a set of assumptions as mentioned below:
The applications that should be executed are
collection of indivisible tasks that are independent form each other, usually referred to as metatask.
Tasks don’t have any deadlines or priorities allocated
with them.
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 4, Issue 6, June 2014)
473
The number of machines and the size of the
meta-tasks in the heterogeneous computing environment is known.
Since these assumptions are well satisfied by advance scheduling algorithms wherein load balancing concept is also used to keep all the resources busy.
IV. TASK ALLOCATION HEURISTICS
Heuristics like minmin, maxmin and sufferage allocates task to available resources and are easy to implement but are not suitable for large scale applications that is applications with large number of tasks, also it increases execution time that is time complexity, these problems are addressed by enhanced heuristics that provides the results within less time without degrading system performance, making utilization of all the available resources.
A. Minmin+ Heuristic
In this heuristic queue implementation is being done to store sorted MCT values that is task are allocated to available resources based on MCT values, so instead of searching minimum value from these MCT value, a queue is being implemented that contain all the MCT value in sorted order, so that minmin+ heuristic uses this values and based on current load of processor, it decides whether the task should be allocated or not to available resources. These steps are shown below in following algorithm:
Algorithm: Minmin+ Heuristic
1. for all unassigned tasks Ti
2. Find the minimum MCT values.
3. for all processors Pk
4. Calculate completion time
Cik = Eik + Rk
5. If current load Lk and computation time x of Pk is less than threshold value then
6. Assign task with minimum completion time
to Pk
7. Task id of assigned task to processor is
returned
8. Delete task Ti from queue
9. Update ready time of processor
As shown in algorithm minmin+ begins by finding tasks that contains minimum completion time. The task having minimum completion time is selected and assign to processor based on current load of processor that is current load on available resource must be less then threshold value so that task execution becomes faster. Once the best processor is find, task with minimum completion time is allocated to that processor.
Finally task id is returned so that the allocated task can be deleted from set of metatask as well as MCT of allocated task from queue.
B. Maxmin+ Heuristic
Maxmin+ heuristic is somewhat different then minmin+ in task allocation policy, that is, it allocates task based on the makespan. Makespan can be defined as maximum of overall completion time. In other words task having highest MCT value is allocated for best processor. Similar to minmin+, maxmin+ also make use of queue that contains sorted MCT values. The steps for this heuristic are shown below in following algorithm:
Algorithm: Maxmin+ Heuristic
1. for all unassigned tasks Ti
2. makespan ← 0
3. While queue is not empty do 4. for all processors Pk
5. Calculate MCT of task
6. If current load Lk and computation time x < threshold then
7. Select task Ti with MCT and processor Pk for task
assignment
8. If current load and execution time > makespan then
9. for all unassigned tasks Ti
10. for all processors Pk
11. If threshold > than makespan
12. Makespan ← Lk + ek
13. Pk ← Ti with max MCT
14. Update ready time of processor
As shown in above steps maxmin+ begins by selecting task having maximum value of overall completion time. It makes use of some steps that are used by simple maxmin MCT to find makespan. Since this makespan is compared with current load of processor and execution time required for task to choose the best resource among all the available resources for faster execution. Once the makespan value is find, it is compared with threshold value and value of makespan is updated, finally the best processor is selected and task with max MCT value is allocated and the ready time of processor is updated.
C. Sufferage+ Heuristic
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 4, Issue 6, June 2014)
474
Sufferage value can be defined as difference between two MCT values. And task having highest sufferage value is allocated to best processor. These steps are shown below in algorithm:
Algorithm: Sufferage+ Heuristic
1. for all unassigned tasks Ti
2. makespan ← 0
3. Find the sufferage value and processor Pk.
4. for all processors Pk
5. Calculate MCT value
6. If current load Lk and computation time x of Pk < threshold then
7. If current load and execution time > makespan then
8. for all tasks Ti
9. Calculate sufferage value:
suffvalue = Second_MCT –First_MCT
10. Find task with highest sufferage value
11. Initialize makespan with current load and
execution time 12. Pk ← Ti
13. Update ready time of processor Pk
As shown in above steps after the MCT values are calculated, for each task sufferage value is calculated as difference between two MCT and task with highest sufferage value is selected. And again the current load of processor computation cost is compared with threshold value, if it is less than again it is compared with makespan, after this sufferage value is calculated and makespan is updated. Since the best processor is selected for allocating task Ti and the ready time of processor is updated.
All these heuristics allocates task to available resources but still doesn’t utilize all the resources fully, due to which computation time increases and system performance becomes poor. This problem is addressed by our design approach that is Average load balancing heuristic that minimizes makespan by making utilization of all the available resources.
V. LOAD BALANCING APPROACH
Load balancing can be defined as a method to distribute incoming socket connections to different servers. Incoming socket connections are spread out to different servers. Each incoming connection will communicate with the node it was delegated to, and the entire interaction will take place. The load balancing operations may be centralized in a single processor or distributed among all the processing elements that participate in the load balancing process.
Random load balancing works rather well when the loads of all the processors are relatively high, that is, when it does not make much difference where a job is executed. In many heuristic approaches combination of load balancing is applied that is once task is allocated to processor again the load balancing approach is applied to minimize makespan. Since to make utilization of all the resources more effectively one such approach is proposed in our work that is described in following section.
D. Load Balancing Heuristics
In this paper, our heuristic approach is designed to maintain proper load balancing across system. Apart from making utilization of all the resources, average load of each available resource is calculated as well to ensure that, whether the task should be allocated to that processor or not. The details of this heuristic are shown in following steps of algorithm.
Algorithm: Average Load Balancing Heuristic
1. for all unassigned tasks Ti 2. for all processors Pk 3. ifek + Li < min
4. Calculate current load of processor Pk
ek ← ek + Li
5. min ← ek
6. k’ ← k
7. for all processors Pj
10. while j < k do 11. Assign Pj ← Ti 12. Initialize ejʹ ← ej
This heuristic selects processor by calculating current and average load on all the available processors for each unassigned task. Once average load is calculated it is compared with min value that is threshold value, if it is less than min value then min value is updated by current load. Since, average load is calculated using following equation:
∑
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 4, Issue 6, June 2014)
475
VI. RESULTS
[image:5.612.333.556.210.351.2]Evaluation of our proposed system, results in effective utilization of resources. Enhanced heuristic results show reduced makespan. We have developed interactive software in JAVA to execute algorithms. The results obtained (in sec) for the Enhanced algorithms are shown in the form of graph.
Figure 1: Graphical Representation of Minmin+ Heuristic
[image:5.612.55.280.226.368.2]As shown in figure 1 according to minmin+ heuristic tasks are allocated to their best selected nodes, as task 1 is allocated to node 3, task 2 is allocated to node 1, task 3 is allocated to node 2 and so on. In this MCT values are calculated of each task and task with minimum MCT is being selected for allocation to node. In this minimum task get processed faster but task with maximum MCT has to wait for longer time.
Figure 2: Graphical Representation of Maxmin+ Heuristic
Similar to minmin+, maxmin+ results are shown in graphical format in figure 2. In this makespan is calculated, that is after calculating MCT values, task with maximum of these values is being selected as makespan and allocated to nodes. Still the resource utilization is not achieved to maintain load balance across system.
Figure 3: Graphical Representation of Sufferage+ Heuristic
As shown in figure 3 sufferage+ differs in task allocation policy. In this sufferage value is calculated as difference between two MCT values and compared with makespan as well as current load of nodes and based on these the best node is selected for allocation.
In all above results all the nodes are not utilized fully to maintain load balance across system. To address this issue, our designed approach provides better results as shown in figure 4. It makes utilization of all nodes, in figure these nodes are shown as processors.
[image:5.612.58.277.485.643.2] [image:5.612.332.555.494.643.2]International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 4, Issue 6, June 2014)
476
In this approach we calculated average load of all processors for each task to ensure that on which processor task execution can become faster. Since shown as in figure 4 graph is made up of processor load and tasks that is as we know the initial load of processors, as a result, we have shown processors current load values that are achieved after allocation of task. Since due to proper resource utilization tasks are being executed faster addressing the issues of previous heuristics.
VII. CONCLUSION
In this paper we have proposed a completely new approach for load balancing using average load calculation of task on each processor. Distribution of task in heterogeneous environment is done using various heuristic methods like minmin, maxmin and sufferage heuristic.
Enhanced heuristic presents certain performance
improvements over existing heuristics by providing the better results in minimum time. Also this heuristic improves the worst case runtime complexity in assigning N independent tasks to K processors. Moreover, the heuristic MaxMin+ and Sufferage+ heuristics, which are hybrid versions of MaxMin and Sufferage, obtained by combining the latter heuristics with MinMin and combines the advantages of minmin and maxmin and overcomes the disadvantages of these heuristic algorithms. Still this heuristics doesn’t provide proper load balancing which is overcome by our designed algorithm that is Average Load Balancing which calculates load on each machine and allocates tasks accordingly. We intend to use this new load balancing heuristic in an actual grid environment for practical evaluation and theoretical refinement.
REFERENCES
[1] Kamali Gupta, Manpreet Singh, ―Heuristic Based Task Scheduling In Grid‖, International Journal of Engineering and Technology (IJET), vol. 4, pp. 254-260, Aug-Sep 2012.
[2] M. Maheswaran, S. Ali, H. J. Siegel, D. Hensgen, and R. F. Freund, ―Dynamic mapping of a class of independent tasks onto heterogeneous computing systems‖, J. Parallel Distrib. Comput., vol. 59, pp. 107131, 1999.
[3] H. J. Siegel and S. Ali, ―Techniques for mapping tasks to machines in heterogeneous computing systems‖, J. Syst. Archit., vol. 46, no. 8, pp. 627639, 2000.
[4] T. Kokilavani, Dr. D.I. George Amalarethinam, ―Load Balanced Min-Min Algorithm for Static Meta-Task Scheduling in Grid Computing‖, International Journal of Computer Applications, vol. 20, April 2011.
[5] George Amalarethinam. D.I, Vaaheedha Kfatheen .S, ―Max-min Average Algorithm for Scheduling Tasks in Grid Computing Systems‖, International Journal of Computer Science and Information Technologies, Vol. 3, pp. 3659-3663, 2012.
[6] K. Kaya, B. Ucar, and C. Aykanat, ―Heuristics for scheduling file-sharing tasks on heterogeneous systems with distributed repositories‖, J. Parallel Distrib. Comput., vol. 67, no. 3, pp. 271285, 2007.
[7] Doreen Hephzibah Miriam. D and Easwarakumar. K.S, ―A Double Min Min Algorithm for Task Metascheduler on Hypercubic P2P Grid Systems‖, IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010.
[8] He. X, X-He Sun, and Laszewski. G.V, ―QoS Guided Minmin Heuristic fr Grid Task Scheduling‖, Journal of Computer Science and Technology, Vol. 18, pp. 442-451, 2003.
[9] T. D. Braun,H. J. Siegel,N. Beck, L. L. Boloni, ―A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems‖, J. Parallel Distrib. Comput., vol. 61, no. 6, pp. 810837, 2001.
[10] Doreen Hephzibah Miriam. D and Easwarakumar. K.S, \A Double Min Min Algorithm for Task Metascheduler on Hypercubic P2P Grid Systems", IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 4, No 5, July 2010.
[11] He. X, X-He Sun, and Laszewski. G.V, \QoS Guided Minmin Heuristic for Grid Task Scheduling", Journal of Computer Science and Technology, Vol. 18, pp. 442-451, 2003.
[12] Kamalam.G.K and Muralibhaskaran.V, , \A New Heuristic Approach:Min- Mean Algorithm For Scheduling Meta-Tasks On Heterogenous Computing Systems", International Journal of Computer Science and Network Security, VOL.10 No.1, January 2010.
[13] Sameer Singh Chauhan,R. Joshi. C, \QoS Guided Heuristic Algorithms for Grid Task Scheduling", International Journal of Computer Applications (09758887), pp 24-31, Volume 2, No.9, June 2010.
[14] Singh. M and Suri. P.K, \QPS A QoS Based Predictive Max-Min, Min-Min Switcher Algorithm for Job Scheduling in a Grid", Information Technology Journal, Vol. 7, pp. 1176-1181, 2008. [15] Yagoubi. B, and Slimani. Y, \Task Load Balancing Strategy for Grid