Download presentation
Presentation is loading. Please wait.
Published byWilfred Daniels Modified over 8 years ago
1
Genetic algorithms for task scheduling problem J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa 2016/3/111 Shang-Chi Wu
2
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
3
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
4
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
5
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
6
The model for task scheduling problem 2016/3/116 Directed Acyclic Graph (DAG) Entry node Exit node Communication cost Computation cost Critical Path(CP)
7
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
8
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
9
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
10
The SGA implementation 2016/3/1110 The chromosome is divided into two sections –mapping sections –scheduling sections
11
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
12
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 )
13
The pseudo code of The Task Schedule using SGA 2016/3/1113
14
The pseudo code of The Task Schedule using SGA 2016/3/1114 DAG chromosome 3 processors
15
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 }
16
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
17
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
18
Genetic formulation of SGA 2016/3/1118 S_Length = 26
19
Crossover operator 2016/3/1119
20
Crossover operator 2016/3/1120
21
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
22
The chromosome is divided into two sections –mapping sections –scheduling sections Crossover map 2016/3/1122
23
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
24
Order crossover 2016/3/1124 Pass the left segment
25
Mutation operator 2016/3/1125
26
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
27
ALAP(As Late as Possible) 2016/3/1127 noden1n2n3n4n5n6n7n8n9 ALAP08981813121322
28
Example Reuse idle time modification 2016/3/1128
29
Priority of CPNs modification 2016/3/1129
30
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 ] –
31
Example Load balance modification 2016/3/1131
32
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
33
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
34
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
35
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
36
Computing a b-level 2016/3/1136
37
The pseudo code of the Duplication_Process function 2016/3/1137
38
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
39
Mutation operator 2016/3/1139
40
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
41
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
42
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
43
2016/3/1143 The developed CPGA evaluation
44
2016/3/1144
45
The DSH Algorithm 2016/3/1145
46
The DSH Algorithm 2016/3/1146
47
The developed TDGA evaluation 2016/3/1147
48
The developed TDGA evaluation 2016/3/1148
49
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
50
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
51
Thank you for your listening 2016/3/1151
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.