Genetic algorithms for task scheduling problem J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa 2016/3/111 Shang-Chi Wu.

Slides:



Advertisements
Similar presentations
Crew Pairing Optimization with Genetic Algorithms
Advertisements

Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
ECE 667 Synthesis and Verification of Digital Circuits
Scheduling in Distributed Systems Gurmeet Singh CS 599 Lecture.
CS6800 Advanced Theory of Computation
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Exact and heuristics algorithms
1 Transportation problem The transportation problem seeks the determination of a minimum cost transportation plan for a single commodity from a number.
Optimal Instruction Scheduling for Multi-Issue Processors using Constraint Programming Abid M. Malik and Peter van Beek David R. Cheriton School of Computer.
A PARALLEL GENETIC ALGORITHM FOR SOLVING THE SCHOOL TIME TABLING PROBLEM SUMALATHA.
A system Performance Model Instructor: Dr. Yanqing Zhang Presented by: Rajapaksage Jayampthi S.
CHAPTER 9 E VOLUTIONARY C OMPUTATION I : G ENETIC A LGORITHMS Organization of chapter in ISSO –Introduction and history –Coding of  –Standard GA operations.
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
1 Lecture 8: Genetic Algorithms Contents : Miming nature The steps of the algorithm –Coosing parents –Reproduction –Mutation Deeper in GA –Stochastic Universal.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Process Scheduling for Performance Estimation and Synthesis of Hardware/Software Systems Slide 1 Process Scheduling for Performance Estimation and Synthesis.
Introduction to Evolutionary Computation  Genetic algorithms are inspired by the biological processes of reproduction and natural selection. Natural selection.
Genetic Algorithms Nehaya Tayseer 1.Introduction What is a Genetic algorithm? A search technique used in computer science to find approximate solutions.
A Resource-level Parallel Approach for Global-routing-based Routing Congestion Estimation and a Method to Quantify Estimation Accuracy Wen-Hao Liu, Zhen-Yu.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Omar Darwish.  Load balancing is the process of improving the performance of a parallel and distributed system through a redistribution of load among.
Genetic Algorithm.
Computer Implementation of Genetic Algorithm
Of 21 1 Low-Cost Task Scheduling for Distributed-Memory Machines Andrei Radulescu and Arjan J.C. Van Gemund Presented by Bahadır Kaan Özütam.
 Escalonamento e Migração de Recursos e Balanceamento de carga Carlos Ferrão Lopes nº M6935 Bruno Simões nº M6082 Celina Alexandre nº M6807.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
