A Heuristic Algorithm for Task Scheduling Based on Mean Load
Hybrid Algorithm for Multiprocessor Task Scheduling
-
Upload
independent -
Category
Documents
-
view
0 -
download
0
Transcript of Hybrid Algorithm for Multiprocessor Task Scheduling
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org
79
Hybrid Algorithm for Multiprocessor Task Scheduling Mostafa R. Mohamed1, Medhat H. A. AWADALLA 2
1 Information Systems Department, Faculty of Computers and Information, FayoumUniversity,
El Fayoum, Egypt [email protected]
2 Communication, Electronics and Computers Department, Faculty of Engineering, HelwanUniversity,
Helwan, Egypt [email protected]
AbstractMultiprocessors have become powerful
computing means for running real-timeapplications and their high performancedepends greatly on parallel and distributednetwork environment system. Consequently,several methods have been developed tooptimally tackle the multiprocessor taskscheduling problem which is called NP-hardproblem. To address this issue, this paperpresents two approaches, Modified ListScheduling Heuristic (MLSH) and hybridapproach composed of Genetic Algorithm (GA)and MLSH for task scheduling in multiprocessorsystem. Furthermore, this paper proposesthree different types of chromosomes’representations for genetic algorithm: tasklist (TL), processor list (PL) and combinationof both (TLPLC). Extensive simulationexperiments have been conducted on differentrandom and real-world application graphs suchas Gauss-Jordan, LU decomposition, Gaussianelimination and Laplace equation solverproblems. Comparisons have been made with somealgorithms like: list scheduling heuristicsalgorithm LSHs, Bipartite GA (BGA) [1] andPriority based Multi-Chromosome (PMC) [2]. Theachieved results show that the proposedapproaches significantly surpass the otherapproaches in terms of task execution time(makespan) and processor efficiency.
Keywords: Multiprocessors, task scheduling, Geneticalgorithm, makespan, parallel and distributed system,Modified List Scheduling Heuristic (MLSH).
1. IntroductionThe problem of scheduling a task graph
of a parallel program onto a parallel anddistributed computing system is a well-
defined NP-hard problem that has receivedmuch attention, and it is considered oneof the most challenging problems inparallel computing [3]. The schedulingproblem have been addressed in severalapplications such as informationprocessing, database systems, weatherforecasting, image processing, fluid flow,process control, economics, operationresearch and real time high-speedstimulations of dynamical systems. Themultiprocessor task scheduling problemconsidered in this paper is based on thedeterministic model, which is theexecution time of tasks and the datacommunication time between tasks that areassigned; and the directed acyclic taskgraph (DAG) that represents the precedencerelations of the tasks of a parallelprocessing system [4]. The goal of such ascheduler is to assign tasks to availableprocessors such that precedencerequirements between tasks are satisfiedand the overall length of time required toexecute the entire program, the schedulelength or makespan, is minimized.
Many heuristic approaches for taskscheduling have been proposed [5–10]. Thereason for such proposals is because theprecedence constraints between tasks canbe non-uniform therefore rendering theneed for a uniformity solution. We assumethat the parallel processor system isuniform and non-preemptive.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org 80
Recently, Genetic Algorithms (GAs) havebeen widely reckoned as a useful vehiclefor obtaining high quality solutions oreven optimal solutions for a broad rangeof combinatorial optimization problemsincluding task scheduling problem [ 11,12]. Another merit of a genetic search isthat its inherent parallelism can beexploited so as to further reduce itsrunning time. Thus, several methods havepresented to solve this problem based onGAs [13-16].
To tackle the multiprocessor taskscheduling problem (MTSP), this paperpresents two approaches: a modified listscheduling heuristic and hybrid approachcomposed of GA and MLSH. GA used three newdifferent types of chromosomes: task list,processor list, and a combination of bothtypes.
This paper is organized as follows: Themultiprocessor task scheduling problem onthe general models of a DAG is presentedin section 2. Section 3 outlines the mostrelated work to the theme of this paper.Section 4 proposes MLSH. Hybrid approachcomposed of genetic algorithm and MLSHcomprising three different new types ofchromosomes is presented in section 5.Genetic operators are presented in section6. Simulated experiments and discussionsare presented in section 7. Section 8concludes the paper.
2. Multiprocessor task schedulingproblem
Multiprocessor scheduling problems canbe classified into many different classesbased on the following characteristics: The number of tasks and their
precedence. Execution time of the tasks and the
communication cost which is the cost totransmit messages from a task on oneprocessor to a succeeding task on adifferent processor (Communication cost
between two tasks on the same processoris assumed to be zero).
Number of processors and Processorsuniformity (A homogeneousmultiprocessor system is Composed of aset P = {P1… Pm} of ‘m’ identicalprocessors.
Topology of the representative taskgraph.Directed Acyclic Graph (DAG) can
represent applications executed withineach multiprocessor system. A DAG G = (V,E ( consists of a set of vertices Vrepresenting the tasks to be executed anda set of directed edges E representingcommunication dependencies among tasks.The edge set E contains directed edges eij
for each task Ti V that task Tj Vdepends on. The computation weight of atask is represented by the number of CPUclock cycles to execute the task. Given anedge eij, Ti is called the immediatepredecessor of Tj and Tj is called theimmediate successor of Ti. An immediatesuccessor Tj depends on its immediatepredecessors such that Tj cannot startexecution before it receives results fromall of its immediate predecessors. A taskwithout immediate predecessors is calledan entry-task and a task without immediatesuccessors is called an exit-task. A DAGmay have multiple entry tasks and oneexit-task. Randomly generated models,Gauss Jordan elimination, LU decomposition[17] and Laplace equation solver [6] taskgraphs are considered in this paper. Someof these task graphs are illustrated inFig.1.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org
81T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
( a )
tc
T
T TT
T
T
T
T
T
T
T
T
T
tc tc
tc .
tc
tc
T
tctc tc tc tc
tc tc tc
tc
tc tc
tc
tc
( b )
Fig.1. Description of task dependencies for (a)Laplace equation solver and (b) LU decomposition.
RELATED WORK Several approaches have been adopted to
solve the multiprocessor task schedulingsuch as heuristic approaches [18-20],evolutionary approaches [2, 11, 13, 14,15, 17, 21, 22] and hybrid methods [23,24]. Kwok and Ahmad [25] presented acomprehensive review and classification ofdeterministic scheduling algorithms. Amongthe most common methods is a class ofmethods called list scheduling techniques.List scheduling techniques are widely usedin task scheduling problems [26].Insertion Scheduling Heuristic (ISH) andDuplication Scheduling Heuristic (DSH) arewell-known list scheduling heuristicmethods [27, 28]. ISH [27] is a listscheduling heuristic that was developed tooptimize scheduling DAGs withcommunication delays. ISH extends a basiclist scheduling heuristic from Hu [29] byattempting to insert ready tasks intoexisting communication delay slots. DSH[27] improved ISH by using taskduplication to reduce the starting time oftasks within a schedule. DSH reducesinter-processor communication time byscheduling tasks redundantly to multipleprocessors.
The genetic-based methods haveattracted a lot of researcher attention insolving the MTSP [2, 11, 13, 14, 15, 17,21]. One of the main differences in thesegenetic approaches is in their geneticoperators, such as crossover and mutation.Using different crossover and mutationmethods for reproducing the offspring isstrongly dependent upon the chromosomerepresentation which may lead to theproduction of legal or illegal solutions.Another important point in designing a GAis simplicity of algorithm and complexityof evolutionary optimization process.
Hou et al. [13] reported that theresults of GA were within 10% of theoptimal schedules. Their results are basedon task graphs with dependencies butwithout communication delays. The methodproposed in [30], though very efficient,does not search all of the solution space.Due to the strict ordering that only thehighest priority ready task can beselected for scheduling, there can be manyvalid schedules omitted from the search.Correa et al. [7] proposed modificationsto the approach in [30] to broaden thesearch space to include all the validsolutions. This modified approach wastested on task graphs that represent well-known parallel programs. Wu et al. [11]proposed a novel GA which allows bothvalid and invalid individuals in thepopulation. This GA uses an incrementalfitness function and gradually increasesthe difficulty of fitness values until asatisfactory solution is found. Thisapproach is not scalable to large problemssince much time is spent evaluatinginvalid individuals that may never becomevalid ones. Moore [31] applies parallel GAto the scheduling problem and compares itsaccuracy with mathematically predictedexpected value. More GA approaches arefound in [30, 32–35].
Another genetic-based multiprocessorscheduling method has been presented [7].
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org 82The authors of this paper claimed that thetask duplication is a useful technique forshortening the length of schedules. Inaddition, they added new genetic operatorsto the GA to control the degree ofreplication of tasks.
Some works tried to change theconventional approach of GA. They combinedother problem solving techniques, such asdivide and conquer mechanism with GA. Amodified genetic approach calledpartitioned genetic algorithm (PGA) wasproposed [15]. In PGA: at first, the inputDAG is divided into partial graphs using ab-level partitioning algorithm and each ofthese separate parts is solvedindividually using GA. After that, aconquer algorithm cascades the subgroupsand forms the final solution. In [36], anew GA called task execution order list(TEOL) was presented to solve thescheduling problem in parallelmultiprocessor systems. The TEOLguarantees that all feasible search spaceis reachable with the same probability.
Some researchers proposed a combinationof GAs and list heuristics [37-39]. Correaet al. [7] proposed a modified GA by theuse of list heuristics in the crossoverand mutation in a pure genetic algorithm.This method is said to dramaticallyimprove the quality of the solutions thatcan be obtained with both a pure geneticalgorithm and a pure list approach.Unfortunately, the disadvantage is thatthe running time is much larger than whenrunning the pure genetic algorithm.Therefore the aim of this paper is toreduce that time however the modificationof pure GA is done by the chromosomesrepresentations.
4. The Proposed Modified ListScheduling Heuristic (MLSH)List scheduling techniques assign a
priority to each task to be scheduled andthen sort the list of tasks in decreasing
priority. As processors become available,the task with highest priority isprocessed and removed from the list. Iftwo or more tasks have the same priority,the selection which is performed among thecandidate tasks is typically random [26].The problem with list schedulingalgorithms is that the priority assignmentmay not always order the tasks forscheduling according to their relativeimportance. In MLSH, Priorities have beendetermined from DAG and then assigned tothe tasks in such way that the importanttask will be assigned to the processorthat eventually leads to a betterscheduling. MLSH flowchart is illustratedin Fig.2.
In this paper, real-time tasks areconsidered. Each task is characterized bythe following parameters:
ts (T) : is the starting time oftask T of G.
ts (T, P) : is the starting time oftask T on processor P.
tf (T) : is the finishing time oftask T.
w (T) : is the processing time of taskT.The algorithm starts by assigning
levels for the tasks (the root task has level 0). The level of a task graph is defined as:
This Level function indirectly conveysprecedence relations between the tasks. Ifthe task Ti is an ancestor of task Tj, thenLevel (Ti) < Level (Tj). If there is nopath between the two tasks, then there isno precedence relation between them andthe order of their execution can bearbitrary [13, 40].
Secondly, the sequence of tasks’execution in each level is determined. Forthe root level (T1, T2 in Fig.3), if there
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org
83is only one parent task, then it comesfirst.
If there is more than one parent tasksthe number of the children for each parentin the next level is calculated and theirparent has got a priority according tothat number in a descending order. Theparent with the highest number of childrencomes first (for example T1 executedbefore T2).
start
read task graph
com putes levels of tasks (DAG)
read LTs, M L, SL=
SL > M L ?
NTs at SL== ?
SL=SL+
add task to scheduling solution
get priority according to num ber of children
get priority at next level according to the parent that has a com m on child
tasks priority equal ?
sort NTs an arbitrary or random
sort NTs an according to priority
get all perm utation for scheduling solution
assign each task from each solution to an approprite processor
select the best solution according to m inim un tim e
end
DAG
LTs
no
no
yes
yes
yes
tasks priority equal ?
Fig.2. Flowchart MLSH algorithm
If two or more parents have the samenumber of children (T3, T4 and T5) then theparent that has a common child is to beexecuted first (T4 and T5 executed beforeT3). When two parents have the same commonchild, they will be listed in an arbitraryorder (T4 and T5).
ML: MaxLevelSL : level zero and count. of levelNTs : number of tasks at levels
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org 84
Thirdly, we assign each task to anappropriate processor to reach the minimumfinishing time for all tasks according toequations (2-11).
5. The Proposed Hybrid approach. The hybrid approach composed of GA and
MLSH. Genetic algorithms try to mimic thenatural evolution process and generallystart with an initial population ofchromosomes, which can either be generatedrandomly or based on some other algorithms.Here, the initial population has startedbased on MLSH. Three different types ofchromosomes are developed to generate thegenetic chromosome. In each generation, thepopulation goes through the processes offitness evaluation, selection, crossoverand mutation. The following subsectionswill present these processes in fulldetails.
5.1. Chromosomes
For task scheduling; a chromosomerepresents a solution to the schedulingproblem. We present three different typesof chromosomes for genetic algorithm: TaskList (TL), Processor List (PL) andcombination of them (TLPLC).
5.1.1.Chromosome construction using TL
Every chromosome is a permutation ofthe V tasks of the DAG. Each generepresents a position in the task list andthe value of the gene is the index of thetask at that position as shown in Fig.4.MLSH is used to form the chromosomes in theinitial population.
Fig.4. Chromosome that encodes tasklist
5.1.2.chromosome construction using PL
Every chromosome consists of V genes, eachof which represents one task of the DAG.Assuming a consecutive numbering of thetasks and processors, starting with 1, genei corresponds to task TiV. The value ofthe gene corresponds to the index of theprocessor, 1 to P, to which the task isallocated as shown in Fig.5. Thechromosomes have uniform distribution ofthe available number of processors.
T
T
T
T
TT
T
T
Fig.3. Example of DAGwith 8 tasks
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org
85
Fig.5. chromosome that encodesprocessor list.
5.1.3. chromosome construction
using TLPLCIn this case, the chromosome has acombination of tasks and processors asshow in Fig.6.
Fig.6. Chromosome that encodes processor list andtask list.
5.2. Fitness functionThe Fitness function (FF) is
essentially the objective function for theproblem. It is used to evaluate thesolution, and it also controls theselection process. For the multiprocessorscheduling problem we can considerfactors, such as throughput, finishingtime and processor utilization for the FF.
tf (p): is the finishing time of processorP, the time at which the last taskscheduled on P terminates.
Genetic algorithm works naturally onthe maximization problem, while thementioned objective function (finishingtime of schedule) has to be minimized.Therefore, it is necessary to convert theobjective function into maximization formcalled fitness function. Here, the
calculation of the FF. which is determinedby the following equation:
6. Genetic operators
The selection operator should be appliedbefore using the crossover and mutationoperators.
6.1. Selection operatorThis selection operator allocates the
reproductive trials to chromosomesaccording to their fitness. Differentapproaches were used in the selectionoperators such as roulette wheel selectionand tournament selection. The tournamentselection was found to be the better one[38].
The purpose of selection is toemphasize fitter individuals in thepopulation in hopes that their offspring’shave higher fitness. Chromosomes areselected from the initial population to beparents for reproduction. In this paper elitism is used toeliminate the chance of any undesired lossof information during the selectionprocess. It selects the best twochromosomes and copies them into themating pool, meanwhile in the nextgeneration. Because such chromosomes mightbe lost if not selected for reproductionand also they may be destroyed by thecrossover or the mutation process. Thisissue significantly improves the GA’sperformance. Tournament selection randomlypicks a tournament size (Ts) ofchromosomes from the tournament which is acopy of the population (pop). The bestchromosome from (Ts) that has the highestfitness (fit) is the winner. It is then
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org 86
inserted into the mating pool (which isfor example half of the tournament). Thetournament competition is repeated untilthe mating pool for generating newoffspring is filled. After that, crossoverand mutation are performed. The developedtournament method is as shown in Fig.7.
Tournament Selection Methodtournamentselection (pop, fit, Ts);BEGIN1. Compute size of mating pool as sizeof population/2;2. Compute the best two individualsfrom population3. Add them at mating pool m & at newpopulation4. for j1 to Ts
5. DO compute random point as anypoint between 1 and
population size6. T[j] pop [point];7. TF[j] fit [point];
8. ENDFOR9. Compute the best one from T accordingto fitness10. Add it to the mating pool 11. Repeat steps 4 to 10 until matingpool is fullEND
Fig.7. Tournament Selection Method
6.2. Crossover operatorThe crossover operator is a
reproduction operator which implements theprinciples of evolution. It creates newchromosomes (children or offspring) bycombining two randomly selected parentchromosomes. These newly createdchromosomes inherit the genetic materialof their ancestors. Chromosomes in the mating pool aresubjected to crossover with probabilitypc. Two chromosomes are selected from themating pool, and a random number RN [0,1] is generated. If RN < pc, thesechromosomes are subjected to the crossoveroperation using single point crossoveroperator. Otherwise, these chromosomes arenot changed.
6.2.1. Crossover of task list.The chromosome encoding of a task list
states that each task T V, can appearonly once in the chromosome. To understandthis, see Fig.8, the child (offspring) ch1and ch2 will have tasks T5 and T4 twice,respectively.
Fig.8. Single-point crossover for task listchromosomes and error
The problem is overcome with thefollowing single-point crossover operator.Given two randomly chosen chromosomes c1and c2, a cut point x, 1 ≤ x < V, isselected randomly. The genes [1, x] of c1and c2 are copied to the genes [1, x] ofthe new children ch1 and ch2, respectively.To fill the remaining genes [x + 1, V] ofch1 (ch2), chromosome c2 (c1) is scannedfrom the first to the last gene and eachtask that is not yet in ch1 (ch2) is addedto the next empty position of ch1 (ch2) inthe order that it is discovered. Fig.9,illustrates the procedure of this operator.Under the condition that the task lists ofchromosomes c1 and c2 are in precedenceorder, this operator even guarantees thatthe task lists of ch1 and ch2 also are. Itis easy to see this for the genes [1, x] ofboth ch1 and ch2 as they are only copiedfrom c1 and c2. The remaining genes of ch1and ch2 are filled in the same relativeorder in which they appear in c2 and c1,respectively. Hence, among themselves,these remaining tasks must also be inprecedence order. Furthermore, there cannotbe a precedence conflict between the taskson the left side of the crossover pointwith those on the right side of thecrossover point, this separation of thetasks into two groups has not changed fromc1 to ch1 neither from c2 to ch2 and itadheres to the precedence constraints in c1and c2.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org
87
Fig.9. Single-point crossover for task listchromosomes after error
6.2.2. Crossover of Processor ListFor the chromosome encoding of the
processor list, quite simple crossoveroperators can be employed. The processorlist chromosome in each gene can assume thesame range of values (1 to P). Furthermore,the value of one gene has no impact on thepossible values of the other genes. Fig.10,illustrates how the single point crossoveroperator works. Note that the generated newchildren are always valid chromosomes.
Fig.10. Single-point crossover for processor listchromosomes
6.2.3.
Crossover of TLPLCCrossover of TLPLC combines the task
list and the processor list in onechromosome. Since these parts differstrongly, the simple solution for theoperator is to apply the two previouslydescribed operators separately to eachpart. If 0.35≤pc ≤ 0.55 we apply on thefirst part. If 0.55< pc ≤ 0.75 we apply onthe second part and if 0.75< pc ≤ 0.95 weapply on the two parts as shown in Fig.11.
6.3. Mutation operatorThe mutation operator (pm) has a much
lower probability than the crossoveroperator. Its main function is to safeguardavoiding the convergence of the statesearch to a locally best solution. A
swapping mutation operator is very suitablefor chromosomes in TL as in Fig. 12 and PLas in Fig. 13, where we swap the two genesthat are randomly selected. Anotheralternative for PL is to change the valuesof the genes that were randomly pickedshown in Fig.14.
The mutation in TLPLC is based on thesame methods used in TL and PL.
Fig.12. Swapping mutation operator for task listchromosome
Fig.13. Swapping mutation operator for processorlist chromosome
Fig.14. Mutation operator for processor listchromosome
7. Experimental resultsIn this section, the results of
experiments are presented. The proposedalgorithms have been implemented. Thegenetic algorithms applied the followingparameters throughout the simulations:
Fig.11. single-point crossover for combination between task list and processor listchromosomes (TLPLC)
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org 88• Population size = 20.• Maximum number of generation = 1000• Crossover probability (pc) = 0.7• Mutation probability (pm) = 0.3• Number of generation without improvement(with same fitness) = 200.
7.1. simulated experiments based onMLSH In this section, The MLSH is compared
with some well known heuristics, such asmodified critical path (MCP) [6], dominantsequence clustering (DSC) [4], mobilitydirected (MD) [6] and dynamic criticalpath (DCP) [20]. Table 1 demonstrates themakespan of problem 1 that shown inFig.15. The obtained performance as shownin Fig. 16 shows that processor efficiencywith MLSH outperforms all otheralgorithms. In experimental problem 1: Best solution: the best result from
the 15 times iterations. Processor efficiency (%) =
Sequential Time /total processing time Sequential Time: is actually task
execution time on uniprocessor. Processing time: is (number of used
processors × makespan).For example: Efficiency for MLSH = (30 /2*23) =65.2% Efficiency for DCP and MD =(30 / 2*32) =46.9% Efficiency forDSC = (30 / 4*27) =27.8% Efficiency forMCP = (30 / 3*29) =34.48%
Table 1: Comparative results with nine tasks(Fig.15)
Algorithms MCP DSC MD DCP MLSHNo.ofprocessors 3 4 2 2 2
Best solution 29 27 32 32 23
Fig.16. performance analysis of MCP, DSC, MD,DCP, and MLSH
T
TT T
T T T
T
T
Fig.15. Example DAG with nine tasks.
7.2. Comparison between TL, PL, andTLPLC In this section, the TLPLC is compared
with the TL and the PL for two problems.Problem 1 shown in Fig.15 and problem 2 isGaussian elimination method graphs shownin Fig.17. Tables 2 and 3 demonstrate thebest solution (the makespan) for 15iterations of problems 1 and 2,respectivly. The achieved results, shownin Fig.18 and Fig.19, prove that theefficiency of TLPLC is better than TL andPL.
Table 2: Comparative results withnine tasks(Fig.15)
Algorithms TL PL TLPLCNo.ofprocessors 2 2 2
Best solution 22 21 21
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org
89
Table 3: Comparative results for Gaussianelimination with 18 tasks (Fig.17)
Algorithms TL PL TLPLC
No. ofprocess
ors2 3 4 2 3 4 2 3 4
Bestsolutio
n
460
440
450
510
490
490
440
440
440
Fig.18. Performance analysis of TLPLC, TL, and PLfor Fig.15
Fig.17. Gaussian elimination with 18 tasks.
Fig.19. Performance analysis of TLPLC, TL, andPL for Fig.17.
Based on the achieved results:-1- Optimum solution The TL method reached the optimum solution several times with the same chromosome, and sometimes, it did not reach it.
The PL method did not reach the optimum solution for these two problems, but it did in some other problems.
The TLPLC method did reach the optimum solution many times with different chromosomes (TLPLC has many optimum solutions).
2- Number of Iterations The TL required small number of iterations to reach the optimum solution however, each iteration consumes high computational time.
The PL required much iteration. The TLPLC required small number of iterations with less computational time.
3- Crossover and Mutation operation The TL applies the crossover operation on tasks that might cause task duplication in the same chromosome. Mutation operation when applied on tasks, it might cause conflict with their precedence that requires more processing time to get rid of it.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org 90
The PL applies the crossover operation on processors which is easy to be implemented. The mutation is alsosimple and can be done using two different methods:1. Swapping two tasks between anytwo processors
2. Migration, assigning a processor’s task to any other processor.
The TLPLC applies the crossover operation on the chromosome using the methods used in PL and TL. The mutation is applied in the same wayas in PL and TL. So we can conclude that the TLPLC based
GA (TLPLC-GA) algorithm is better than PLand TL based GA and hence it will be usedin the rest of the paper when comparingsome heuristics and genetic algorithms.
7.3. Comparison between TLPLC-GA andsome well known heuristicsIn this section, the proposed
algorithm, TLPLC-GA, is compared with MCP,DSC, MD, and DCP. Table 4 and 5 demonstratethe makespan of problem 1 and problem 2,respectively. The results of TLPLC-GA inall cases are better than the comparedalgorithms. TLPLC-GA was run 15 times ineach case (using 2, 3 and 4 processors) andthe best makespan of each case has beenreported in Table 4 and 5. The obtainedresults shown in Fig.20 for problem 1 andFig.21 for problem 2 prove that theperformance of TLPLC-GA surpasses the otheralgorithms.
Table 4: Comparative results with nine tasks(Fig.15)
Algorithms MCP DSC MD DCP TLPLC-GANo. of
processors 3 4 2 2 2 3 4
Bestsolution 29 27 32 32 21 21 21
Table 5: Comparative results for Gaussian elimination with 18 tasks (Fig.17)
Algorithms MCP DSC MD DCP TLPLC-GA
No. of processors
4 6 3 3 2 3 4
Bestsolution 520 46
0460
440
440
440
440
Fig.20 Performance analysis of MCP, DSC, MD,DCP, and TLPLC-GA for Fig.15
Fig.21 Performance analysis of MCP, DSC, MD, DCP,and TLPLC-GA for Fig.17
7.4. Comparisons with GA BasedAlgorithmsHere, we compare the proposed
algorithm, TLPLC-GA, with other GA-basedmethods, BGA and PMC, and two test bencheswere employed. Test bench 1:
At first, TLPLC-GA, BGA and PMC areapplied on problem 1. Table 6 and Fig. 22show that the obtained results in terms ofaverage makespam (table 6) and processor
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org
91efficiency (Fig. 22) for TLPLC-GA and BGAin all cases are the same, and they areboth better than PMC.
Table 6: Comparative results based on problem 1Algorit
hmsTLPLC-GA BGA PMC
No. of processors
2 3 4 2 3 4 2 3 4
Averagemakespa
m21 21 21 21 21 21 21.
922.4
22.3
Fig.22 Performance analysis of TLPLC-GA, BGA andPMC for Fig.15
Second, the three algorithms are appliedon the problem 2. Table 7 shows thatTLPLC-GA has better makespan compared toBGA and PMC in terms of average solutionsin all cases.Fig.23 shows that Processorefficiency for the proposed algorithm,TLPLC-GA is quite better than that of BGAand PMC.
Table 7: Comparative results for Gaussianelimination on problem 2
Algorithms TLPLC-GA BGA PMC
No. ofprocess
ors2 3 4 2 3 4 2 3 4
Averagemakespa
m
446
443
451
463
461
461
491
522
544
Fig.23 Performance analysis of TLPLC-GA, BGA andPMC for Fig.17
Test bench2:Table 8 summarizes different problems
that have been addressed in this paper forthe sake of comparison among TLPLC-GA, BGAand PMC.
Table8. Selected Test ProblemsProble
m
#tasks
Comm.costs Description
P1[17] 15 25 (fixed) Gauss-Jordanalgorithm
P2[17] 15 100(fixed)
Gauss-Jordanalgorithm
P3[17] 14 20 (fixed) LU decompositionP4[17] 14 80 (fixed) LU decomposition
P5[41] 17Variablefor each
graph edgeRandom
P6[6] 18Variablefor each
graph edge
Gaussianelimination
P7[6] 16 40 (fixed) Laplace equationsolver
P8[6] 16 160(fixed)
Laplace equationsolver
The three algorithms applied on thetest benches are presented in Table 8.
According to results in Table 9, TLPLC-GA and BGA showed the same averagemakespan for problems 1, 2, 3, and 6. Insome cases, the TLPLC-GA achieved betteraverage makespan than BGA as in problems4, 5, 7, and 8. The TLPLC-GA showed bettermakespan than PMC in all problems. Fig. 24shows that the efficiency of TLPLC-GA isbetter than BGA and PMC.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org 92
Table 9 The resultant average makespan in solvingproblems in Table 8 by TLPLC-GA, BGA, and PMC
Problem
TLPLC-GA BGA PMCAverageMakespan
AverageMakespan
AverageMakespan
P1 300 300 300P 2 440 440 472P3 270 270 290P 4 360 365 418P 5 37 37.2 38.4P 6 390 390 424P 7 760 790 810P8 1070 1088 1232Note: The best results in each row are shown by Bold-
Italic-Underline font.
Fig.24 Performance analysis of TLPLC-GA, BGA and PMCfor table 1
8. Conclusions.This paper presents two new approaches
for task scheduling in multiprocessorsystems: Modified list schedulingheuristic (MLSH) and hybrid approachcomposed of Genetic Algorithm and MLSH.Furthermore, three different types ofchromosomes For Genetic algorithm: tasklist (TL), processor list (PL) andcombination of both (TLPLC) have beenpresented. Simulated results show thatTLPLC representation for GA is better thanTL and PL for GA. Comparisons of theproposed algorithm, TLPLC-GA, with themost recent algorithms based on GA andheuristic algorithms in terms of bestmakespan, average makespan, and processorefficiency have been conducted. The
experimental results showed that thehybrid approach (TLPLC-GA) outperforms theother algorithms. References[1]. Mohammad Reza Bonyadi and Mohsen
Ebrahimi Moghaddam, “A bipartite geneticalgorithm for multi-processor taskscheduling”, International Journal ofParallel Programming, Vol. 37, No. 5,2009, pp. 462-487.
[2]. Hwang, R., Gen, M., Katayama, H.,“A comparison of multiprocessor taskscheduling algorithms with communicationcosts”, Computers and Operations Research,Vol. 35, No. 3, pp. 976–993, 2008.
[3]. H. El-Rewini, T.G. Lewis, H.H.Ali, “Task Scheduling in Parallel andDistributed Systems”, Prentice-HallInternational Editions, 1994.
[4]. Yang, T., Gerasoulis, A., “DSC:scheduling parallel tasks on an unboundednumber of processors”, IEEE Transactionson Parallel and Distributed Systems, Vol.5, No. 9, 1994, pp. 951–967.
[5]. Adam TL, Chandy KM, Dicksoni JR,“A comparison of list schedules forparallel processing systems”,Communications of the ACM, Vol. 17, No.12, 1974, pp. 685–690.
[6]. M.Y. Wu and D.D. Gajski,“Hypertool: A Programming Aid for Message-Passing Systems,” IEEE Trans. Parallel andDistributed Systems, vol. 1, No. 3, 1990,pp. 330-343.
[7]. Correa RC, Ferreira A, RebreyendP. Scheduling multiprocessor tasks withgenetic algorithms. IEEE Transactions onParallel and Distributed Systems, Vol. 10,No. 8, 1999 pp. 825–837.
[8]. Thanalapati, T., Dandamudi,S.,“An efficient adaptive schedulingscheme for distributed memorymulticomputer”, IEEE Transactions onParallel and Distributed Systems, Vol. 12,No. 7, 2001, pp. 758–768.
[9]. Nissanke, N., Leulseged, A.,Chillara, S., “Probabilistic performanceanalysis in multiprocessor scheduling”,Journal of Computing and ControlEngineering, Vol. 13, No. 4, 2002, pp.171–179.
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org
93[10]. Corbalan, J., Martorell, X.,
Labarta, J., “Performance-driven processorallocation”, IEEE Transactions on Paralleland Distributed Systems, Vol. 16, No. 7,2005, pp. 599–611.
[11]. Wu, A.S., Yu, H., Jin, S., Lin,K.-C., Schiavone, G., “An incrementalgenetic algorithm approach tomultiprocessor scheduling”, IEEETransactions on Parallel and DistributedSystems, Vol. 15, No. 9, 2004, pp. 824–834.
[12]. Y. Kwok and I. Ahmad, “StaticScheduling Algorithms for AllocatingDirected Task Graphs to Multiprocessors,”ACM Computing Surveys, vol. 31, no. 4,1999, pp. 406-471.
[13]. Edwin S. H. Hou, Ninvan Ansariand Hong Ren, “A Genetic Algorithm forMultiprocessor Scheduling”, IEEETransactions on Parallel and DistributedSystems. Vol. 5, No. 2, 1994, pp. 113 –120.
[14]. Hwang RK, Gen M., “Multiprocessorscheduling using genetic algorithm withpriority-based coding”, Proceedings ofIEEJ conference on electronics,information and systems, 2004.
[15]. Lee, Y.H., Chen, C., “A Modifiedgenetic algorithm for task scheduling inmulti processor systems”, The NinthWorkshop on Compiler Techniques for HighPerformance Computing 2003.
[16]. Montazeri, F., Salmani-Jelodar,M., Fakhraie, S.N., Fakhraie, S.M.,“Evolutionary multiprocessor taskscheduling”, Proceedings of theInternational Symposium on ParallelComputing in Electrical Engineering(PARELEC’06) 2006.
[17]. Tsuchiya, T., Osada, T., Kikuno,T, “Genetic-Based MultiprocessorScheduling Using Task Duplication,”Microprocessors and Microsystems, vol. 22,No. 3-4, 1998, pp. 197-207.
[18]. Hwang JJ, ChowY-C, Anger FD, LeeC-Y, “Scheduling precedence graphs insystems with inter-processor communicationtimes”, SIAM Journal on Computing vol. 8,No. 2, 1989, pp. 244-258.
[19]. Kasahara, H., Narita, S.,“Practical multiprocessing schedulingalgorithms for efficient parallel
processing”, IEEE Transactions onComputers, Vol. 33, No. 11, 1984, pp.1023–1029.
[20]. Yo-Kwong, K. Ishfaq Ahmad,“dynamic critical path scheduling: aneffective technique for allocating taskgraphs to multiprocessors”, IEEETransactions on Parallel and DistributedSystems, Vol. 7, No. 5, 1996, pp. 506–521.
[21]. Ricardo, C. Corrga, AfonsoFerreira and Pascal Rebreyend, “schedulingmultiprocessor tasks with geneticalgorithm”, IEEE Transactions on Paralleland Distributed Systems, Vol. 10, No. 8,1999, pp. 825–837.
[22]. Kamaljit Kaur, Amit Chhabra andGurvinder Singh, “Modified GeneticAlgorithm for Task Scheduling inHomogeneous Parallel System UsingHeuristics”, International Journal of SoftComputing, Vol. 5, No. 2, 2010, pp. 42-51.
[23]. Ahmad, I., Dhodhi, M.K.,“Multiprocessor scheduling in a geneticparadigm”, Parallel Computing, Vol. 22,No. 3, pp. 395–406, 1996.
[24]. Bonyadi, M.R., Rahimi Azghadi,M.,Hashemi, S., Ebrahimi Moghadam, M., “Ahybrid multiprocessor task schedulingmethod based on immune genetic algorithm”Qshine 2008 Workshop on ArtificialIntelligence in Grid Computing 2008.
[25]. Y. Kwok and I. Ahmad, “StaticScheduling Algorithms for AllocatingDirected Task Graphs to Multiprocessors,”ACM Computing Surveys, vol. 31, no. 4,1999, pp. 406-471.
[26]. Dr.G.Padmavathi ,Mrs.S.R.Vijayalakshmi, “MULTIPROCESSORSCHEDULING FOR TASKSWITH PRIORITY USINGGA”, International Journal of ComputerScience Issues, IJCSI, Vol. 7, No. 1,2010, pp. 37-42.
[27]. B. Kruatrachue and T.G. Lewis,“Duplication Scheduling Heuristic, a NewPrecedence Task Scheduler for ParallelSystems”, Technical Report 87-60-3, OregonState University, 1987.
[28]. B.S. Macey and A.Y. Zomaya, “APerformance Evaluation of CP ListScheduling Heuristics forCommunication Intensive TaskGraphs,” Proc. Joint 12th Int’lParallel Processing Symposium and
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011ISSN (Online): 1694-0814www.IJCSI.org 94
Ninth Symposium. Parallel and DistributedProcessing. , 1998, pp. 538-541.
[29]. T.C. Hu, “Parallel Sequencing andAssembly Line Problems,”OperationsResearch, Vol. 19, No. 6, 1961, pp. 841-848.
[30]. Zomaya A, Ward C, Macey B.,“Genetic scheduling for parallel processorsystems comparative studies andperformance issues”, IEEE Transactions onParallel and Distributed Systems, Vol. 10,No. 8, 1999, pp. 795 – 812.
[31]. Moore M., “An accurate parallelgenetic algorithm to schedule tasks on acluster”, Parallel and DistributedSystems, Vol. 30, No. 5-6, 2004, pp. 567–583.
[32]. Yao W, You J, Li B., “Mainsequences genetic scheduling formultiprocessor systems using taskduplication”, Microprocessors andMicrosystems, Vol. 28, No 2, 2004, pp. 85–94.
[33]. Kwok Y, Ahmad I., “Efficientscheduling of arbitrary task graphs tomultiprocessors using a parallel geneticalgorithm”, Parallel DistributedComputing, Vol. 47, No.1, 1997, pp. 58–77.
[34]. Ceyda O, Ercan M “A geneticalgorithm for multilayer multiprocessortask scheduling. In:TENCON 2004. IEEEregion 10 conference, Vol. 2, 2004, pp.68-170.
[35]. Cheng S, Huang Y “Schedulingmulti-processor tasks with resource andtiming constraintsusing geneticalgorithm”, IEEE international symposiumon computational intelligence inroboticsand automation, Vol. 2, 2003, pp 624–629.
[36]. Zhong, Y.W., Yang, J.G., “Agenetic algorithm for tasks scheduling inparallel multiprocessor systems”. In:Proceedings of the Second InternationalConference on Machine Learning andCybernetics, 2003, pp. 1785–1790
[37]. Kamaljit Kaur, Amit Chhabra,Gurvinder Singh, “Heuristics Based GeneticAlgorithm for Scheduling Static Tasks inHomogeneous Parallel System”,International Journal of Computer Scienceand Security, Vol. 4, No.2, 2010, pp. 149-264
[38]. Fatma A. Omara , Mona M. Arafa,“Genetic algorithms for task schedulingproblem”, Journal of Parallel andDistributed Computing, Vol. 70, No.1,2010, pp. 13–22.
[39]. S.N.Sivanandam · S.N.Deepa,“Introduction to Genetic Algorithms”,Springer-Verlag Berlin Heidelberg, 2008.
[40]. E. S. H. Hou, R. Hong, and N.Ansari, “Efficient MultiprocessorScheduling Based On Genetic Algorithms”,Industrial Electronics Society, IECON'90., 16th Annual Conference of IEEE ,Vol. 2, 1990, pp. 1239 – 1243.
[41]. M.A. Al-Mouhamed, “Lower Bound onthe Number of Processors and Time forScheduling Precedence Graphs withCommunication Costs,” IEEE Transactions onSoftware Engineering., Vol. 16, No. 12,pp. 1390- 1401, 1990.
Mostafa R. Mohamed obtained hisB.Sc. degree of Electronics andCommunications engineering fromFaculty of Engineering, FayoumUniversity in 2006. Eng. Mostafainterests include parallel anddistributed systems, parallelprocessing, grid computing,
distributed operating systems, multi processorscheduling and genetic algorithms.
Medhat H. A. Awadalla obtained his B.Sc. degree fromHelwan University in 1991 in the Electronics andCommunications Department and his M.Sc in the fieldof reconfigurable computer architecture in 1996 fromHelwan University. He received his PhD from CardiffUniversity, UK in the field of mobile robots in 2005.He was a postdoctoral fellow at Cardiff University in2006 and currently he is working as an AssistantProfessor in Helwan University. His researchinterests include real time systems, multi processorscheduling, parallel and distributed systems, gridcomputing and sensor networks.