International Journal of Advanced Engineering Science and Technological Research (IJAESTR) ISSN: 2321-1202, www.aestjournal.org @2016 All rights reserved
77
S1
S4
S6 S7 S5
S3 S2
ABSTRACT: - The static scheduling algorithms are generally used to calculate the performance of heterogeneous computing system. In such systems, a purpose of scheduling algorithm is to allocate tasks to an available processor so as to efficiently utilize this processor and to reduce the makespan. These solutions are used to bond the Pareto front to simply trade-off energy and performance. The novel algorithms are really scalable of both solution quality and computation time equated to current algorithms, completely as the problem size increases.
A scalable linear programming based resource allocation algorithm for HCS efficiently to compute high feature solutions for reducing makespan. The quality of the result also recovers as the size of the problem surges. The increasing costs and demand for energy for high-performance computing systems create difficult challenges for system administrators that are tedious to concurrently reduce operating costs and offer high-tech performance.
Keywords- High-performance computing; scheduling, resource management, bag-of-tasks, energy-aware, vector optimization, Heterogeneous computing System,Multiprocessor task scheduling, Static scheduling.
1. INTRODUCTION
Nowadays high-performance computing (HPC) systems frequently have hundreds of thousands of cores, processors, and machines. The need for these very large HPC systems is focused by increasingly large HPC workloads including potentially millions of tasks. The increase in computational capability of HPC systems
Figure 1: Directed Acyclic Graph (DAG).
also affects in a significant increase in its energy consumption. In multiprocessor computing system
numerous of tasks are running at the same time on parallel processors [6]. So, in the imperative to complete high performances in such system, scheduling plays an important role. A good scheduling approach helps in increasing the efficiency of a system and in the utilization of available resources in the best possible way.
Scheduling can be broadly classified as; static Scheduling and dynamic scheduling [12]. Static scheduling is also known as deterministic or offline [6]. So, in the imperative to complete high performances in a ruling. In such type of scheduling algorithm, scheduling is done at compile time and no runtime scheduling is done.
2. TASK SCHEDULING
The proficiency of executing parallel applications on the heterogeneous computing systems depends on the method used for scheduling the tasks of the parallel application onto the accessible processors.
Scheduling the task contains dividing the tasks into smaller subtasks. Dependencies among these subtasks are characterized using Directed acyclic graph (DAG). DAGs helps in finding the best solution for the multiprocessor task scheduling problem. Powerful an optimal solution for task scheduling problem is an NP-hard problem [13].
Efficient and scalable LP based resource allocation and makespan minimization in heterogeneous computing systems: A review
R.K .Baniyal
1, Manisha Rajoriya
21
Professor (CSE)Rajasthan technical university, Kota, Rajasthan, India
2
M.Tech Scholar, (CSE) Rajasthan technical university ,Kota, Rajasthan, India
[email protected]
International Journal of Advanced Engineering Science and Technological Research (IJAESTR) ISSN: 2321-1202, www.aestjournal.org @2016 All rights reserved
78
DAG is a directed graph which holds the set of edges and vertices. Starting node of the directed graph is known as an access node, it is a node without any parent node. A node with no child is known as the exit node. Figure 1 represents the DAG for seven tasks named S1, S2, S3, S4, S5, S6 and S7.Task scheduling strategies are required in distributed computing system where numerous of tasks are executed in same time. Task scheduling can be done in both homogeneously distributed computing system and in Heterogeneous distributed computing system.
2.1 Homogeneous Distributed Computing System (HMDCS)
A group of processors is attached to a high-speed network for completing the required task, is distinct from distributed computing system (DCS). HMDCS is a part of Distributed computing system. Includes a group of identical processors connected to a high- speed network. Tasks necessary to be allocated equally to among all the processors to achieve maximal utilization of all the available resources present in HMDCS [14]. Various examples of HMDCS algorithms are ISH, HLFET, TSB, MTSB etc.
2.2 Heterogeneous Distributed Computing System (HTDCS)
A heterogeneous computing (HC) system is like a virtual computer consist of a set of distributed heterogeneous machines that contribute their discrete computational power to the computational power of the accumulated system. HTDCS can be defined as the interconnection of several processors, having different computational speed. HTDCSs [14] are usually applicable in the commercial and technical research fields where, real-time security, robustness, and high performance, is the highest precedence.
Some instances if HTDCS algorithms [1] are SNLDD, ACS, Tabu Search, NSGA-II, etc.
3. EVALUATION OF STATIC SCHEDULING ALGORITHM
Task scheduling problem is the most reliable topic for research these days. Static task scheduling problem for multiprocessor many researchers have studied in this system.
Figure 2: A Taxonomy of Task scheduling
3.1 (HEFT) Algorithm
HEFT Algorithm was presented in 2005. Finishing off this algorithm takings place in two main phases:
task prioritizing phase and process selection phase. In the first phase, a priority of every task is intended. In second phase insertion of a task in an earliest idle time period which is created between two previously Scheduled task on a processor. HEFT scheduling algorithm [15] is valid for a bounded number of processors.
3.2 Monte Carlo Algorithm (MCA)
Due to applying probabilistic distribution approach Monte Carlo algorithm reduces the makespan.
Threshold values are used to optimize scheduling.
This algorithm is used avoids the complex computation with random variables. This algorithm was proposed by Wei Zheng and Rizos Sakellariou [5].
3.3 Critical Path on a Processor Algorithm This algorithm works in two phases i.e. task prioritizing and process selection, it is related to HEFT algorithm but using different approaches.
Task prioritization phase: - An importance queue is preserved with key values.
a) Upward rank b) Downward rank
Process selection phase: - if the selected path is on the critical path, then it is programmed on critical path processor (CPP); otherwise task is allotted to the processor which reduces the earliest finish
time(EFT) & earliest start time (EST) of the
task. Heterogeneous computing system work
on CPOP Algorithm [2].
International Journal of Advanced Engineering Science and Technological Research (IJAESTR) ISSN: 2321-1202, www.aestjournal.org @2016 All rights reserved
79
COMPARISION IN TASK SCHEDULING ALGORITHMS WITH SEVERAL ASPECTS
Sr.NO Algorithm Objectives Merits Future Enhancement
1 HEFT Minimizes running time Simplest algorithm of list scheduling
Reducing Time span 2 MCA To minimize the makespan Avoid the complex computation
with the random variable
Dynamic scheduling
3 CPOPA To minimize the
computation cost and time
higher communication to computation ratio (CCR)
Homogeneous system
4 HCPPEFT Improved average SLR, speedup
and efficiency
offers a more efficient way to schedule universal task graphs
Online Real-time system
5 HLFET Provide good scheduling Use static b-level level scheduling
Heterogeneous
6 LDCP To give optimum results Accurately identifies the tasks priorities
To generate high-quality task
7 SNLDD Afford noble Speedup, productivity, difficulty
Generate high-quality task schedule
Dynamic
8 ETF Minimize makespan and
completion time
complex multiprocessor scheduling problem
Heterogeneous
9 ISH Minimize makespan and
completion time
Utilizes idle time slots in scheduling
Heterogeneous and dynamic 10 CEFT To minimize the execution
time
Minimum threshold values for schedule length
Use to multiple constrained critical path in subsequent of the machine 11 MQGA Higher speed up on subtask
execution
Provides better solutions with shorter makespan
To make it work for online scheduling
12 TSA Finds global optimum
solution with shorter makespan time
Avoid local minima and attempts a global minimum
solution
Make it work for dynamic scheduling
13 MTSB Communication time is not considered
Provided shorter scheduling length
Can be applied in heterogeneous
environment
14 PGSA High performance,
scalability
Provides optimal solutions Dynamic system
15 PBSAA concurrent generation of sub-schedules
Produces good quality scheduling solutions
Heterogeneous and homogeneous 16 MIACUA Optimal assignment of
distributed tasks.
Reduces average time and space complexities
Dynamic system
17 TSB To provide an effective tasks order of execution on the
processors
Takes less scheduling length along BNP Class of scheduling
Work can be done to improve its scheduling
length
International Journal of Advanced Engineering Science and Technological Research (IJAESTR) ISSN: 2321-1202, www.aestjournal.org @2016 All rights reserved
80
3.4 Synthesized Heuristic Task Scheduling Algorithm (HCPPEFT)This algorithm [16] contains two phases, the task prioritizing phase, and the resource selection phase.
In the first phase, a new method is used according to which three
levels of importance are proposed to choose the task.
Fig. 3 Synthesized Heuristic Task Scheduling
3.5 Highest Level First with Estimated Time (HLFET)
This scheduling algorithm is used for homogeneous multiprocessor systems. HLEFT is a precedence based algorithm and usages static b-level priority. In this lowest start time of tasks is used as the precedence and hence, the task with the lowest priority is allocated to the first processor. HLEFT algorithm [17] does not apply idle time slot between the two processors and it is simplest list scheduling algorithm
3.6 Longest Dynamic Critical Path (LDCP) This algorithm is priority based and a new element is used to classify the importance of every task in HeDCS. LDCP algorithm [17] works in three phases;
1. Task selection phase: - DAG is constructed for each processor in the system.
2. Process selection phase: - It is a processor selection phase in this phase task is assigned to the processor which helps in reducing its time executing.
3. Status update phase: - status of the system is updated when a task is scheduled on the processor.
3.7 Sorted Nodes in Leveled DAG Division (SNLDD)
It is stationary task scheduling algorithm for HDCS and assigned algorithm [9] is defined as the high- performance task scheduling algorithm. The performance of SNLDD is best than LDCP with a
limited number of processors. In this algorithm DAG is separated into levels with considering the dependency precedence conditions among tasks. At each level task is sorted in descending order, rendering to their computation size.
3.8 Earliest Time First (ETF)
ETF algorithm is was proposed by Hwang [19] and similarly a priority created scheduling algorithm for the homogeneous method. In this algorithm, earliest start time is calculated and the least start time is selected for every task in prepared queue and processor is allocated to that task. But if in case double nodes have similar priority than the node using the greater static priority is scheduled first in comparison through the node with lesser static priority.
3.9 Insertion Scheduling Heuristic (ISH)
ISH algorithm overcomes the major drawback of HLEFT algorithm and It is based on HLEFT and it works like HLEFT for the primary node but once the idle slot is formed ISH checks whether several task in the ready queue can be implanted into the idle slot but cannot be scheduled prior on the new processors.
ISH algorithm [20] schedules such tasks as several as possible into the idle time slot thus, it utilizes the idle time slot [11] between processors.
3.10 Constrained Earliest Finish Time (CEFT) Algorithm
This approach was proposed by Minhaj Ahmad Khan [8] and it offers improved scheduling for heterogeneous systems by the concept of constrained critical paths (CCPs). This method helps in creating schedules with smaller makespan. CCPs is found in the particular DAG and before tasks are scheduled by the earliest finish time method.
3.11 Multipriority Queueing Genetic Algorithm (MPQGA) Algorithm
MPQGA is used for solving combinatorial optimization difficulties. It solves the difficulty in two phases:
MPQGA is a genetic search algorithm [12]
uses to generate multiple priorities queuing for HeDCS and parallel heterogeneous computing system.
HEFT algorithm phase is used for searching a solution for mapping tasks to processors.
3.12 Tabu Search Algorithm (TSA)
International Journal of Advanced Engineering Science and Technological Research (IJAESTR) ISSN: 2321-1202, www.aestjournal.org @2016 All rights reserved
81
Tabu search the algorithm is locality search method that efforts to find [12] the global optimum solution and escapes local optimum solution. It observes all of the changes are done in its instant area and then the change with which results in best makespan is considered between all such moves. It is mostly a technique that saves the track of previously searched result region in order to avoid repeating the search near these areas. Tabu search is a solution space search that saves the track of the areas of the solution space which have already been searched so as not to repeat a search near these areas [12]. A mapping uses the similar symbol as a chromosome in the GA approach.
3.13 Parallel Genetic Scheduling Algorithm (PGSA)
Proposed algorithms were projected by, Ishfaq Ahmad, Yu-Kwong, and Kwok [2]. This algorithm emphases on providing complete solutions by decreasing the computation time and gives absolute solutions. PGS algorithm produces scheduling list superior to other algorithms, developed so far and eventually results in optimum solutions for a given problem.
3.14 Multiprocessor Scheduling of Dependent Tasks to Minimize Makespan and Reliability Cost Using NSGA-II (MSNSGA-II)
To get the suboptimal solution in lowest time and also to select the highest optimal schedule, on- dominated Genetic Algorithm (NSGA-II) is used.
NSGA-II algorithm [7] uses crowding reserve technique to get diversity in solution. A single task at a particular time will execute in NSGA-II algorithm each machine. There is no dependency between the tasks. According to this algorithm, Exclusivity is used to remove the problem of damage of decent solutions.
3.15 Minimum Independent Assignment Cost Underestimate Algorithm (MIACUA)
MIACUA is another static scheduling approach which was proposed by J. B Sinclair [20] and it was planned with the objective of finding better assignments of spread tasks. MIACUA gives better results when is compared with further algorithms (proposed before MIACUA) of the similar class. In this algorithm, bound and branch technique is used with the aim of reducing the average time and space complexities and also for finding optimum assignments to the greater extent.
3.16 A Modified Task Scheduling Algorithm of Task Graph without Communication Time (MTSB)
MTSB algorithm is considered for homogeneous multiprocessor system for task scheduling. It is improved the form of task scheduling algorithm by means of breath first search i.e. TSB. With this modification, MTSB algorithm [4] provides smaller scheduling distance among all the BNP (bounded number of the processor) class of scheduling algorithms. HEFT, CPOP, HCPPEFT, CEFT, Monte Carlo, LDCP and SNLDD algorithms work in the heterogeneous computing system.
5. CONCLUSION AND FUTURE SCOPE
In this paper, several static scheduling algorithms for parallel computing system have been discussed. All of them achieves well on the origin of definite performance measures. All of them are compared on the basis of several performance evaluation features like makespan, computational cost speeds up ratio, execution time, efficiency and scheduling length ratio, etc. It has been originating that HMDCS algorithm works thriving with the tasks having same computational necessity. Also, genetic algorithms complete well in such systems. HTDCS algorithm works well where the computational necessity of given tasks are dissimilar.
REFERENCE
[1] Kalpana A.M., Avinash W. “Comparative Study of Static Task Scheduling Algorithms for Heterogeneous Systems”International Journal of Computer Science and Engineering (IJCSE), Vol. 5, No. 03, 2013.
[2] Kwok, Yu-Kwong, and Ishfaq A, "A Parallel Genetic- Search-Based Algorithm for Scheduling Arbitrary Task Graphs to Multiprocessors”, In Proceedings of the 9th
IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS'97), Vol.
13, 1997.
[3] Ranjit R, “A Novel Approach for Task Scheduling in Multiprocessor System”, International Journal of Computer Applications, Vol. 44, 2012.
[5] Wei Z and Rizos S, “Stochastic DAG scheduling using a Monte Carlo approach”, Journal of Parallel Distributed Computing, Vol. 73, 2013.
International Journal of Advanced Engineering Science and Technological Research (IJAESTR) ISSN: 2321-1202, www.aestjournal.org @2016 All rights reserved
82
[6] Mahfooz A and Ankur K.V “A Comparative Study of Interconnection Network”, International Journal of Computer Applications (0975 – 8887) Vol.127, No. 4, Pp.37-43, 2015.
[7] M. Rathna D and A.Anju, “Multiprocessor Scheduling of Dependent Tasks to Minimize Makespan and Reliability
Cost Using NSGA-II”, International Journal in Foundations of Computer Science & Technology (IJFCST), Vol.4, 2014.
[8] Chitra, Rajaram, and Venkatesh, “Application and comparison of hybrid evolutionary multi-objective optimization algorithms for solving task scheduling problem on heterogeneous systems”, Applied soft computing, Vol. 11, 2011.
[9] Nirmeen A. B., Magdy A.K., Mervat M. and Fatma O., “A new algorithm for static task scheduling for heterogeneous distributed computing systems”, African Journal of Mathematics and Computer Science Research Vol. 4, 2011.
[10] Kamaljit K, Amit C, and Gurvinder S,
"Heuristics-based genetic algorithm for scheduling static tasks in the homogeneous parallel system,
"International journal of computer science and security, Vol.4, 2010.
[11] Sang C K, Sunggu L and Jaegyoon H, "Push- Pull Deterministic Search-Based DAG Scheduling for HeterogeneousCluster Systems”, IEEE Transactions on Parallel and Distributed Systems, Vol. 18, 2007.
[12] Haluk T, Salim H, Min-You Wu, “Performance Effective and Low-Complexity Task Scheduling for Heterogeneous Computing”, IEEE transactions on parallel and Distributed systems, Vol. 13, 2002.
[13] Hou E S, Ansari N, Ren H, “A Genetic Algorithm for Multiprocessor Scheduling”, IEEE Transactions on Parallel and Distributed Systems, Vol.5, 1994.
[14] Tarek H, Jan J, “A Near Lower-Bound Complexity Algorithm for Compile-Time Task Scheduling in Heterogeneous Computing Systems”, Proceedings of the
ISPDC/HeteroPar’04 IEEE, 2004.
[15] Topcuoglu H, Hariri S, Wu MY,” Performance- Effective and Low Complexity Task Scheduling for Heterogeneous
Computing,” IEEE Transactions on Parallel Distributed Systems, Vol.13, 2005.
[16] Daoud MI, Nawwaf K, "A High-Performance Algorithm for StaticTask Scheduling In Heterogeneous Distributed
Computing Systems”, IEEE Transactions on Parallel Distributed Systems, Vol.28, 2007.
[17] Adam T L, Candy K M, Dickson J,”A Comparison of list Scheduling for parallel processing systems”, Communication of the ACM, Vol.17, 1974.
[18] Hwang J-J, Chow Y C, Anger F D, Lee C Y,"
Scheduling precedence graph with interprocessor communication time", SIAM Journal on Computing, Vol.18, 1989.
[19] Sinclair, J. B., "Efficient computation of optimal assignments for distributed tasks." Journal of Parallel and Distributed Computing, Vol.4, 1987.
[20] Yeshwant K, “Data Structure Using C”, BPB Publications 2003.