Hybrid Algorithm for Multiprocessor Task Scheduling

16
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, May 2011 ISSN (Online): 1694-0814 www.IJCSI.org 79 Hybrid Algorithm for Multiprocessor Task Scheduling Mostafa R. Mohamed 1 , Medhat H. A. AWADALLA 2 1 Information Systems Department, Faculty of Computers and Information, Fayoum University, El Fayoum, Egypt [email protected] 2 Communication, Electronics and Computers Department, Faculty of Engineering, Helwan University, Helwan, Egypt [email protected] Abstract Multiprocessors have become powerful computing means for running real-time applications and their high performance depends greatly on parallel and distributed network environment system. Consequently, several methods have been developed to optimally tackle the multiprocessor task scheduling problem which is called NP-hard problem. To address this issue, this paper presents two approaches, Modified List Scheduling Heuristic (MLSH) and hybrid approach composed of Genetic Algorithm (GA) and MLSH for task scheduling in multiprocessor system. Furthermore, this paper proposes three different types of chromosomes’ representations for genetic algorithm: task list (TL), processor list (PL) and combination of both (TLPLC). Extensive simulation experiments have been conducted on different random and real-world application graphs such as Gauss-Jordan, LU decomposition, Gaussian elimination and Laplace equation solver problems. Comparisons have been made with some algorithms like: list scheduling heuristics algorithm LSHs, Bipartite GA (BGA) [1] and Priority based Multi-Chromosome (PMC) [2]. The achieved results show that the proposed approaches significantly surpass the other approaches in terms of task execution time (makespan) and processor efficiency. Keywords: Multiprocessors, task scheduling, Genetic algorithm, makespan, parallel and distributed system, Modified List Scheduling Heuristic (MLSH). 1. Introduction The problem of scheduling a task graph of a parallel program onto a parallel and distributed computing system is a well- defined NP-hard problem that has received much attention, and it is considered one of the most challenging problems in parallel computing [3]. The scheduling problem have been addressed in several applications such as information processing, database systems, weather forecasting, image processing, fluid flow, process control, economics, operation research and real time high-speed stimulations of dynamical systems. The multiprocessor task scheduling problem considered in this paper is based on the deterministic model, which is the execution time of tasks and the data communication time between tasks that are assigned; and the directed acyclic task graph (DAG) that represents the precedence relations of the tasks of a parallel processing system [4]. The goal of such a scheduler is to assign tasks to available processors such that precedence requirements between tasks are satisfied and the overall length of time required to execute the entire program, the schedule length or makespan, is minimized. Many heuristic approaches for task scheduling have been proposed [5–10]. The reason for such proposals is because the precedence constraints between tasks can be non-uniform therefore rendering the need for a uniformity solution. We assume that the parallel processor system is uniform and non-preemptive.

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.