A Review of Multiprocessor Directed Acyclic Graph (DAG) Scheduling Algorithms

Similar documents
Task Graph Scheduling on Multiprocessor System using Genetic Algorithm

Grid Scheduling Strategy using GA (GSSGA)

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

A Duplication Based List Scheduling Genetic Algorithm for Scheduling Task on Parallel Processors

HYBRID GASA FOR BI-CRITERIA MULTIPROCESSOR TASK SCHEDULING WITH PRECEDENCE CONSTRAINTS

A Genetic Algorithm for Multiprocessor Task Scheduling

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

Genetic algorithm based on number of children and height task for multiprocessor task Scheduling

Fuzzy Inspired Hybrid Genetic Approach to Optimize Travelling Salesman Problem

Comparative Study of Static Task Scheduling Algorithms for Heterogeneous Systems

Reduce Total Distance and Time Using Genetic Algorithm in Traveling Salesman Problem

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Hybrid of Genetic Algorithm and Continuous Ant Colony Optimization for Optimum Solution

Optimal Reactive Power Dispatch Using Hybrid Loop-Genetic Based Algorithm

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function

Implementation of Dynamic Level Scheduling Algorithm using Genetic Operators

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

CHAPTER 4 GENETIC ALGORITHM

A Modified Genetic Algorithm for Process Scheduling in Distributed System

Evolutionary Computation Algorithms for Cryptanalysis: A Study

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Genetic Approach to Parallel Scheduling

A study of hybridizing Population based Meta heuristics

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Network Routing Protocol using Genetic Algorithms

Genetic Algorithm Parameters Optimization for Bi-Criteria Multiprocessor Task Scheduling Using Design of Experiments

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

Optimization of Makespan and Mean Flow Time for Job Shop Scheduling Problem FT06 Using ACO

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization

A Novel Task Scheduling Algorithm for Heterogeneous Computing

A SURVEY OF COMPARISON BETWEEN VARIOUS META- HEURISTIC TECHNIQUES FOR PATH PLANNING PROBLEM

The movement of the dimmer firefly i towards the brighter firefly j in terms of the dimmer one s updated location is determined by the following equat

A Hybrid Genetic Algorithm for the Distributed Permutation Flowshop Scheduling Problem Yan Li 1, a*, Zhigang Chen 2, b

A Survey of Evolutionary Heuristic Algorithm for Job Scheduling in Grid Computing

DERIVATIVE-FREE OPTIMIZATION

Algorithm Design (4) Metaheuristics

A Modified Genetic Algorithm for Task Scheduling in Multiprocessor Systems

Escaping Local Optima: Genetic Algorithm

Scheduling of Independent Tasks in Cloud Computing Using Modified Genetic Algorithm (FUZZY LOGIC)

Non-deterministic Search techniques. Emma Hart

Segmentation of Noisy Binary Images Containing Circular and Elliptical Objects using Genetic Algorithms

LOW AND HIGH LEVEL HYBRIDIZATION OF ANT COLONY SYSTEM AND GENETIC ALGORITHM FOR JOB SCHEDULING IN GRID COMPUTING

Genetic Algorithm for Circuit Partitioning

Effectual Multiprocessor Scheduling Based on Stochastic Optimization Technique

COLLEGE TIMETABLE SCHEDULING USING OPTIMISTIC HYBRID SCHEDULING ALGORITHM

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Using Genetic Algorithms to optimize ACS-TSP

Efficient Load Balancing and Fault tolerance Mechanism for Cloud Environment

Solving ISP Problem by Using Genetic Algorithm

International Journal of Current Research and Modern Education (IJCRME) ISSN (Online): & Impact Factor: Special Issue, NCFTCCPS -

Workflow Scheduling Using Heuristics Based Ant Colony Optimization

Generation of Ultra Side lobe levels in Circular Array Antennas using Evolutionary Algorithms

Khushboo Arora, Samiksha Agarwal, Rohit Tanwar

Hybrid Task Scheduling Method for Cloud Computing by Genetic and PSO Algorithms

Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems

FOREST PLANNING USING PSO WITH A PRIORITY REPRESENTATION

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

Hybrid of Ant Colony Optimization and Gravitational Emulation Based Load Balancing Strategy in Cloud Computing

A Genetic Algorithm Approach to the Group Technology Problem

Available online at ScienceDirect. Procedia CIRP 44 (2016 )

Robust Descriptive Statistics Based PSO Algorithm for Image Segmentation

Optimization Technique for Maximization Problem in Evolutionary Programming of Genetic Algorithm in Data Mining