ROBUST RESOURCE ALLOCATION OF DAGS IN A HETEROGENEOUS MULTI-CORE SYSTEM Luis Diego Briceño, Jay Smith, H. J. Siegel, Anthony A. Maciejewski, Paul Maxwell,
1 The Euclidean Non-uniform Steiner Tree Problem by Ian Frommer Bruce Golden Guruprasad Pundoor INFORMS Annual Meeting Denver, Colorado October 2004.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic algorithms Charles Darwin "A man who dares to waste an hour of life has not discovered the value of life"
HOW TO MAKE A TIMETABLE USING GENETIC ALGORITHMS Introduction with an example.
Optimal resource assignment to maximize multistate network reliability for a computer network Yi-Kuei Lin, Cheng-Ta Yeh Advisor : Professor Frank Y. S.
ASC2003 (July 15,2003)1 Uniformly Distributed Sampling: An Exact Algorithm for GA’s Initial Population in A Tree Graph H. S.
Stochastic DAG Scheduling using Monte Carlo Approach Heterogeneous Computing Workshop (at IPDPS) 2012 Extended version: Elsevier JPDC (accepted July 2013,
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
Doshisha Univ., Kyoto, Japan CEC2003 Adaptive Temperature Schedule Determined by Genetic Algorithm for Parallel Simulated Annealing Doshisha University,
A Hybrid Genetic Algorithm for the Periodic Vehicle Routing Problem with Time Windows Michel Toulouse 1,2 Teodor Gabriel Crainic 2 Phuong Nguyen 2 1 Oklahoma.
Static Process Scheduling Section 5.2 CSc 8320 Alex De Ruiter
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
Exact and heuristics algorithms
C OMPARING T HREE H EURISTIC S EARCH M ETHODS FOR F UNCTIONAL P ARTITIONING IN H ARDWARE -S OFTWARE C ODESIGN Theerayod Wiangtong, Peter Y. K. Cheung and.
1 11 Channel Assignment for Maximum Throughput in Multi-Channel Access Point Networks Xiang Luo, Raj Iyengar and Koushik Kar Rensselaer Polytechnic Institute.
Parallelizing Video Transcoding Using Map-Reduce-Based Cloud Computing Speaker : 童耀民 MA1G0222 Feng Lao, Xinggong Zhang and Zongming Guo Institute of Computer.
O PTIMAL SERVICE TASK PARTITION AND DISTRIBUTION IN GRID SYSTEM WITH STAR TOPOLOGY G REGORY L EVITIN, Y UAN -S HUN D AI Adviser: Frank, Yeong-Sung Lin.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 03, 2005 Session 15.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Genetic Algorithms. The Basic Genetic Algorithm 1.[Start] Generate random population of n chromosomes (suitable solutions for the problem) 2.[Fitness]
Franciszek Seredynski, Damian Kurdej Polish Academy of Sciences and Polish-Japanese Institute of Information Technology APPLYING LEARNING CLASSIFIER SYSTEMS.
Static Process Scheduling
CDP Tutorial 3 Basics of Parallel Algorithm Design uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison.
A Fast Genetic Algorithm Based Static Heuristic For Scheduling Independent Tasks on Heterogeneous Systems Gaurav Menghani Department of Computer Engineering,
A stochastic scheduling algorithm for precedence constrained tasks on Grid Future Generation Computer Systems (2011) Xiaoyong Tang, Kenli Li, Guiping Liao,
Uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison Wesley, 2003.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Resource-Constrained Project Scheduling Problem (RCPSP)
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dr. Xiao Qin Auburn University
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dynamic Mapping Dr. Xiao Qin Auburn University
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithms And other approaches for similar applications Optimization Techniques.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
COMP8330/7330/7336 Advanced Parallel and Distributed Computing Decomposition and Parallel Tasks (cont.) Dr. Xiao Qin Auburn University
Parallel Tasks Decomposition
A Dynamic Critical Path Algorithm for Scheduling Scientific Workflow Applications on Global Grids e-Science IEEE 2007 Report: Wei-Cheng Lee
Namyoon Woo and Heon Y. Yeom
Minimizing Broadcast Latency and Redundancy in Ad Hoc Networks
Presentation transcript:

Genetic algorithms for task scheduling problem J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa 2016/3/111 Shang-Chi Wu

Outline Introduction The Standard Genetic Algorithm (SGA) The Critical Path Genetic Algorithm (CPGA) The Task Duplication Genetic Algorithm (TDGA) Performance evaluation Conclusions 2016/3/112

Introduction The goal of a task scheduler –Assign tasks to available processors –The overall execution length is minimized Algorithms with duplication –Duplication Scheduling Heuristic (DSH) algorithm Algorithms without duplication –Modified Critical Path (MCP) algorithm 2016/3/113

Introduction Recently, several GAs have been developed for solving the task scheduling problem Two genetic algorithms –Critical Path Genetic Algorithm (CPGA) –Task Duplication Genetic Algorithm (TDGA) 2016/3/114

Introduction Critical Path Genetic Algorithm(CPGA) –use the idle time of the processors efficiently –reschedule the critical path nodes to reduce their start time –concerned with satisfying the load balance Task Duplication Genetic Algorithm (TDGA) –Minimize the communication overheads 2016/3/115

The model for task scheduling problem 2016/3/116 Directed Acyclic Graph (DAG) Entry node Exit node Communication cost Computation cost Critical Path(CP)

The model for task scheduling problem 2016/3/117 Communication cost –Ex : c ( t 1, t 5 ) = 1 –Ex : c ( t 1, t 5 ) = 0 if t 1 and t 5 are scheduled on the same processor A node t i is scheduled to processor P –start time : ST(t i, P) –finish time : FT(t i, P ) Schedule length –max{FT(t i, P )} across all processors Communication cost

The Standard Genetic Algorithm (SGA) 2016/3/118 The parent task that maximizes the above expression is called the favorite predecessors of t i –favpred(t i, P j ) The Data Arrival Time (DAT) of t i at processor P x is defined as : DAT = max { FT(t k, P j ) + c(t k, t i ) }, k=1…No_parent

Example The Standard Genetic Algorithm (SGA) 2016/3/119 DAT = max { FT(t k, P j ) + c(t i, t k ) },k=1…No_parent

The SGA implementation 2016/3/1110 The chromosome is divided into two sections –mapping sections –scheduling sections

The initial population is constructed randomly. –The first part of the chromosome (i.e. mapping) is chosen randomly from 1 to No_Processor –The second part (i.e. the schedule) is generated randomly Genetic formulation of SGA 2016/3/1111

Fitness function –The main objective of the scheduling problem is to minimize the schedule length of a schedule Genetic formulation of SGA 2016/3/1112 Fitness function = ( a / S_Length )

The pseudo code of The Task Schedule using SGA 2016/3/1113

The pseudo code of The Task Schedule using SGA 2016/3/1114 DAG chromosome 3 processors

Genetic formulation of SGA 2016/3/1115 RT[P 1 ] =0 RT[P 2 ] =0 RT[P 3 ] =0 LT={t 1, t 2, t 3, t 4, t 6, t 5, t 7, t 8, t 9 }

Genetic formulation of SGA 2016/3/1116 LT={t 1, t 2, t 3, t 4, t 6, t 5, t 7, t 8, t 9 } 16 ST[t 1 ] = 0 FT[t 1 ] = 0+2 =2 RT[P 3 ] = 2

Genetic formulation of SGA 2016/3/11 LT={ t 2, t 3, t 4, t 6, t 5, t 7, t 8, t 9 } ST[t 2 ] = 2 FT[t 2 ] = 2+3 =5 RT[P 3 ] = 5

Genetic formulation of SGA 2016/3/1118 S_Length = 26

Crossover operator 2016/3/1119

Crossover operator 2016/3/1120

It is applied to the first part of the chromosome mapping sections A random integer number called the crossover point is generated from 1 to No_Tasks Crossover map 2016/3/1121

The chromosome is divided into two sections –mapping sections –scheduling sections Crossover map 2016/3/1122

It is applied to the second part of the chromosome –a random point is chosen –Pass the left segment from the chrom1 to the offspring –Construct the right fragment of the offspring according to the order of the right segment of chrom2 Order crossover 2016/3/1123

Order crossover 2016/3/1124 Pass the left segment

Mutation operator 2016/3/1125

The same principles and operators which are used in the SGA algorithm have been used in the CPGA algorithm In the initial population the second part(schedule) of the chromosome can be constructed –The schedule part is constructed randomly as in SGA –The schedule part is constructed using ALAP The Critical Path Genetic Algorithm (CPGA) 2016/3/1126

ALAP(As Late as Possible) 2016/3/1127 noden1n2n3n4n5n6n7n8n9 ALAP

Example Reuse idle time modification 2016/3/1128

Priority of CPNs modification 2016/3/1129

Load balance modification 2016/3/1130 Obtain the minimum schedule length and, in the same time, the load balance is satisfied The execution time of processor Pj is denoted by E_time[P j ] –

Example Load balance modification 2016/3/1131

2016/3/1132 maximum fitness value the average fitness value the fitness value of the best chromosome for the crossover the fitness value of the chromosome to be mutated positive real constants less than 1

If the idle time slots of a waiting processor could be effectively used by identifying some tasks and redundantly allocating them in these slots, the execution time of the parallel program could be further reduced The Task Duplication Genetic Algorithm (TDGA) 2016/3/1133

A vector of order pairs (t, p) which indicates that task t is assigned to processor p Genetic formulation of the TDGA 2016/3/1134

Heuristic Duplication –the initial population is initialized with randomly generated chromosomes, while each chromosome consists of exactly one copy of each task –After that, a duplication technique is applied by a function Initial population 2016/3/1135

Computing a b-level 2016/3/1136

The pseudo code of the Duplication_Process function 2016/3/1137

Two point crossover operator is used Two points are randomly chosen and the partitions between the points are exchanged between two chromosomes to form two offspring Crossover operator 2016/3/1138

Mutation operator 2016/3/1139

Performance evaluation 2016/3/1140 Considered the task graphs with random communication costs between 1 and a specified maximum communication delay (MCD) The population size is considered to be 200, and the number of generations is considered to be 500 generations

Normalized Schedule Length (NSL) Speedup –T(1) : the time required for executing a program on a uniprocessor computer –T(P) : the time required for executing the same program on a parallel computer with P processors The developed CPGA evaluation 2016/3/1141

The MCP algorithm computes at first the ALAPs of all the nodes, then creates a ready list containing ALAP times of the nodes in an ascending highest priority node in the list is picked up and assigned to a processor The MCP algorithm 2016/3/1142

2016/3/1143 The developed CPGA evaluation

2016/3/1144

The DSH Algorithm 2016/3/1145

The DSH Algorithm 2016/3/1146

The developed TDGA evaluation 2016/3/1147

The developed TDGA evaluation 2016/3/1148

The Critical Path Genetic algorithm(CPGA) –Based on rescheduling the critical path nodes (CPNs) in the chromosome through different generations –two modifications have been added use the idle time of the processors efficiently concerned with satisfying the load balance –The experimental studies show that the CPGA always outperforms the MCP algorithm in most cases Conclusions 2016/3/1149

The Task Duplication Genetic Algorithm (TDGA) –Based on task duplication techniques to overcome the communication overhead –The experimental studies show that the TDGA algorithm outperforms the DSH algorithm in most cases Conclusions 2016/3/1150

Thank you for your listening 2016/3/1151