International Journal of Information Technology and Knowledge Management (ISSN: ) July-December 2012, Volume 5, No. 2, pp.

Innovative Systems Design and Engineering ISSN (Paper) ISSN (Online) Vol.5, No.1, 2014

Genetic Algorithms Variations and Implementation Issues

B. System Model A (homogeneous multiprocessor system is composed

Reference Point Based Evolutionary Approach for Workflow Grid Scheduling

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Hybrid Bee Ant Colony Algorithm for Effective Load Balancing And Job Scheduling In Cloud Computing

Solving the Multi Objective Flexible Job Shop Problem Using Combinational Meta Heuristic Algorithm Based on Genetic Algorithm and Tabu-Search

Solving Economic Load Dispatch Problems in Power Systems using Genetic Algorithm and Particle Swarm Optimization

ADAPTIVE AND DYNAMIC LOAD BALANCING METHODOLOGIES FOR DISTRIBUTED ENVIRONMENT

Kyrre Glette INF3490 Evolvable Hardware Cartesian Genetic Programming

Particle Swarm Optimization Approach for Scheduling of Flexible Job Shops

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

A Binary Model on the Basis of Cuckoo Search Algorithm in Order to Solve the Problem of Knapsack 1-0

A Study on Optimization Algorithms for Clustering Gene Expression Data

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Using Genetic Algorithm for Load Balancing in Cloud Computing

QUANTUM BASED PSO TECHNIQUE FOR IMAGE SEGMENTATION

A Novel Approach to Solve Unit Commitment and Economic Load Dispatch Problem using IDE-OBL

Scheduling Using Multi Objective Genetic Algorithm

Argha Roy* Dept. of CSE Netaji Subhash Engg. College West Bengal, India.

SIMULATION APPROACH OF CUTTING TOOL MOVEMENT USING ARTIFICIAL INTELLIGENCE METHOD

Genetic Algorithm for Job Shop Scheduling

PATH PLANNING OF ROBOT IN STATIC ENVIRONMENT USING GENETIC ALGORITHM (GA) TECHNIQUE

Heuristic Optimisation

Scheduling in Multiprocessor System Using Genetic Algorithms

METHODOLOGY FOR SOLVING TWO-SIDED ASSEMBLY LINE BALANCING IN SPREADSHEET

Research Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003

A CRITICAL REVIEW OF THE NEWEST BIOLOGICALLY-INSPIRED ALGORITHMS FOR THE FLOWSHOP SCHEDULING PROBLEM

Hybrid Flowshop Scheduling Using Discrete Harmony Search And Genetic Algorithm

Dr. Ramesh Kumar, Nayan Kumar (Department of Electrical Engineering,NIT Patna, India, (Department of Electrical Engineering,NIT Uttarakhand, India,

Analysis of Various Alternate Crossover Strategies for Genetic Algorithm to Solve Job Shop Scheduling Problems

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

Evolutionary Methods for State-based Testing

Transcription:

A Review of Multiprocessor Directed Acyclic Graph (DAG) Scheduling Algorithms Shivani Sachdeva 1, Poonam Panwar 2 1 M.Tech Student, 2 Assistant Professor, Deptt. of Comp. Sc. & Engg, Ambala College of Engg and Applied Research, Ambala, India. shivani.sachdeva91@gmail.com, rana.poonam1@gmail.com Abstract: Scheduling parallel tasks on multiprocessor systems is to allocate a set of tasks to processors such that the optimal usage of processors and accepted computation time for scheduling algorithm are obtained. In multiprocessor systems, an efficient scheduling of a parallel program onto the processors that minimizes the entire execution time is vital for achieving a high performance. The need for a scheduling algorithm arises from the requirement for most modern systems to perform multitasking. A multiprocessor system can be homogeneous (i.e. having all processors of same capability) or heterogeneous (i.e. having processors of different capabilities) nature. In literature several algorithms are proposed to find optimal solution of multiprocessor task scheduling algorithms. So, in present study we have reviewed various multiprocessor scheduling approaches to find their drawbacks so that an efficient heuristic based algorithm can be developed for obtaining optimal solution for these problems. Index Terms: Directed Acyclic Graph (DAG), Scheduling, Genetic Algorithm (GA), Selection, Crossover, Mutation. I. INTRODUCTION The scheduling in multiprocessors systems is assigning the tasks in the system in a manner that will optimize the overall performance of the application, while assuring the correctness of the result. This is usually done to load balance and share system resources effectively or achieve a target quality of service. Multiprocessor scheduling algorithm is typically to schedule all the subtasks on a given number of available processors in order to minimize makespan without violating precedence constraints [1]. A multiprocessor task scheduling problem can be represented as directed acyclic task graph (DAG), for execution on multiprocessors with communication costs [2]. Figure 1.. An Example of DAG Directed Acyclic Graph (DAG) A directed acyclic graph (DAG) is a directed graph with no cycles. It is formed by a collection of vertices and directed edges. DAGs may be used to model many different kinds of information. A collection of tasks that are ordered into a sequence, subject to constraints that some tasks must be performed earlier than others, may be Page 67

represented as a DAG with a vertex for each task and an edge for each constraint. An application can be represented by a DAG as in Figure 1, with the vertices representing subtasks and edges between vertices representing execution precedence between subtasks. A weight is associated with each vertex and edge. In Figure 1, the vertex weight represents the amount of computation to be performed by the subtask, while the edge weight represents the amount of communication between subtasks and subtask. Our goal is to find a schedule which is a mapping of tasks to processors that minimizes the makespan. A parallel and distributed computing system could be a homogeneous or heterogeneous system: Homogeneous Multiprocessors Scheduling in homogeneous multiprocessor systems is an important computing problem, because task scheduling problem is an NP-Hard problem. Homogeneous computing refers to the system that uses same kind of processors to minimize possible time required to schedule all jobs on similar type of processors. Minimizing the execution time of the parallel program is the aim of scheduling. Scheduling is done so that any task can process with minimum waiting time for processing tasks that dependent to them, according to dependencies between tasks in the task graph. The critical aim of a scheduler is thus to assign partitioned tasks to available processors in a manner such that: 1. The requirements (or constraints) of precedence between these tasks are met. 2. The resulting overall length of time required to execute the entire program, the schedule length or make span, is minimized [3, 4]. Heterogeneous Multiprocessors Heterogeneous computing refer to the system that uses different kind of processors to minimize possible time required to schedule all jobs on different types of processors. Heterogeneous systems have different processing capabilities in the target system. In general, the processors are connected by a network, which is either fully connected or partially connected. One of the key disadvantages of heterogeneous multiprocessor design is the need to use a different software development tool set (operating system, compiler, assembler, debugger, instruction-set simulator, etc.) for each of the different processors used in the system design [5, 6, 7]. II. VARIOUS TECHNIQUES TO SOLVE MULTIPROCESSORS SCHEDULING PROBLEMS There are deterministic approaches and non-deterministic approaches for solving the task-scheduling problem: Deterministic Approaches An algorithm is referred to as a deterministic algorithm if given a specific input it will always produce the same output and the underlying machine always passes through the same sequence of states. Most of the deterministic algorithms are based on a greedy strategy, which merely attempts to minimize the finishing time of the tasks in such a way that tasks are allocated to the parallel processors without backtracking. Scheduling is usually handled by heuristic methods algorithms are list scheduling algorithm, clustering algorithm, and task duplication algorithm. However, these deterministic algorithms can only solve certain cases efficiently and cannot preserve the consistent performance on a broad range of problems due to the greedy property. -List scheduling algorithm The search in list scheduling algorithms is divided into two phases: In the phase first, each subtask is assigned a priority and then added to a list of waiting subtasks in order of decreasing priority according to certain criteria. In the phase second, as processors become available, the subtask with the highest priority is selected and assigned to the processor e.g. MH [8], Time placement problem [9], HEFT [10,11], CPOP [10,11]. -Clustering algorithm These algorithms assume that there is enough number of processors available to the subtask execution. In the clustering algorithms use as many processors as possible in order to reduce the makespan of the schedule e.g. A k-means Clustering algorithm [12]. -Task duplication algorithm It attempts to reduce communication delays by executing a key subtask on more than one processor e.g. Optimal Scheduling [13]. Page 68

Non-Deterministic Approaches A non-deterministic algorithm differs from a deterministic algorithm in its capability to produce various outcomes depending on the choices that it makes during execution. Currently, non-deterministic algorithms have been used to solve a wide range of combinatorial problems, which take more time to explore the solution space for a high-quality solution. To solve the scheduling problem, several research studies have been performed based on non-deterministic algorithms, such as genetic algorithms, ant colony optimization algorithms (ACO), and particle swarm optimization algorithms (PSO), artificial bee colony algorithm (ABC), simulated annealing (SA), cuckoo search algorithm (CS), tabu search (TS), evolution algorithm which apply randomized search techniques in the search process. -Particle Swarm Optimization (PSO) PSO is a population based search algorithm based on the simulation of birds with in a flock. The initial intent of the particle Swarm concept was to graphically simulate the graceful and unpredictable choreography of a bird flock, with the objective of discovering patterns that govern the ability of birds to fly synchronously and to suddenly change direction with a regrouping in an optimal formation e.g. In Electromagnetics [14]. -Ant Colony Optimization (ACO) ACO is inspired by behaviour of real ants moving about in search of food. Ants while moving in search of food deposit a pheromone along the path they move with the objective of selecting a path with greater amount of pheromone by new ant e.g. Routing and load balancing [15]. -Tabu Search Tabu Search is an iterative neighbourhood search algorithm, where the neighbourhood changes dynamically. Tabu Search enhances local search by actively avoiding points in the search space already visited e.g. p-median Problem [16]. -Simulated Annealing Simulated Annealing is an optimization process based on the physical process of formation of crystals in solids while cooling. Simulated Annealing is an algorithm implementation of the cooling process to find the optimum of an objective function e.g. Transmission System Expansion Planning [17]. -Random Search Random search is an extremely basic method. This method only explores the search space by randomly selecting solutions and evaluates their fitness. This is quite an unintelligent strategy, and is rarely used by itself. It doesn t take much effort to implement it and an important number of evaluations can be done fairly quickly. For new unresolved problems, it can be useful to compare the results of a more advanced algorithm to those obtained just with a random search for the same number of evaluations e.g. Global Optimization [18]. -Genetic Algorithm (GA) In our work we are planning to use GA, so GA are discussed in some detail in task scheduling. The term genetic algorithm stands for a broad class of algorithms, which exploits an analogy to natural evolution. There is a set of individuals called population, which is initialized at random and maintained according to the survival of the fittest principle. Genetic Algorithms (GAs) stand up as a powerful tool for solving search and optimization problems. GAs are based on the principle of evolution and genetics. GAs is used to resolve complicated optimization problems, such as, job-shop scheduling, timetabling, games playing, etc. GA handles a population of possible solutions. Each solution in GA are represented through a chromosome. In GA coding of all the possible solutions into a chromosome is the first phase, but certainly not the most straightforward one of a Genetic Algorithm (GA). A set of reproduction operators has to be determined, too. On the chromosomes, reproduction operators are applied directly and are used to perform mutations and recombination s over solutions of the problem. For genetic algorithm, a randomly generated initial population of search nodes is required. The flowchart showing the process of GA is shown as in Figure 2 [19]. The basic genetic algorithm is as follows [19]: Page 69

Figure 2. Working of Genetic Algorithm Initial Population Start with a randomly generated population of n, l-bits chromosomes which are initially selected candidate solutions i.e. called gene pool. Fitness Function Calculate fitness function of each chromosome in the gene pool. Multiprocessor scheduling problem will also consider factors such as throughput, finishing time and processor utilization. Genetic algorithm is based on finishing time of a schedule. The finishing time of a schedule, S is defined as follows: Where, is the finishing time for the last task in processor. Genetic Operators Function of genetic operators [19] is to create new search nodes based on the current population of search nodes. Various genetic operators are described below. Selection It is the process of choosing two parents from the population for crossing. After deciding on an encoding, the next step is to decide how to perform selection i.e., how to choose individuals in the population that will create offspring for the next generation and how many offspring each will create. Crossover It is a recombination operator that proceeds in three steps: 1. The reproduction operator selects at random a pair of two individual strings for the mating. 2. A cross site is selected at random along the string length. 3. Finally, the position values are swapped between the two strings following the cross site. Page 70

Chromosome1 1101 0010 Chromosome2 1011 1100 Offspring1 1101 1100 Offspring2 1011 0010 Figure 3 Crossover Mutation It alters one or more gene values in a chromosome from its initial state. In mutation, the solution may change entirely from the previous solution. Hence GA can come to better solution by using mutation. Mutation of a bit involves flipping a bit, changing 0 to 1 and vice-versa. Original Chrom 111011010 Mutated Chrom 101011011 Genetic Algorithm in Brief The genetic algorithm can be summarized in brief as Figure 4 Mutation 1. [Initialize] 2. [Fitness] Compute fitness values for each string in the initial population. 3. [New Population] Create a new population by repeating steps 4 to 7 until the new population is complete. 4. Perform Selection 5. Perform Crossover 6. Perform Mutation 7. [Accepting] Place new offspring in the new population and discard old ones having worst fitness value. 8. [Terminate] If the end condition is satisfied, stop. III. CONCLUSION In this paper we described various multiprocessor scheduling algorithms proposed in literature which are used to schedule various tasks represented by DAG on multiprocessor systems. We have also discussed briefly various heuristic approaches of scheduling in this paper and in future we are planning to generate an efficient algorithm using GA to schedule task on multiprocessor system for obtaining optimal makespan in minimum time. Page 71

IV. REFERENCES [1] Xu, Yuming, Kenli Li, Jingtong Hu, and Keqin Li. "A genetic algorithm for task scheduling on heterogeneous computing systems using multiple priority queues." Information Sciences 270 (2014): 255-287. [2] Panwar, Poonam, A. K. Lal, and Jugminder Singh. "A Genetic Algorithm Based Technique for Efficient Scheduling of Tasks on Multiprocessor System." In Proceedings of the International Conference on Soft Computing for Problem Solving (SocProS 2011) December 20-22, 2011, pp. 911-919. Springer India, 2012. [3] Dhingra, Sunita, Satinder Bal Gupta, and Ranjit Biswas. "Comparative analysis of heuristics for multiprocessor task scheduling problem with homogeneous processors." Advances in Applied Science Research 5, no. 3 (2014): 280-285. [4] Kaur, Kamaljit, Amit Chhabra, and Gurvinder Singh. "Modified genetic algorithm for task scheduling in homogeneous parallel system using heuristics."international Journal of Soft Computing 5, no. 2 (2010): 42-51. [5] Topcuoglu, Haluk, Salim Hariri, and Min-you Wu. "Performance-effective and low-complexity task scheduling for heterogeneous computing." Parallel and Distributed Systems, IEEE Transactions on 13, no. 3 (2002): 260-274. [6] Arabnejad, Hamid, and Jorge G. Barbosa. "List scheduling algorithm for heterogeneous systems by an optimistic cost table." Parallel and Distributed Systems, IEEE Transactions on 25, no. 3 (2014): 682-694. [7] Goh, Chi Keong, Eu Jin Teoh, and K. C. Tan. "A hybrid evolutionary approach for heterogeneous multiprocessor scheduling." Soft Computing 13, no. 8-9 (2009): 833-846. [8] H. El-Rewini and T.G. Lewis, Scheduling Parallel Program Tasks onto Arbitrary Target Machines, J. Parallel and Distributed Computing,vol. 9, no. 2, pp. 138-153, 1990. [9] Mtibaa, Abdellatif, Bouraoui Ouni, and Mohamed Abid. "An efficient list scheduling algorithm for time placement problem." Computers & Electrical Engineering 33, no. 4 (2007): 285-298. [10] H. Topcuoglu, S. Hariri, and M. Wu, Task Scheduling Algorithms for Heterogeneous Processors, Proc. Eighth Heterogeneous Computing Workshop (HCW),pp. 3-14, 1999. [11] H. Topcuoglu, S. Hariri, and M. Wu, Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing, IEEE Trans. Parallel and Distributed Systems, vol. 13, no. 3, pp. 260-274, Mar. 2002. [12] Hartigan, John A., and Manchek A. Wong. "Algorithm AS 136: A k-means clustering algorithm." Applied statistics (1979): 100-108. [13] Park, Chan-Ik, and Tae-Young Choe. "An optimal scheduling algorithm based on task duplication." In Parallel and Distributed Systems, 2001. ICPADS 2001. Proceedings. Eighth International Conference on, pp. 9-14. IEEE, 2001. [14] Robinson, Jacob, and Yahya Rahmat-Samii. "Particle swarm optimization in electromagnetics." Antennas and Propagation, IEEE Transactions on 52, no. 2 (2004): 397-407. [15] Sim, Kwang Mong, and Weng Hong Sun. "Ant colony optimization for routing and loadbalancing: survey and new directions." Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on 33, no. 5 (2003): 560-572. [16] Rolland, Erik, David A. Schilling, and John R. Current. "An efficient tabu search procedure for the p-median problem." European Journal of Operational Research 96, no. 2 (1997): 329-342. [17] Romero, R., R. A. Gallego, and A. Monticelli. "Transmission system expansion planning by simulated annealing." Power Systems, IEEE Transactions on 11, no. 1 (1996): 364-369. [18] Price, W. L. "Global optimization by controlled random search." Journal of Optimization Theory and Applications 40, no. 3 (1983): 333-348. [19] Sivanandam, S. N., and S. N. Deepa. Introduction to genetic algorithms. Springer Science & Business Media, 2007. Page 72