researcharticle learning based genetic algorithm for task...
TRANSCRIPT
Research ArticleLearning Based Genetic Algorithm for Task Graph Scheduling
Habib Izadkhah
Department of Computer Science Faculty of Mathematical Sciences University of Tabriz Tabriz Iran
Correspondence should be addressed to Habib Izadkhah izadkhahtabrizuacir
Received 20 May 2018 Revised 29 October 2018 Accepted 20 November 2018 Published 3 February 2019
Academic Editor Yangming Li
Copyright copy 2019 Habib Izadkhah This is an open access article distributed under the Creative Commons Attribution Licensewhich permits unrestricted use distribution and reproduction in any medium provided the original work is properly cited
Nowadays parallel and distributed based environments are used extensively hence for using these environments effectivelyscheduling techniques are employedThe scheduling algorithm aims to minimize the makespan (ie completion time) of a parallelprogram Due to the NP-hardness of the scheduling problem in the literature several genetic algorithms have been proposed tosolve this problem which are effective but are not efficient enough An effective scheduling algorithm attempts to minimize themakespan and an efficient algorithm in addition to that tries to reduce the complexity of the optimization process The majorityof the existing scheduling algorithms utilize the effective scheduling algorithm to search the solution space without consideringhow to reduce the complexity of the optimization process This paper presents a learner genetic algorithm (denoted by LAGA) toaddress static scheduling for processors in homogenous computing systems For this purpose we proposed two learning criterianamed Steepest Ascent Learning Criterion andNextAscent Learning Criterionwherewe use the concepts of penalty and reward forlearning Hence we can reach an efficient search method for solving scheduling problem so that the speed of finding a schedulingimproves sensibly and is prevented from trapping in local optimal It also takes into consideration the reuse idle time criterionduring the scheduling process to reduce the makespan The results on some benchmarks demonstrate that the LAGA providesalways better scheduling against existing well-known scheduling approaches
1 Introduction
The parallel processor revolution is underway Move towardthe use of parallel structures is one of the greatest challengesfor software industries In 2005 Justin Rattner chief tech-nology officer of Intel Corporation said ldquoWe are at the cuspof a transition to multicore multithreaded architectures andwe still have not demonstrated the ease of programming themove will require rdquo [1]
A good scheduling of a sequential program onto theprocessors (or computers) is critical to effective utilization ofthe computing power of amultiprocessor (ormulticomputer)system [2] To perform scheduling a sequential program isrepresented by a Directed Acyclic Graph (DAG) which iscalled a task graph In this graph a node represents a taskwhich is a set of instructions that get a set of inputs toproduce a set of outputs and must be executed serially in thesame processor Computation cost associated with each nodeindicates the amount of computation The edges in the DAGcorrespond to the communication messages and precedenceconstraints among the tasks as they show the communication
time from one task to another This number is called thecommunication cost and is denoted by cij [3] A sample DAGis shown in Figure 1 In a task graph a node is not ready torun until all its required data are received from its parentnodes The communication cost between two nodes whichare allocated to the same processor is considered to be zero
Scheduling has been used in two different areas inperformance evaluation in the literature multiprocessorsdistributed systems and cloud computing The purpose ofthe scheduling onmultiprocessors systems is to minimize thecompletion time of DAG on a set of homogeneous or hetero-geneous processors This helps to speed up a sequential pro-gram Cloud computing also utilizes scheduling techniquesbut with different goals such as response time energy con-summation throughput and RAM efficiency Some papersthat use scheduling in this regard are [4ndash7] This paper aimsto present an algorithm for scheduling a sequential ontomultiprocessors systems not cloud computing
In the scheduling problem the completion time is thetime required for a program to be completed Figure 2 showsa sample timeline (scheduling) in the form of a Gantt chart
HindawiApplied Computational Intelligence and So ComputingVolume 2019 Article ID 6543957 15 pageshttpsdoiorg10115520196543957
2 Applied Computational Intelligence and Soft Computing
T05
T110
T220
T320
T510
T65
T715
T430 T9
10
T810
T1010
T1115
T1220
3 83 5
8
103 8 6
1 5
5
25 8
8
10
12
15
10
Figure 1 A sample task graph
1
0
5
2 4
3 6
9 7
10
8
11
12
10 20 33 53 58 73 83 95 110
5 25 55 65 80 90 125 140
Processor
Time
0
1
Figure 2 A sample task graph
on two processors for task graph shown in Figure 1 As can beseen in this figure the completion time for this task graph is140
The performance of a scheduling algorithm is usuallymeasured in terms of completion time and the runningtime of the algorithm There is usually a trade-off betweenthese two performance parameters that is efforts to obtaina minimum completion time often incur a higher timecomplexity
Due to the NP-hardness of the scheduling problemthe use of search-based and evolutionary approaches suchas genetic algorithm is to be more reasonable than otherapproaches [2] The searching procedure in search-basedalgorithms can be performed in two ways global search andlocal search Global search-based methods usually considerthewhole search space to find a good solutionThesemethodshave an operator to explore new regions in search spaceThe genetic algorithm is one of the main search methodsthat use the global search strategy This algorithm has noexploitation ability and also the speed of convergence is not
sufficient while searching for global optima Local searchalgorithms such as Hill Climbing and Learning Automatautilize exploitation ability to improve the quality of thealready existing solutions as well as the rate of convergence
Hill climbing algorithm starts froman initial solution andthen iterativelymoves from the current solution to a neighborsolution (to be defined) in the search space by applying localchanges There are no learning concepts in this algorithmLearning is an ability of a system to improve its responsesbased on past experience Reinforcement learning techniquesare used to choose the best response based on the rewards orpunishments taken from the environment Learning automatais an automaton-based approach for learning Learningautomata learn the optimal action through past experiencesand repeated interactions with its stochastic environmentThe actions are chosen according to a specific probabilitydistribution which is updated based on the environmentalresponse
The problem addressed in this paper is the schedulingof a task graph on homogeneous processors for minimizingthe completion time to achieve a higher performance in theexecution of parallel programs To achieve this aim this paperpresents a new learning schema inspired by the behaviorsof both hill climbing algorithm and learning automata Wethen propose an efficient search approach which adds a newlearning function to the evolutionary process of the geneticalgorithm for scheduling This new algorithm combinesglobal search (genetic algorithm) and local search (usingthe concepts of penalty reward and neighbors) strategiesfor scheduling of a task graph This causes the evolutionaryprocess speed ie convergence rate to increase considerablyand be prevented from trapping in local optimal Hence thealgorithm at the same time with other algorithms can searchmore search-space of the problem and find the solution withhigher quality Also the proposed algorithm can be improvedby employing the optimal reuse of idle time on processors andthe use of the critical path of the task graph for constructingthe initial population This technique enables the GA toschedule the task graph better than previous algorithmsResults of the conducted experimental demonstrate thatLAGA is superior to the Parsa CPGA TDGA CGL BCGADSC MCP LC and LAST algorithms
The contributions of this paper are summarized as below
(1) Proposing a new learning schema inspired by thebehaviors two local search-based algorithms namelyhill climbing algorithms and learning automata
(2) Improving the genetic algorithmevolutionary processusing the new learning schema
(3) Proposing optimal reuse idle time heuristic aiming toreuse idle times on the processors
(4) Proposing new reward and penalty function whichis based on the earliest start time for task graphscheduling
The remainder of this dissertation is structured as followsIn Section 2 we provide an overview of related work InSection 3 a new algorithm for scheduling a task graph is
Applied Computational Intelligence and Soft Computing 3
proposed In Section 4 the results of the proposed algorithmare evaluated Finally Section 5 concludes the paper
2 Background and Previous Works
The need for accurate task graph scheduling has been widelyrecognized by the research community In the literature thereare many works about the task graph scheduling algorithmsThe Scheduling techniques are typically categorized into twoclasses the first class is homogeneous [12] and the secondone is heterogeneous [13 14] In homogeneous systems theprocessing power of all processors is considered similarIn heterogeneous type processors have different processingpower therefore for each task time on every processorshould be given separately In this paper scheduling isassumed as homogeneous
Generally all task graph scheduling algorithms can begrouped into two categories static and dynamic Staticscheduling is performed off-line in other words desirableparallel program characteristics such as computation costscommunication cost and data dependencies are knownbefore execution [11] Dynamic scheduling algorithms can befurther grouped into two categories accomplished quicklymode and batch processing mode algorithms In the accom-plished quicklymode a task ismapped as soon as it arrives Inthe batch mode tasks are not mapped as they arrive insteadthey are collected into a list for scheduling and mapping [12]The work in this paper is solely concerned with the staticscheduling
Static task graph scheduling algorithms are classifiedinto two categories Heuristic-based algorithms and guidedrandom search-based algorithms [14] Heuristic-based algo-rithms have acceptable performance with a low complexityThese algorithms are further classified into three classeslist-based algorithms clustering-based algorithms and taskduplication algorithms
List-based scheduling approaches such as HEFT [15] andCPOP [14] consist of two phases of tasks prioritization andprocessor selection (to assign the task to the processor) Taskduplication approaches aim such as STDS [16] HCNF [17]is to run a task on more than one processor to reduce thewaiting time for the dependent tasks The main idea behindthis approaches is to use the processors time gap
In the literature there are several heuristic-based(nonevolutionary) scheduling algorithms such as PEFT [13]ETF [18] DSC [19] DLS [20] HLFET [20] LAST [21] ISH[22] MCP [23] LC [24] EZ [25] and MTSB [26] Mostof these algorithms consider several simple assumptionsabout the structure of a task graph [2 12] For exampleignoring task communication cost or considering thesame computational cost for all tasks [2] or assuming atree structure for a task graph [8] is some of these simpleassumptions In general nowadays many recent algorithmsare designed to deal with any graphs Moreover schedulingon a limited number of processors called Bounded Numberof Processors (BNP) or the availability of unlimited numberof processors called Unbounded Number of Clusters (UNC)is another assumption of scheduling algorithms
Since the task graph scheduling problem is an NP-Hard problem [2 12] even simplified versions of the taskscheduling problem are NP-Hard Let P and T indicate thenumber of processors and the number of tasks respectivelythus the possible number of task to processor allocation isPT and the possible number of task orderings is T then theoverall search space is TPT Considering this huge searchspace obtaining an optimal schedule by a comprehensivesearch of all possible schedules is not achievable hence anevolutionary approach such as genetic algorithms may beapplied to solve such problems effectively [8 27]
Using genetic algorithms to solve task graph schedulinghave received much attention The main difference amonggenetic algorithms is the encoding scheme used to representa schedule The structure of encoding significantly impactsthe complexity of the genetic process to the convergenceof an optimal schedule For example Wang and Korfhage[10] presented a matrix representation of schedules whichrecords the execution order of the tasks on each processor Inthis encoding the crossover and mutation operators do notprevent the production of invalid solutions Although existthe repair operations to correct these solutions Howeverthe operations consume additional time Parsa et al [8] pro-posed a new representation of schedules based on the stringrepresentation In this new encoding scheme a schedulingsolution is represented by an array of pairs (ti pj) where tiindicates the task number assigned to the processor pj Usingthis representation both the execution order of the tasks oneach processor and the global order of the tasks executionson the processors are determined in each chromosome Houet al [9] proposed a variable-length representation whichorders the tasks on each processor Their proposed stringrepresentation prevents the production of invalid solutionsWhereas this representation cannot span the complete spaceof possible schedules it may be impossible for the geneticalgorithm to converge to an optimal solution
Omara and Arafa [11] proposed two genetic-based algo-rithms with a new encoding scheme namely Critical PathGenetic Algorithm (CPGA) and Task-Duplication GeneticAlgorithm (TDGA) The CPGA algorithm tries to schedulethe tasks placed on the critical path on the same processoraiming to reduce the completion timeThe second algorithmTDGA is based on the principle of task duplication to mini-mize the communication overhead One of the weaknesses ofthismethod is to generate invalid chromosomesThe runtimeof these two algorithms is very high for finding a schedulingbecause it uses some internal algorithms for scheduling suchas critical path and task duplication Also the performance ofthe algorithm is not clear on benchmarked DAGs
Daovod et al [28] proposed a new scheduling algorithmwhich is called the Longest Dynamic Critical Path (LDCP)to support scheduling in heterogeneous computing systemsThe LDCP is a list-based scheduling algorithm whicheffectively selects the tasks for scheduling in heterogeneouscomputing systemsThe accurate and better selection of tasksenables the LDCP to provide a high quality in schedulingthe heterogeneous systems The function of this algorithm iscompared with two well-known HEFT and DLS algorithms
4 Applied Computational Intelligence and Soft Computing
in this context One of the weaknesses of this algorithm is itsgreediness which will not respond well in the case of large-scale DAGs
Bahnasawy et al [29] proposed a new algorithmnamed Scalable Task Duplication Based Scheduling for staticscheduling in computing systems with heterogeneous multi-processors Considering the priority between the tasks thisalgorithm divides the graph into levels so that the tasks ateach level are arranged in a list based on their size The tasksbased on their priority are assigned to the first processorfound in the list One of the weaknesses of this algorithm is itsgreediness which will not function well in solving large-scaleDAGs
Naser et al [30] proposed a scheduling algorithm calledCommunication Leveled DAG with Duplication (CLDD) inthe heterogeneous multiprocessor systems This algorithmconsisted of three phases (1) level arrangement (2) tasksprioritization and (3) processor selection
Wen [31] proposed a hybrid algorithm of genetics andvariable neighborhood search (VNS) [32] to minimize thetasks scheduling in the heterogeneous multiprocessor sys-tems This algorithm has derived a variety of features fromGA and VNS
NSGA-II [33] is a genetic-based algorithm for task graphscheduling In this algorithm does not exist the dependencyamong the tasks and elitism operator is used to protect thegood solutions in the evolutionary process of the geneticalgorithm To provide diversity in solution this algorithmuses crowding distance technique
TSB algorithm [34] belongs to a class of scheduling algo-rithms called BNP TSB utilizes two queues namely readytask queue and not ready task queue to perform schedulingThen it uses breath first search traversal algorithm forselecting tasks The MTSB algorithm [26] also belongs tothe BNP class with the difference that unlike the algorithmTSB it does not consider communication time between tasksand processors
Akbari et al [35] proposed a genetic-based algorithmfor static task graph scheduling in heterogeneous computingsystems Their proposed algorithm presents a new heuristicto generate an initial population and also proposed newoperators aiming to guarantee the diversity and convergenceAkbari and Rashidi [36] employed cuckoo optimizationalgorithm for static task graph scheduling in heterogeneouscomputing systems Because this algorithm works on con-tinuous space hence they proposed a discretization of thisalgorithm to solve the task graph scheduling problem
Moti Ghader et al [37] proposed a learning automata-based algorithm for static task graph scheduling This algo-rithm uses learning automata to represent different possiblescheduling Since this algorithm is a local-based searchalgorithm thus it traps in the local optima
A significant performance assessment and comparisonof the addressed algorithms is a complex task and it isnecessary to consider a number of issues First there areseveral scheduling algorithms based on various assumptionsSecond the performance of the most existing algorithm isevaluated on small sized task graphs and hence it is notclear their performance on large-scale problem size [38] Due
Table 1 Classic chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2
to the NP-hardness of the task graph scheduling the rateof convergence when searching for global optima is still notsufficient For this reason there is a need formethods that canimprove convergence speed to achieve a good scheduling
3 The New Algorithm
In this section a new genetic algorithm is presented for thetask graph scheduling problem which is based on learningIn this algorithm each solution is represented by a chromo-some Each chromosomersquos cell is called a geneThe number ofgenes depends on the number of tasks We use two differentchromosome structures in our algorithm named classic andextended chromosome structure In classic chromosome thestructure of each chromosome includes two rows where thefirst row is task number and the second row is processornumber assigned to the task (see Table 1)
The extended chromosome structure is utilized for thelearning processThis representation has four rows where thefirst row is task number the second row is processor numberassigned to the task the third row is the depth of each geneand the fourth row is selection probability of each task neededto perform learning The total probability of them initially isequal (Table 2)
In extended chromosome structure a chromosome isdefined as a tuple 119886 V 120573 120593 119865 119875 119879 as follow
(i) 119886 = 1198861 119886119903 is a set of genes (r is number of thetasks)
(ii) V = V1 V119903 is a set of processors in the chromo-some
(iii) 120573 = 1205731 120573119903 This is the outcome of evaluationof a gene considering interactions with its stochasticenvironment and indicates that a gene must be finedor rewarded
(iv) 1205931 1205932 120593119877119873 Let N and R denote the depth allocatedto a gene and the number of genes respectively thisshows a set of internal states for a gene
(v) 119865 120593 times 120573 997888rarr 120593 This is a mapping function Thisfunction based on evaluating a gene determines thenext action for a gene
(vi) 119875 = 1199011 119901119903 is a chromosomersquos genes probabilityThis vector (fourth row inTable 2) shows the selectionprobability of each gene to perform reward or penaltyoperations Based on the fact that the penalty is takenor rewarded these probabilities are updated If noprior information is available there is no basis inwhich the different genes ai can be distinguished Insuch a case all gene probabilities would be equal - a
Applied Computational Intelligence and Soft Computing 5
Table 2 Extended chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2Depth 0 0 0 0 0 0Probability 016 016 016 016 016 016
Step 1- Create the initial population (classic chromosomes) as described in Section 31
Step 2-While termination condition has not been satisfiedDo
- For each classic chromosome in the current population Do- Convert it to the extended structure chromosome (such as Table 2)- Enhance chromosome by applying learning operators (reward and penalty) on the chromosome until the
makespan could be less described in Section 34- Convert extended chromosome to classic chromosome by removing rows related depth and probability- Apply the standard roulette wheel selection strategy for selecting potentially useful individuals for recombination- Apply the standard two-point crossover operator on processors in two enhanced chromosomes- Apply the standard mutation operator on processors in two enhanced chromosomes- Apply the reuse idle time heuristic on 30 of best chromosomes described in Section 33
Algorithm 1 A new task graph scheduling algorithm
- Calculate the t-level + b-level values for all the tasks- Considering t-level + b-level identify all the tasks placed on the critical path- Repeat
- Select a task amongst the tasks ready to schedule- If the selected task placed on the critical pathThen
Assign the task to a processor that has assigned other tasks on the critical pathElse Find a task with highest communication cost with this task and locate both of them on
the same processor- Until the list of tasks is empty
- At first each gene on the chromosome is in the boundary state or zero depth and its probability is119875119894(119905) = 1119903
Algorithm 2
ldquopure chancerdquo situation For an r-gene chromosomethe gene probability is given by
119875119894 (119905) = 1119903 119894 = 1 2 119903 (r is number of tasks) (1)
(vii) 119879 = 119879[119886(119899) 120573(119899) 119901(119899)] indicates the parametersrequired for a learning
In Algorithm 1 the steps of our proposed task graph schedul-ing algorithm are given Different parts of this algorithm arefurther described in the following sections
The objective of the new task scheduling algorithm isto minimize the completion time Some terms are used theproposed algorithm is defined below
Definition 1 In a task graph the t-level of node i is the lengthof the longest path from an entry node to i (excluding i) Herethe length of a path is the sumof all the node and edgeweightsalong the path [39]
Definition 2 The b-level of a node is the length of the longestpath from the node to an exit node [39]
Definition 3 A Critical Path (CP) of a task graph is a pathfrom an entry node to an exit node as the sum of executiontime and communication cost is the maximum The nodeslocated on the CP can be identified with their values of (t-level + b-level) ie t-level + b-level for that node should bemaximized [39]
Definition 4 ESTij mdash Earliest Start Time of task i andprocessor j The EST refers to the earliest execution start timeof the node ni on processor pj
31 Initial Population The initial population is constructedas shown in Algorithm 2
The initial population is generated in such a way thatthe overall communication time is minimized To do thisthe algorithm identifies all tasks located on the critical path
6 Applied Computational Intelligence and Soft Computing
(1) For each task in a chromosomeDoSet its reference count equal to the number of immediate parents of the task in the task graph correspondingto the chromosome
(2) For each processor Pi DoSet its local timer si to zeroAdd execution time of processorrsquos first task to si(3) Set the global timer S to one
(4) RepeatFor each processor Pi Do
Read the value of timer si of PiIf S = si Then
Reduce one from the reference count of each child of the taskSet EST of each child of the task that are not assigned to Pi toMax (Current EST of the child Sum of si and communication cost between the tasks)Take next task of Pi from the chromosomeAdd the sum of S and execution time of the task to si
If EST of the task is bigger than S or reference count of task is not zeroThenadd one unit of time to si
Add one unit of time to the global timer S Until all the tasks are scheduled
(5) makespan = the maximum value of the timers si of all processors Pi as the fitness of the chromosome
Algorithm 3 Schedule length
and then tries to shorten the critical path in the DAGby assigning the tasks on the critical path into the sameprocessor By reducing the length of the critical path theminimum completion time of the scheduling is reduced
32 Computing Fitness of Chromosome Quality of eachthe chromosome depends on the completion time of thescheduling The completion time of a scheduling representsits fitness The objective is to minimize the completion timeIn the proposed algorithm first the EST for all tasks arecalculated The value of an entry ESTij referring to task i andprocessor j will be given by
119864119878119879119894119895 = max (119865119879119895 119864119879119879119894119895) (2)
where FTj is the time that machine j finishes the executionof all previous tasks of task i and ETTij indicates the timethat all the data required to run task i on processor jis ready To calculate this time the finish time and timerequired to transfer data between processors of all immediatepredecessors of task i in the task graph are considered
The fitness function used to guide the evolutionaryprocess of the genetic algorithm for finding a schedulingis based on the total finish time of the schedule which isobtained by
Makespan = max FT (Pj) for j = 1 2 Np (3)
whereNp and FT(Pj) denote the number of processor and thefinish time of the last task in the processor Pj respectively
max makespan = max makes-spans Fitness value = max makes-pan ndash makespan
(4)
In our method the length of an obtained schedule andmakespan is computed as Algorithm 3
In the LAGA we employed the roulette wheel selectionoperator to select potentially useful chromosomes for thereproduction process The fitness value is used to associatea selection probability for each chromosome Let 119891i andN denote the fitness value of the chromosome i (whichis calculated by (4)) and the number of chromosomes inthe population respectively The selection probability of thischromosome Pi is calculated as follows
119875119894 = 119891119894sum119873119895=1 119891119894 (5)
Using (5) a proportion of the wheel is assigned to each chro-mosomeThe higher the fitness value of the chromosome thehigher its opportunities of being elected for the reproductionprocess
33 Reuse Idle Time A reuse idle time criterion can improvethe quality of a schedule [40] In this section we presenta reuse idle time greedy algorithm to control the originalsystem and improve the quality of returned results For arandomly selected chromosome in the population in eachgeneration we assign some tasks to idle time slots Forexample Figure 3 shows a sample of the Gantt schedulingchart related to Figure 1 According to Figure 3 (left) thetime gap in the P1 processor is as large as 10 units and thecompletion time for the processor P1 is equal to 148 Also theweight of the task t10 is equivalent to 10 By applying changesthe t10 can start from the time 73 and the completion timereduces from 148 to 138 units with this reuse as can be seenin Figure 3 (left)
Applied Computational Intelligence and Soft Computing 7
Let STT be Start Time of TaskSIT be Idle Start TimeEIT be Idle End Time
(tj) denotes task jFor P=1 to the number of processors
For i=1 to the number of slots on processor PFor each slot i
Create ready task list for doing this task select the tasks that for thoseSTT gt= EIT ie select the tasks that is scheduled after a slotSort tasks acceding based on w(tj)
If (((EITi - SITi) gt= w(tj)) ampamp DAT(tj Pi) lt= SITi)Allocate task j to slot iUpdate slot start and end timeUpdate the ready task listAfter rescheduling newly created slot is added to the slot ready list
Algorithm 4 Reuse idle time
After applying reuse heuristicBefore applying reuse heuristic
10 5
2
4
3 6 9
7
10 8 11 12
15
18 6338 58 73 83 93 118
5 25 55 66 81
138
Time
0
1
10 5
2
4
3 6 9
7
108 11 12
15
18 6338 58 73 83 93 103
5 25 55 66 81
128 148
Time
0
1
Processor
Processor
Figure 3 Reusing the standby resources
The algorithm of this heuristic is shown in Algorithm 4while all tasks and all slots are not addressed this algorithmwill be repeated Let idle start time and idle end time of slot idenoted by SITi and EITi respectively Also assume DAT(tiPi) and w(ti) denote data arrival time of task ti on processorPi and execution time of task ti respectively Task ti allocatedto slot si when
If (((EITi - SITi) gt= w(ti)) ampamp DAT(ti Pi) lt= SITi)For example assume the processor P1 has an idle slot andthe SIT1 =73 and EIT1 =83 On the other hand w(t10)= 10and DAT (t10 P1)=59 In our algorithm t10 is scheduled tostart time 93 By applying the reuse idle algorithm t10 can berescheduled to start at time 83
We need a list that maintains all of SIT and EIT foreach slot The algorithm tries to fill the slots as much aspossible Our aim is to select the maximum tasks that meetthe above requirement For doing this task first we sort thetasks ascending considering their execution time ie w(ti)then using Algorithm 4 we assign the tasks in slots
The reuse idle time heuristic more minimizes themakespan however this algorithm for large-scale task graphsmakes an overhead cost in terms of time Therefore we limitreuse idle time heuristic just to 30 of best chromosomes
This means that among the chromosomes of a generation30 of them with the shortest completion time are selectedto apply reuse idle time heuristic
34 Learning Operators The evolutionary process of theLAGA is enhanced using reward and penalty operatorsTheseoperators are utilized for learning In the LAGA in additionto evaluating the chromosome the genes of a chromosomeare assessed based on their outcome on chromosomersquos fitnessThus the most fitting location for genes within chromosomesand the most proper chromosome inside the population isregularly discovered during the evolutionary process of thegenetic algorithm Intuitively the algorithm selects a gene achromosome and evaluates it based on certain criteria If theresult of the evaluation is good this gene will be rewardedThis means that the gene in the chromosome is in the rightplace and should be protected from future changes But if theevaluation result is not good the gene must be penalizedIn this case if the gene has not already been rewarded orthe amount of penalties and rewards are the same the wholepossible neighbors (to be defined) of the gene are searched fora penalty action The neighbor with the highest quality willbe the replacement of this gene But if the number of rewardsreceived by the gene is greater than the number of receivedpenalties one of the numbers of rewards is reduced
8 Applied Computational Intelligence and Soft Computing
Formally the penalty and reward operators are employedin the LAGA as follows
during the scheduling process the LAGA selects gene119886119894 in a chromosome and assesses it if it gets a promisingfeedback the probability 119875119894(119899) of this gene increases and theprobability of other genes decreases If it gets an inappro-priate feedback the probability 119875119894(119899) of this gene decreasesand probability of other genes increases In this paper weutilize a linear learning scheme for learning This schemewas considered first in mathematical psychology [41] butwas later independently conceived and introduced into theengineering literature by Shapiro and Narendra [41] LettingΓ119895 and Ψ119895 be two functions for a linear learning scheme withmultiple genes we have
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) 0 lt 120572 lt 1 (6)
Γ119895 [119901119895 (119899)] = 120573119898 minus 1 minus 120573119901119895 (119899) (7)
In (6) and (7) m 120572 and 120573 are the number of genes of achromosome reward and penalty parameters respectivelyThe parameters 120572 and 120573 are used to control the rate ofconvergence of a chromosome According to (6) and (7) if120572 and 120573 are equal the learning algorithm will be knownas linear reward penalty If 120573 ≪ 120572 the learning algorithmwill be known as linear reward epsilon penalty and if b=0the learning algorithm will be a linear reward inactionDepending on whether penalty or reward has been made theprobability of genes is updated as follows
A promising feedback for gene i
119875119895 (119899 + 1) = 119875119895 (119899) minus Ψ119895 [119875119895 (119899)] forall119895 119895 = 119894 (8)
but
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) (9)
so
119901119895 (119899 + 1) = 119901119895 (119899) minus 120572119901119895 (119899) = (1 minus 120572) 119901119895 (119899) (10)
and
119901119894 (119899 + 1) = 119901119894 (119899) +119903
sum119895=1119895 =1
Ψ119895 [119901119895 (119899)]
= 119901119894 (119899) + sum119895=1119895 =119894
120572119901119895 (119899)
= 119901119894 (119899) + 120572sum119901119895 (119899)all values except j = i so
= 119901119894 (119899) + 120572 (1 minus 119901119894 (119899))
(11)
An inappropriate feedback for gene i
119901119895 (119899 + 1) = 119901119895 (119899) + Γ119895 [119901119895 (119899)] (12)
but
Γ119895 (119901119895 (119899)) = 120573119898 minus 1 minus 119887119901119895 (119899) (13)
so
119901119895 (119899 + 1) = 119901119895 (119899) + 120573119898 minus 1 minus 120573119901119895 (119899)
= 120573119898 minus 1 + (1 minus 120573) 119901119895 (119899)
(14)
and
119901119894 (119899 + 1) = 119901119894 (119899) minus119903
sum119895=1119895 =119894
Γ119895 [119901119895 (119899)]
= 119901119894 (119899) minussum( 120573119903 minus 1 minus 120573119901119895 (119899))
= (1 minus 120573) 119901119894 (119899) 0 le 120573 lt 1
(15)
These probabilities cause good genes to find their place inthe chromosome over time The main intention of theseprobabilities is to exploit the previous behavior of the systemin order to make decisions for the future hence learningoccurs To perform learning the number of internal states ofeach gene must be determined These internal states for eachgene maintain the number of failures and successes Howto select a gene from a chromosome is based on calculatingthe cumulative probability of each gene as follows (pi is geneprobability)
q1 = p1q2 = p1 + p2
qn = p1 + p2 + + pn
(16)
A random number is generated between 0 and 1 If generatedrandom number is higher than qi and lower than qj thecorresponding gene to qi is selected to evaluate for rewardand penalty Obviously genes with higher probabilities arepreferred for reward or penalty
In each iteration step of the algorithm a gene ofeach chromosome is selected based on its probability((8) (11) (12) and (15)) and this gene is evaluated usingAlgorithm 5
Generally a gene is penalized or rewarded as followsSuppose that a chromosome includes R genes (1205721 12057221205723 120572119877) and has RN internal states (1205931 1205932 120593119877119873) Inter-
nal states of 1205931 1205932 120593119873 are related to 1205721 120593119873+1 120593119873+2 1205932119873
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
2 Applied Computational Intelligence and Soft Computing
T05
T110
T220
T320
T510
T65
T715
T430 T9
10
T810
T1010
T1115
T1220
3 83 5
8
103 8 6
1 5
5
25 8
8
10
12
15
10
Figure 1 A sample task graph
1
0
5
2 4
3 6
9 7
10
8
11
12
10 20 33 53 58 73 83 95 110
5 25 55 65 80 90 125 140
Processor
Time
0
1
Figure 2 A sample task graph
on two processors for task graph shown in Figure 1 As can beseen in this figure the completion time for this task graph is140
The performance of a scheduling algorithm is usuallymeasured in terms of completion time and the runningtime of the algorithm There is usually a trade-off betweenthese two performance parameters that is efforts to obtaina minimum completion time often incur a higher timecomplexity
Due to the NP-hardness of the scheduling problemthe use of search-based and evolutionary approaches suchas genetic algorithm is to be more reasonable than otherapproaches [2] The searching procedure in search-basedalgorithms can be performed in two ways global search andlocal search Global search-based methods usually considerthewhole search space to find a good solutionThesemethodshave an operator to explore new regions in search spaceThe genetic algorithm is one of the main search methodsthat use the global search strategy This algorithm has noexploitation ability and also the speed of convergence is not
sufficient while searching for global optima Local searchalgorithms such as Hill Climbing and Learning Automatautilize exploitation ability to improve the quality of thealready existing solutions as well as the rate of convergence
Hill climbing algorithm starts froman initial solution andthen iterativelymoves from the current solution to a neighborsolution (to be defined) in the search space by applying localchanges There are no learning concepts in this algorithmLearning is an ability of a system to improve its responsesbased on past experience Reinforcement learning techniquesare used to choose the best response based on the rewards orpunishments taken from the environment Learning automatais an automaton-based approach for learning Learningautomata learn the optimal action through past experiencesand repeated interactions with its stochastic environmentThe actions are chosen according to a specific probabilitydistribution which is updated based on the environmentalresponse
The problem addressed in this paper is the schedulingof a task graph on homogeneous processors for minimizingthe completion time to achieve a higher performance in theexecution of parallel programs To achieve this aim this paperpresents a new learning schema inspired by the behaviorsof both hill climbing algorithm and learning automata Wethen propose an efficient search approach which adds a newlearning function to the evolutionary process of the geneticalgorithm for scheduling This new algorithm combinesglobal search (genetic algorithm) and local search (usingthe concepts of penalty reward and neighbors) strategiesfor scheduling of a task graph This causes the evolutionaryprocess speed ie convergence rate to increase considerablyand be prevented from trapping in local optimal Hence thealgorithm at the same time with other algorithms can searchmore search-space of the problem and find the solution withhigher quality Also the proposed algorithm can be improvedby employing the optimal reuse of idle time on processors andthe use of the critical path of the task graph for constructingthe initial population This technique enables the GA toschedule the task graph better than previous algorithmsResults of the conducted experimental demonstrate thatLAGA is superior to the Parsa CPGA TDGA CGL BCGADSC MCP LC and LAST algorithms
The contributions of this paper are summarized as below
(1) Proposing a new learning schema inspired by thebehaviors two local search-based algorithms namelyhill climbing algorithms and learning automata
(2) Improving the genetic algorithmevolutionary processusing the new learning schema
(3) Proposing optimal reuse idle time heuristic aiming toreuse idle times on the processors
(4) Proposing new reward and penalty function whichis based on the earliest start time for task graphscheduling
The remainder of this dissertation is structured as followsIn Section 2 we provide an overview of related work InSection 3 a new algorithm for scheduling a task graph is
Applied Computational Intelligence and Soft Computing 3
proposed In Section 4 the results of the proposed algorithmare evaluated Finally Section 5 concludes the paper
2 Background and Previous Works
The need for accurate task graph scheduling has been widelyrecognized by the research community In the literature thereare many works about the task graph scheduling algorithmsThe Scheduling techniques are typically categorized into twoclasses the first class is homogeneous [12] and the secondone is heterogeneous [13 14] In homogeneous systems theprocessing power of all processors is considered similarIn heterogeneous type processors have different processingpower therefore for each task time on every processorshould be given separately In this paper scheduling isassumed as homogeneous
Generally all task graph scheduling algorithms can begrouped into two categories static and dynamic Staticscheduling is performed off-line in other words desirableparallel program characteristics such as computation costscommunication cost and data dependencies are knownbefore execution [11] Dynamic scheduling algorithms can befurther grouped into two categories accomplished quicklymode and batch processing mode algorithms In the accom-plished quicklymode a task ismapped as soon as it arrives Inthe batch mode tasks are not mapped as they arrive insteadthey are collected into a list for scheduling and mapping [12]The work in this paper is solely concerned with the staticscheduling
Static task graph scheduling algorithms are classifiedinto two categories Heuristic-based algorithms and guidedrandom search-based algorithms [14] Heuristic-based algo-rithms have acceptable performance with a low complexityThese algorithms are further classified into three classeslist-based algorithms clustering-based algorithms and taskduplication algorithms
List-based scheduling approaches such as HEFT [15] andCPOP [14] consist of two phases of tasks prioritization andprocessor selection (to assign the task to the processor) Taskduplication approaches aim such as STDS [16] HCNF [17]is to run a task on more than one processor to reduce thewaiting time for the dependent tasks The main idea behindthis approaches is to use the processors time gap
In the literature there are several heuristic-based(nonevolutionary) scheduling algorithms such as PEFT [13]ETF [18] DSC [19] DLS [20] HLFET [20] LAST [21] ISH[22] MCP [23] LC [24] EZ [25] and MTSB [26] Mostof these algorithms consider several simple assumptionsabout the structure of a task graph [2 12] For exampleignoring task communication cost or considering thesame computational cost for all tasks [2] or assuming atree structure for a task graph [8] is some of these simpleassumptions In general nowadays many recent algorithmsare designed to deal with any graphs Moreover schedulingon a limited number of processors called Bounded Numberof Processors (BNP) or the availability of unlimited numberof processors called Unbounded Number of Clusters (UNC)is another assumption of scheduling algorithms
Since the task graph scheduling problem is an NP-Hard problem [2 12] even simplified versions of the taskscheduling problem are NP-Hard Let P and T indicate thenumber of processors and the number of tasks respectivelythus the possible number of task to processor allocation isPT and the possible number of task orderings is T then theoverall search space is TPT Considering this huge searchspace obtaining an optimal schedule by a comprehensivesearch of all possible schedules is not achievable hence anevolutionary approach such as genetic algorithms may beapplied to solve such problems effectively [8 27]
Using genetic algorithms to solve task graph schedulinghave received much attention The main difference amonggenetic algorithms is the encoding scheme used to representa schedule The structure of encoding significantly impactsthe complexity of the genetic process to the convergenceof an optimal schedule For example Wang and Korfhage[10] presented a matrix representation of schedules whichrecords the execution order of the tasks on each processor Inthis encoding the crossover and mutation operators do notprevent the production of invalid solutions Although existthe repair operations to correct these solutions Howeverthe operations consume additional time Parsa et al [8] pro-posed a new representation of schedules based on the stringrepresentation In this new encoding scheme a schedulingsolution is represented by an array of pairs (ti pj) where tiindicates the task number assigned to the processor pj Usingthis representation both the execution order of the tasks oneach processor and the global order of the tasks executionson the processors are determined in each chromosome Houet al [9] proposed a variable-length representation whichorders the tasks on each processor Their proposed stringrepresentation prevents the production of invalid solutionsWhereas this representation cannot span the complete spaceof possible schedules it may be impossible for the geneticalgorithm to converge to an optimal solution
Omara and Arafa [11] proposed two genetic-based algo-rithms with a new encoding scheme namely Critical PathGenetic Algorithm (CPGA) and Task-Duplication GeneticAlgorithm (TDGA) The CPGA algorithm tries to schedulethe tasks placed on the critical path on the same processoraiming to reduce the completion timeThe second algorithmTDGA is based on the principle of task duplication to mini-mize the communication overhead One of the weaknesses ofthismethod is to generate invalid chromosomesThe runtimeof these two algorithms is very high for finding a schedulingbecause it uses some internal algorithms for scheduling suchas critical path and task duplication Also the performance ofthe algorithm is not clear on benchmarked DAGs
Daovod et al [28] proposed a new scheduling algorithmwhich is called the Longest Dynamic Critical Path (LDCP)to support scheduling in heterogeneous computing systemsThe LDCP is a list-based scheduling algorithm whicheffectively selects the tasks for scheduling in heterogeneouscomputing systemsThe accurate and better selection of tasksenables the LDCP to provide a high quality in schedulingthe heterogeneous systems The function of this algorithm iscompared with two well-known HEFT and DLS algorithms
4 Applied Computational Intelligence and Soft Computing
in this context One of the weaknesses of this algorithm is itsgreediness which will not respond well in the case of large-scale DAGs
Bahnasawy et al [29] proposed a new algorithmnamed Scalable Task Duplication Based Scheduling for staticscheduling in computing systems with heterogeneous multi-processors Considering the priority between the tasks thisalgorithm divides the graph into levels so that the tasks ateach level are arranged in a list based on their size The tasksbased on their priority are assigned to the first processorfound in the list One of the weaknesses of this algorithm is itsgreediness which will not function well in solving large-scaleDAGs
Naser et al [30] proposed a scheduling algorithm calledCommunication Leveled DAG with Duplication (CLDD) inthe heterogeneous multiprocessor systems This algorithmconsisted of three phases (1) level arrangement (2) tasksprioritization and (3) processor selection
Wen [31] proposed a hybrid algorithm of genetics andvariable neighborhood search (VNS) [32] to minimize thetasks scheduling in the heterogeneous multiprocessor sys-tems This algorithm has derived a variety of features fromGA and VNS
NSGA-II [33] is a genetic-based algorithm for task graphscheduling In this algorithm does not exist the dependencyamong the tasks and elitism operator is used to protect thegood solutions in the evolutionary process of the geneticalgorithm To provide diversity in solution this algorithmuses crowding distance technique
TSB algorithm [34] belongs to a class of scheduling algo-rithms called BNP TSB utilizes two queues namely readytask queue and not ready task queue to perform schedulingThen it uses breath first search traversal algorithm forselecting tasks The MTSB algorithm [26] also belongs tothe BNP class with the difference that unlike the algorithmTSB it does not consider communication time between tasksand processors
Akbari et al [35] proposed a genetic-based algorithmfor static task graph scheduling in heterogeneous computingsystems Their proposed algorithm presents a new heuristicto generate an initial population and also proposed newoperators aiming to guarantee the diversity and convergenceAkbari and Rashidi [36] employed cuckoo optimizationalgorithm for static task graph scheduling in heterogeneouscomputing systems Because this algorithm works on con-tinuous space hence they proposed a discretization of thisalgorithm to solve the task graph scheduling problem
Moti Ghader et al [37] proposed a learning automata-based algorithm for static task graph scheduling This algo-rithm uses learning automata to represent different possiblescheduling Since this algorithm is a local-based searchalgorithm thus it traps in the local optima
A significant performance assessment and comparisonof the addressed algorithms is a complex task and it isnecessary to consider a number of issues First there areseveral scheduling algorithms based on various assumptionsSecond the performance of the most existing algorithm isevaluated on small sized task graphs and hence it is notclear their performance on large-scale problem size [38] Due
Table 1 Classic chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2
to the NP-hardness of the task graph scheduling the rateof convergence when searching for global optima is still notsufficient For this reason there is a need formethods that canimprove convergence speed to achieve a good scheduling
3 The New Algorithm
In this section a new genetic algorithm is presented for thetask graph scheduling problem which is based on learningIn this algorithm each solution is represented by a chromo-some Each chromosomersquos cell is called a geneThe number ofgenes depends on the number of tasks We use two differentchromosome structures in our algorithm named classic andextended chromosome structure In classic chromosome thestructure of each chromosome includes two rows where thefirst row is task number and the second row is processornumber assigned to the task (see Table 1)
The extended chromosome structure is utilized for thelearning processThis representation has four rows where thefirst row is task number the second row is processor numberassigned to the task the third row is the depth of each geneand the fourth row is selection probability of each task neededto perform learning The total probability of them initially isequal (Table 2)
In extended chromosome structure a chromosome isdefined as a tuple 119886 V 120573 120593 119865 119875 119879 as follow
(i) 119886 = 1198861 119886119903 is a set of genes (r is number of thetasks)
(ii) V = V1 V119903 is a set of processors in the chromo-some
(iii) 120573 = 1205731 120573119903 This is the outcome of evaluationof a gene considering interactions with its stochasticenvironment and indicates that a gene must be finedor rewarded
(iv) 1205931 1205932 120593119877119873 Let N and R denote the depth allocatedto a gene and the number of genes respectively thisshows a set of internal states for a gene
(v) 119865 120593 times 120573 997888rarr 120593 This is a mapping function Thisfunction based on evaluating a gene determines thenext action for a gene
(vi) 119875 = 1199011 119901119903 is a chromosomersquos genes probabilityThis vector (fourth row inTable 2) shows the selectionprobability of each gene to perform reward or penaltyoperations Based on the fact that the penalty is takenor rewarded these probabilities are updated If noprior information is available there is no basis inwhich the different genes ai can be distinguished Insuch a case all gene probabilities would be equal - a
Applied Computational Intelligence and Soft Computing 5
Table 2 Extended chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2Depth 0 0 0 0 0 0Probability 016 016 016 016 016 016
Step 1- Create the initial population (classic chromosomes) as described in Section 31
Step 2-While termination condition has not been satisfiedDo
- For each classic chromosome in the current population Do- Convert it to the extended structure chromosome (such as Table 2)- Enhance chromosome by applying learning operators (reward and penalty) on the chromosome until the
makespan could be less described in Section 34- Convert extended chromosome to classic chromosome by removing rows related depth and probability- Apply the standard roulette wheel selection strategy for selecting potentially useful individuals for recombination- Apply the standard two-point crossover operator on processors in two enhanced chromosomes- Apply the standard mutation operator on processors in two enhanced chromosomes- Apply the reuse idle time heuristic on 30 of best chromosomes described in Section 33
Algorithm 1 A new task graph scheduling algorithm
- Calculate the t-level + b-level values for all the tasks- Considering t-level + b-level identify all the tasks placed on the critical path- Repeat
- Select a task amongst the tasks ready to schedule- If the selected task placed on the critical pathThen
Assign the task to a processor that has assigned other tasks on the critical pathElse Find a task with highest communication cost with this task and locate both of them on
the same processor- Until the list of tasks is empty
- At first each gene on the chromosome is in the boundary state or zero depth and its probability is119875119894(119905) = 1119903
Algorithm 2
ldquopure chancerdquo situation For an r-gene chromosomethe gene probability is given by
119875119894 (119905) = 1119903 119894 = 1 2 119903 (r is number of tasks) (1)
(vii) 119879 = 119879[119886(119899) 120573(119899) 119901(119899)] indicates the parametersrequired for a learning
In Algorithm 1 the steps of our proposed task graph schedul-ing algorithm are given Different parts of this algorithm arefurther described in the following sections
The objective of the new task scheduling algorithm isto minimize the completion time Some terms are used theproposed algorithm is defined below
Definition 1 In a task graph the t-level of node i is the lengthof the longest path from an entry node to i (excluding i) Herethe length of a path is the sumof all the node and edgeweightsalong the path [39]
Definition 2 The b-level of a node is the length of the longestpath from the node to an exit node [39]
Definition 3 A Critical Path (CP) of a task graph is a pathfrom an entry node to an exit node as the sum of executiontime and communication cost is the maximum The nodeslocated on the CP can be identified with their values of (t-level + b-level) ie t-level + b-level for that node should bemaximized [39]
Definition 4 ESTij mdash Earliest Start Time of task i andprocessor j The EST refers to the earliest execution start timeof the node ni on processor pj
31 Initial Population The initial population is constructedas shown in Algorithm 2
The initial population is generated in such a way thatthe overall communication time is minimized To do thisthe algorithm identifies all tasks located on the critical path
6 Applied Computational Intelligence and Soft Computing
(1) For each task in a chromosomeDoSet its reference count equal to the number of immediate parents of the task in the task graph correspondingto the chromosome
(2) For each processor Pi DoSet its local timer si to zeroAdd execution time of processorrsquos first task to si(3) Set the global timer S to one
(4) RepeatFor each processor Pi Do
Read the value of timer si of PiIf S = si Then
Reduce one from the reference count of each child of the taskSet EST of each child of the task that are not assigned to Pi toMax (Current EST of the child Sum of si and communication cost between the tasks)Take next task of Pi from the chromosomeAdd the sum of S and execution time of the task to si
If EST of the task is bigger than S or reference count of task is not zeroThenadd one unit of time to si
Add one unit of time to the global timer S Until all the tasks are scheduled
(5) makespan = the maximum value of the timers si of all processors Pi as the fitness of the chromosome
Algorithm 3 Schedule length
and then tries to shorten the critical path in the DAGby assigning the tasks on the critical path into the sameprocessor By reducing the length of the critical path theminimum completion time of the scheduling is reduced
32 Computing Fitness of Chromosome Quality of eachthe chromosome depends on the completion time of thescheduling The completion time of a scheduling representsits fitness The objective is to minimize the completion timeIn the proposed algorithm first the EST for all tasks arecalculated The value of an entry ESTij referring to task i andprocessor j will be given by
119864119878119879119894119895 = max (119865119879119895 119864119879119879119894119895) (2)
where FTj is the time that machine j finishes the executionof all previous tasks of task i and ETTij indicates the timethat all the data required to run task i on processor jis ready To calculate this time the finish time and timerequired to transfer data between processors of all immediatepredecessors of task i in the task graph are considered
The fitness function used to guide the evolutionaryprocess of the genetic algorithm for finding a schedulingis based on the total finish time of the schedule which isobtained by
Makespan = max FT (Pj) for j = 1 2 Np (3)
whereNp and FT(Pj) denote the number of processor and thefinish time of the last task in the processor Pj respectively
max makespan = max makes-spans Fitness value = max makes-pan ndash makespan
(4)
In our method the length of an obtained schedule andmakespan is computed as Algorithm 3
In the LAGA we employed the roulette wheel selectionoperator to select potentially useful chromosomes for thereproduction process The fitness value is used to associatea selection probability for each chromosome Let 119891i andN denote the fitness value of the chromosome i (whichis calculated by (4)) and the number of chromosomes inthe population respectively The selection probability of thischromosome Pi is calculated as follows
119875119894 = 119891119894sum119873119895=1 119891119894 (5)
Using (5) a proportion of the wheel is assigned to each chro-mosomeThe higher the fitness value of the chromosome thehigher its opportunities of being elected for the reproductionprocess
33 Reuse Idle Time A reuse idle time criterion can improvethe quality of a schedule [40] In this section we presenta reuse idle time greedy algorithm to control the originalsystem and improve the quality of returned results For arandomly selected chromosome in the population in eachgeneration we assign some tasks to idle time slots Forexample Figure 3 shows a sample of the Gantt schedulingchart related to Figure 1 According to Figure 3 (left) thetime gap in the P1 processor is as large as 10 units and thecompletion time for the processor P1 is equal to 148 Also theweight of the task t10 is equivalent to 10 By applying changesthe t10 can start from the time 73 and the completion timereduces from 148 to 138 units with this reuse as can be seenin Figure 3 (left)
Applied Computational Intelligence and Soft Computing 7
Let STT be Start Time of TaskSIT be Idle Start TimeEIT be Idle End Time
(tj) denotes task jFor P=1 to the number of processors
For i=1 to the number of slots on processor PFor each slot i
Create ready task list for doing this task select the tasks that for thoseSTT gt= EIT ie select the tasks that is scheduled after a slotSort tasks acceding based on w(tj)
If (((EITi - SITi) gt= w(tj)) ampamp DAT(tj Pi) lt= SITi)Allocate task j to slot iUpdate slot start and end timeUpdate the ready task listAfter rescheduling newly created slot is added to the slot ready list
Algorithm 4 Reuse idle time
After applying reuse heuristicBefore applying reuse heuristic
10 5
2
4
3 6 9
7
10 8 11 12
15
18 6338 58 73 83 93 118
5 25 55 66 81
138
Time
0
1
10 5
2
4
3 6 9
7
108 11 12
15
18 6338 58 73 83 93 103
5 25 55 66 81
128 148
Time
0
1
Processor
Processor
Figure 3 Reusing the standby resources
The algorithm of this heuristic is shown in Algorithm 4while all tasks and all slots are not addressed this algorithmwill be repeated Let idle start time and idle end time of slot idenoted by SITi and EITi respectively Also assume DAT(tiPi) and w(ti) denote data arrival time of task ti on processorPi and execution time of task ti respectively Task ti allocatedto slot si when
If (((EITi - SITi) gt= w(ti)) ampamp DAT(ti Pi) lt= SITi)For example assume the processor P1 has an idle slot andthe SIT1 =73 and EIT1 =83 On the other hand w(t10)= 10and DAT (t10 P1)=59 In our algorithm t10 is scheduled tostart time 93 By applying the reuse idle algorithm t10 can berescheduled to start at time 83
We need a list that maintains all of SIT and EIT foreach slot The algorithm tries to fill the slots as much aspossible Our aim is to select the maximum tasks that meetthe above requirement For doing this task first we sort thetasks ascending considering their execution time ie w(ti)then using Algorithm 4 we assign the tasks in slots
The reuse idle time heuristic more minimizes themakespan however this algorithm for large-scale task graphsmakes an overhead cost in terms of time Therefore we limitreuse idle time heuristic just to 30 of best chromosomes
This means that among the chromosomes of a generation30 of them with the shortest completion time are selectedto apply reuse idle time heuristic
34 Learning Operators The evolutionary process of theLAGA is enhanced using reward and penalty operatorsTheseoperators are utilized for learning In the LAGA in additionto evaluating the chromosome the genes of a chromosomeare assessed based on their outcome on chromosomersquos fitnessThus the most fitting location for genes within chromosomesand the most proper chromosome inside the population isregularly discovered during the evolutionary process of thegenetic algorithm Intuitively the algorithm selects a gene achromosome and evaluates it based on certain criteria If theresult of the evaluation is good this gene will be rewardedThis means that the gene in the chromosome is in the rightplace and should be protected from future changes But if theevaluation result is not good the gene must be penalizedIn this case if the gene has not already been rewarded orthe amount of penalties and rewards are the same the wholepossible neighbors (to be defined) of the gene are searched fora penalty action The neighbor with the highest quality willbe the replacement of this gene But if the number of rewardsreceived by the gene is greater than the number of receivedpenalties one of the numbers of rewards is reduced
8 Applied Computational Intelligence and Soft Computing
Formally the penalty and reward operators are employedin the LAGA as follows
during the scheduling process the LAGA selects gene119886119894 in a chromosome and assesses it if it gets a promisingfeedback the probability 119875119894(119899) of this gene increases and theprobability of other genes decreases If it gets an inappro-priate feedback the probability 119875119894(119899) of this gene decreasesand probability of other genes increases In this paper weutilize a linear learning scheme for learning This schemewas considered first in mathematical psychology [41] butwas later independently conceived and introduced into theengineering literature by Shapiro and Narendra [41] LettingΓ119895 and Ψ119895 be two functions for a linear learning scheme withmultiple genes we have
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) 0 lt 120572 lt 1 (6)
Γ119895 [119901119895 (119899)] = 120573119898 minus 1 minus 120573119901119895 (119899) (7)
In (6) and (7) m 120572 and 120573 are the number of genes of achromosome reward and penalty parameters respectivelyThe parameters 120572 and 120573 are used to control the rate ofconvergence of a chromosome According to (6) and (7) if120572 and 120573 are equal the learning algorithm will be knownas linear reward penalty If 120573 ≪ 120572 the learning algorithmwill be known as linear reward epsilon penalty and if b=0the learning algorithm will be a linear reward inactionDepending on whether penalty or reward has been made theprobability of genes is updated as follows
A promising feedback for gene i
119875119895 (119899 + 1) = 119875119895 (119899) minus Ψ119895 [119875119895 (119899)] forall119895 119895 = 119894 (8)
but
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) (9)
so
119901119895 (119899 + 1) = 119901119895 (119899) minus 120572119901119895 (119899) = (1 minus 120572) 119901119895 (119899) (10)
and
119901119894 (119899 + 1) = 119901119894 (119899) +119903
sum119895=1119895 =1
Ψ119895 [119901119895 (119899)]
= 119901119894 (119899) + sum119895=1119895 =119894
120572119901119895 (119899)
= 119901119894 (119899) + 120572sum119901119895 (119899)all values except j = i so
= 119901119894 (119899) + 120572 (1 minus 119901119894 (119899))
(11)
An inappropriate feedback for gene i
119901119895 (119899 + 1) = 119901119895 (119899) + Γ119895 [119901119895 (119899)] (12)
but
Γ119895 (119901119895 (119899)) = 120573119898 minus 1 minus 119887119901119895 (119899) (13)
so
119901119895 (119899 + 1) = 119901119895 (119899) + 120573119898 minus 1 minus 120573119901119895 (119899)
= 120573119898 minus 1 + (1 minus 120573) 119901119895 (119899)
(14)
and
119901119894 (119899 + 1) = 119901119894 (119899) minus119903
sum119895=1119895 =119894
Γ119895 [119901119895 (119899)]
= 119901119894 (119899) minussum( 120573119903 minus 1 minus 120573119901119895 (119899))
= (1 minus 120573) 119901119894 (119899) 0 le 120573 lt 1
(15)
These probabilities cause good genes to find their place inthe chromosome over time The main intention of theseprobabilities is to exploit the previous behavior of the systemin order to make decisions for the future hence learningoccurs To perform learning the number of internal states ofeach gene must be determined These internal states for eachgene maintain the number of failures and successes Howto select a gene from a chromosome is based on calculatingthe cumulative probability of each gene as follows (pi is geneprobability)
q1 = p1q2 = p1 + p2
qn = p1 + p2 + + pn
(16)
A random number is generated between 0 and 1 If generatedrandom number is higher than qi and lower than qj thecorresponding gene to qi is selected to evaluate for rewardand penalty Obviously genes with higher probabilities arepreferred for reward or penalty
In each iteration step of the algorithm a gene ofeach chromosome is selected based on its probability((8) (11) (12) and (15)) and this gene is evaluated usingAlgorithm 5
Generally a gene is penalized or rewarded as followsSuppose that a chromosome includes R genes (1205721 12057221205723 120572119877) and has RN internal states (1205931 1205932 120593119877119873) Inter-
nal states of 1205931 1205932 120593119873 are related to 1205721 120593119873+1 120593119873+2 1205932119873
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
Applied Computational Intelligence and Soft Computing 3
proposed In Section 4 the results of the proposed algorithmare evaluated Finally Section 5 concludes the paper
2 Background and Previous Works
The need for accurate task graph scheduling has been widelyrecognized by the research community In the literature thereare many works about the task graph scheduling algorithmsThe Scheduling techniques are typically categorized into twoclasses the first class is homogeneous [12] and the secondone is heterogeneous [13 14] In homogeneous systems theprocessing power of all processors is considered similarIn heterogeneous type processors have different processingpower therefore for each task time on every processorshould be given separately In this paper scheduling isassumed as homogeneous
Generally all task graph scheduling algorithms can begrouped into two categories static and dynamic Staticscheduling is performed off-line in other words desirableparallel program characteristics such as computation costscommunication cost and data dependencies are knownbefore execution [11] Dynamic scheduling algorithms can befurther grouped into two categories accomplished quicklymode and batch processing mode algorithms In the accom-plished quicklymode a task ismapped as soon as it arrives Inthe batch mode tasks are not mapped as they arrive insteadthey are collected into a list for scheduling and mapping [12]The work in this paper is solely concerned with the staticscheduling
Static task graph scheduling algorithms are classifiedinto two categories Heuristic-based algorithms and guidedrandom search-based algorithms [14] Heuristic-based algo-rithms have acceptable performance with a low complexityThese algorithms are further classified into three classeslist-based algorithms clustering-based algorithms and taskduplication algorithms
List-based scheduling approaches such as HEFT [15] andCPOP [14] consist of two phases of tasks prioritization andprocessor selection (to assign the task to the processor) Taskduplication approaches aim such as STDS [16] HCNF [17]is to run a task on more than one processor to reduce thewaiting time for the dependent tasks The main idea behindthis approaches is to use the processors time gap
In the literature there are several heuristic-based(nonevolutionary) scheduling algorithms such as PEFT [13]ETF [18] DSC [19] DLS [20] HLFET [20] LAST [21] ISH[22] MCP [23] LC [24] EZ [25] and MTSB [26] Mostof these algorithms consider several simple assumptionsabout the structure of a task graph [2 12] For exampleignoring task communication cost or considering thesame computational cost for all tasks [2] or assuming atree structure for a task graph [8] is some of these simpleassumptions In general nowadays many recent algorithmsare designed to deal with any graphs Moreover schedulingon a limited number of processors called Bounded Numberof Processors (BNP) or the availability of unlimited numberof processors called Unbounded Number of Clusters (UNC)is another assumption of scheduling algorithms
Since the task graph scheduling problem is an NP-Hard problem [2 12] even simplified versions of the taskscheduling problem are NP-Hard Let P and T indicate thenumber of processors and the number of tasks respectivelythus the possible number of task to processor allocation isPT and the possible number of task orderings is T then theoverall search space is TPT Considering this huge searchspace obtaining an optimal schedule by a comprehensivesearch of all possible schedules is not achievable hence anevolutionary approach such as genetic algorithms may beapplied to solve such problems effectively [8 27]
Using genetic algorithms to solve task graph schedulinghave received much attention The main difference amonggenetic algorithms is the encoding scheme used to representa schedule The structure of encoding significantly impactsthe complexity of the genetic process to the convergenceof an optimal schedule For example Wang and Korfhage[10] presented a matrix representation of schedules whichrecords the execution order of the tasks on each processor Inthis encoding the crossover and mutation operators do notprevent the production of invalid solutions Although existthe repair operations to correct these solutions Howeverthe operations consume additional time Parsa et al [8] pro-posed a new representation of schedules based on the stringrepresentation In this new encoding scheme a schedulingsolution is represented by an array of pairs (ti pj) where tiindicates the task number assigned to the processor pj Usingthis representation both the execution order of the tasks oneach processor and the global order of the tasks executionson the processors are determined in each chromosome Houet al [9] proposed a variable-length representation whichorders the tasks on each processor Their proposed stringrepresentation prevents the production of invalid solutionsWhereas this representation cannot span the complete spaceof possible schedules it may be impossible for the geneticalgorithm to converge to an optimal solution
Omara and Arafa [11] proposed two genetic-based algo-rithms with a new encoding scheme namely Critical PathGenetic Algorithm (CPGA) and Task-Duplication GeneticAlgorithm (TDGA) The CPGA algorithm tries to schedulethe tasks placed on the critical path on the same processoraiming to reduce the completion timeThe second algorithmTDGA is based on the principle of task duplication to mini-mize the communication overhead One of the weaknesses ofthismethod is to generate invalid chromosomesThe runtimeof these two algorithms is very high for finding a schedulingbecause it uses some internal algorithms for scheduling suchas critical path and task duplication Also the performance ofthe algorithm is not clear on benchmarked DAGs
Daovod et al [28] proposed a new scheduling algorithmwhich is called the Longest Dynamic Critical Path (LDCP)to support scheduling in heterogeneous computing systemsThe LDCP is a list-based scheduling algorithm whicheffectively selects the tasks for scheduling in heterogeneouscomputing systemsThe accurate and better selection of tasksenables the LDCP to provide a high quality in schedulingthe heterogeneous systems The function of this algorithm iscompared with two well-known HEFT and DLS algorithms
4 Applied Computational Intelligence and Soft Computing
in this context One of the weaknesses of this algorithm is itsgreediness which will not respond well in the case of large-scale DAGs
Bahnasawy et al [29] proposed a new algorithmnamed Scalable Task Duplication Based Scheduling for staticscheduling in computing systems with heterogeneous multi-processors Considering the priority between the tasks thisalgorithm divides the graph into levels so that the tasks ateach level are arranged in a list based on their size The tasksbased on their priority are assigned to the first processorfound in the list One of the weaknesses of this algorithm is itsgreediness which will not function well in solving large-scaleDAGs
Naser et al [30] proposed a scheduling algorithm calledCommunication Leveled DAG with Duplication (CLDD) inthe heterogeneous multiprocessor systems This algorithmconsisted of three phases (1) level arrangement (2) tasksprioritization and (3) processor selection
Wen [31] proposed a hybrid algorithm of genetics andvariable neighborhood search (VNS) [32] to minimize thetasks scheduling in the heterogeneous multiprocessor sys-tems This algorithm has derived a variety of features fromGA and VNS
NSGA-II [33] is a genetic-based algorithm for task graphscheduling In this algorithm does not exist the dependencyamong the tasks and elitism operator is used to protect thegood solutions in the evolutionary process of the geneticalgorithm To provide diversity in solution this algorithmuses crowding distance technique
TSB algorithm [34] belongs to a class of scheduling algo-rithms called BNP TSB utilizes two queues namely readytask queue and not ready task queue to perform schedulingThen it uses breath first search traversal algorithm forselecting tasks The MTSB algorithm [26] also belongs tothe BNP class with the difference that unlike the algorithmTSB it does not consider communication time between tasksand processors
Akbari et al [35] proposed a genetic-based algorithmfor static task graph scheduling in heterogeneous computingsystems Their proposed algorithm presents a new heuristicto generate an initial population and also proposed newoperators aiming to guarantee the diversity and convergenceAkbari and Rashidi [36] employed cuckoo optimizationalgorithm for static task graph scheduling in heterogeneouscomputing systems Because this algorithm works on con-tinuous space hence they proposed a discretization of thisalgorithm to solve the task graph scheduling problem
Moti Ghader et al [37] proposed a learning automata-based algorithm for static task graph scheduling This algo-rithm uses learning automata to represent different possiblescheduling Since this algorithm is a local-based searchalgorithm thus it traps in the local optima
A significant performance assessment and comparisonof the addressed algorithms is a complex task and it isnecessary to consider a number of issues First there areseveral scheduling algorithms based on various assumptionsSecond the performance of the most existing algorithm isevaluated on small sized task graphs and hence it is notclear their performance on large-scale problem size [38] Due
Table 1 Classic chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2
to the NP-hardness of the task graph scheduling the rateof convergence when searching for global optima is still notsufficient For this reason there is a need formethods that canimprove convergence speed to achieve a good scheduling
3 The New Algorithm
In this section a new genetic algorithm is presented for thetask graph scheduling problem which is based on learningIn this algorithm each solution is represented by a chromo-some Each chromosomersquos cell is called a geneThe number ofgenes depends on the number of tasks We use two differentchromosome structures in our algorithm named classic andextended chromosome structure In classic chromosome thestructure of each chromosome includes two rows where thefirst row is task number and the second row is processornumber assigned to the task (see Table 1)
The extended chromosome structure is utilized for thelearning processThis representation has four rows where thefirst row is task number the second row is processor numberassigned to the task the third row is the depth of each geneand the fourth row is selection probability of each task neededto perform learning The total probability of them initially isequal (Table 2)
In extended chromosome structure a chromosome isdefined as a tuple 119886 V 120573 120593 119865 119875 119879 as follow
(i) 119886 = 1198861 119886119903 is a set of genes (r is number of thetasks)
(ii) V = V1 V119903 is a set of processors in the chromo-some
(iii) 120573 = 1205731 120573119903 This is the outcome of evaluationof a gene considering interactions with its stochasticenvironment and indicates that a gene must be finedor rewarded
(iv) 1205931 1205932 120593119877119873 Let N and R denote the depth allocatedto a gene and the number of genes respectively thisshows a set of internal states for a gene
(v) 119865 120593 times 120573 997888rarr 120593 This is a mapping function Thisfunction based on evaluating a gene determines thenext action for a gene
(vi) 119875 = 1199011 119901119903 is a chromosomersquos genes probabilityThis vector (fourth row inTable 2) shows the selectionprobability of each gene to perform reward or penaltyoperations Based on the fact that the penalty is takenor rewarded these probabilities are updated If noprior information is available there is no basis inwhich the different genes ai can be distinguished Insuch a case all gene probabilities would be equal - a
Applied Computational Intelligence and Soft Computing 5
Table 2 Extended chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2Depth 0 0 0 0 0 0Probability 016 016 016 016 016 016
Step 1- Create the initial population (classic chromosomes) as described in Section 31
Step 2-While termination condition has not been satisfiedDo
- For each classic chromosome in the current population Do- Convert it to the extended structure chromosome (such as Table 2)- Enhance chromosome by applying learning operators (reward and penalty) on the chromosome until the
makespan could be less described in Section 34- Convert extended chromosome to classic chromosome by removing rows related depth and probability- Apply the standard roulette wheel selection strategy for selecting potentially useful individuals for recombination- Apply the standard two-point crossover operator on processors in two enhanced chromosomes- Apply the standard mutation operator on processors in two enhanced chromosomes- Apply the reuse idle time heuristic on 30 of best chromosomes described in Section 33
Algorithm 1 A new task graph scheduling algorithm
- Calculate the t-level + b-level values for all the tasks- Considering t-level + b-level identify all the tasks placed on the critical path- Repeat
- Select a task amongst the tasks ready to schedule- If the selected task placed on the critical pathThen
Assign the task to a processor that has assigned other tasks on the critical pathElse Find a task with highest communication cost with this task and locate both of them on
the same processor- Until the list of tasks is empty
- At first each gene on the chromosome is in the boundary state or zero depth and its probability is119875119894(119905) = 1119903
Algorithm 2
ldquopure chancerdquo situation For an r-gene chromosomethe gene probability is given by
119875119894 (119905) = 1119903 119894 = 1 2 119903 (r is number of tasks) (1)
(vii) 119879 = 119879[119886(119899) 120573(119899) 119901(119899)] indicates the parametersrequired for a learning
In Algorithm 1 the steps of our proposed task graph schedul-ing algorithm are given Different parts of this algorithm arefurther described in the following sections
The objective of the new task scheduling algorithm isto minimize the completion time Some terms are used theproposed algorithm is defined below
Definition 1 In a task graph the t-level of node i is the lengthof the longest path from an entry node to i (excluding i) Herethe length of a path is the sumof all the node and edgeweightsalong the path [39]
Definition 2 The b-level of a node is the length of the longestpath from the node to an exit node [39]
Definition 3 A Critical Path (CP) of a task graph is a pathfrom an entry node to an exit node as the sum of executiontime and communication cost is the maximum The nodeslocated on the CP can be identified with their values of (t-level + b-level) ie t-level + b-level for that node should bemaximized [39]
Definition 4 ESTij mdash Earliest Start Time of task i andprocessor j The EST refers to the earliest execution start timeof the node ni on processor pj
31 Initial Population The initial population is constructedas shown in Algorithm 2
The initial population is generated in such a way thatthe overall communication time is minimized To do thisthe algorithm identifies all tasks located on the critical path
6 Applied Computational Intelligence and Soft Computing
(1) For each task in a chromosomeDoSet its reference count equal to the number of immediate parents of the task in the task graph correspondingto the chromosome
(2) For each processor Pi DoSet its local timer si to zeroAdd execution time of processorrsquos first task to si(3) Set the global timer S to one
(4) RepeatFor each processor Pi Do
Read the value of timer si of PiIf S = si Then
Reduce one from the reference count of each child of the taskSet EST of each child of the task that are not assigned to Pi toMax (Current EST of the child Sum of si and communication cost between the tasks)Take next task of Pi from the chromosomeAdd the sum of S and execution time of the task to si
If EST of the task is bigger than S or reference count of task is not zeroThenadd one unit of time to si
Add one unit of time to the global timer S Until all the tasks are scheduled
(5) makespan = the maximum value of the timers si of all processors Pi as the fitness of the chromosome
Algorithm 3 Schedule length
and then tries to shorten the critical path in the DAGby assigning the tasks on the critical path into the sameprocessor By reducing the length of the critical path theminimum completion time of the scheduling is reduced
32 Computing Fitness of Chromosome Quality of eachthe chromosome depends on the completion time of thescheduling The completion time of a scheduling representsits fitness The objective is to minimize the completion timeIn the proposed algorithm first the EST for all tasks arecalculated The value of an entry ESTij referring to task i andprocessor j will be given by
119864119878119879119894119895 = max (119865119879119895 119864119879119879119894119895) (2)
where FTj is the time that machine j finishes the executionof all previous tasks of task i and ETTij indicates the timethat all the data required to run task i on processor jis ready To calculate this time the finish time and timerequired to transfer data between processors of all immediatepredecessors of task i in the task graph are considered
The fitness function used to guide the evolutionaryprocess of the genetic algorithm for finding a schedulingis based on the total finish time of the schedule which isobtained by
Makespan = max FT (Pj) for j = 1 2 Np (3)
whereNp and FT(Pj) denote the number of processor and thefinish time of the last task in the processor Pj respectively
max makespan = max makes-spans Fitness value = max makes-pan ndash makespan
(4)
In our method the length of an obtained schedule andmakespan is computed as Algorithm 3
In the LAGA we employed the roulette wheel selectionoperator to select potentially useful chromosomes for thereproduction process The fitness value is used to associatea selection probability for each chromosome Let 119891i andN denote the fitness value of the chromosome i (whichis calculated by (4)) and the number of chromosomes inthe population respectively The selection probability of thischromosome Pi is calculated as follows
119875119894 = 119891119894sum119873119895=1 119891119894 (5)
Using (5) a proportion of the wheel is assigned to each chro-mosomeThe higher the fitness value of the chromosome thehigher its opportunities of being elected for the reproductionprocess
33 Reuse Idle Time A reuse idle time criterion can improvethe quality of a schedule [40] In this section we presenta reuse idle time greedy algorithm to control the originalsystem and improve the quality of returned results For arandomly selected chromosome in the population in eachgeneration we assign some tasks to idle time slots Forexample Figure 3 shows a sample of the Gantt schedulingchart related to Figure 1 According to Figure 3 (left) thetime gap in the P1 processor is as large as 10 units and thecompletion time for the processor P1 is equal to 148 Also theweight of the task t10 is equivalent to 10 By applying changesthe t10 can start from the time 73 and the completion timereduces from 148 to 138 units with this reuse as can be seenin Figure 3 (left)
Applied Computational Intelligence and Soft Computing 7
Let STT be Start Time of TaskSIT be Idle Start TimeEIT be Idle End Time
(tj) denotes task jFor P=1 to the number of processors
For i=1 to the number of slots on processor PFor each slot i
Create ready task list for doing this task select the tasks that for thoseSTT gt= EIT ie select the tasks that is scheduled after a slotSort tasks acceding based on w(tj)
If (((EITi - SITi) gt= w(tj)) ampamp DAT(tj Pi) lt= SITi)Allocate task j to slot iUpdate slot start and end timeUpdate the ready task listAfter rescheduling newly created slot is added to the slot ready list
Algorithm 4 Reuse idle time
After applying reuse heuristicBefore applying reuse heuristic
10 5
2
4
3 6 9
7
10 8 11 12
15
18 6338 58 73 83 93 118
5 25 55 66 81
138
Time
0
1
10 5
2
4
3 6 9
7
108 11 12
15
18 6338 58 73 83 93 103
5 25 55 66 81
128 148
Time
0
1
Processor
Processor
Figure 3 Reusing the standby resources
The algorithm of this heuristic is shown in Algorithm 4while all tasks and all slots are not addressed this algorithmwill be repeated Let idle start time and idle end time of slot idenoted by SITi and EITi respectively Also assume DAT(tiPi) and w(ti) denote data arrival time of task ti on processorPi and execution time of task ti respectively Task ti allocatedto slot si when
If (((EITi - SITi) gt= w(ti)) ampamp DAT(ti Pi) lt= SITi)For example assume the processor P1 has an idle slot andthe SIT1 =73 and EIT1 =83 On the other hand w(t10)= 10and DAT (t10 P1)=59 In our algorithm t10 is scheduled tostart time 93 By applying the reuse idle algorithm t10 can berescheduled to start at time 83
We need a list that maintains all of SIT and EIT foreach slot The algorithm tries to fill the slots as much aspossible Our aim is to select the maximum tasks that meetthe above requirement For doing this task first we sort thetasks ascending considering their execution time ie w(ti)then using Algorithm 4 we assign the tasks in slots
The reuse idle time heuristic more minimizes themakespan however this algorithm for large-scale task graphsmakes an overhead cost in terms of time Therefore we limitreuse idle time heuristic just to 30 of best chromosomes
This means that among the chromosomes of a generation30 of them with the shortest completion time are selectedto apply reuse idle time heuristic
34 Learning Operators The evolutionary process of theLAGA is enhanced using reward and penalty operatorsTheseoperators are utilized for learning In the LAGA in additionto evaluating the chromosome the genes of a chromosomeare assessed based on their outcome on chromosomersquos fitnessThus the most fitting location for genes within chromosomesand the most proper chromosome inside the population isregularly discovered during the evolutionary process of thegenetic algorithm Intuitively the algorithm selects a gene achromosome and evaluates it based on certain criteria If theresult of the evaluation is good this gene will be rewardedThis means that the gene in the chromosome is in the rightplace and should be protected from future changes But if theevaluation result is not good the gene must be penalizedIn this case if the gene has not already been rewarded orthe amount of penalties and rewards are the same the wholepossible neighbors (to be defined) of the gene are searched fora penalty action The neighbor with the highest quality willbe the replacement of this gene But if the number of rewardsreceived by the gene is greater than the number of receivedpenalties one of the numbers of rewards is reduced
8 Applied Computational Intelligence and Soft Computing
Formally the penalty and reward operators are employedin the LAGA as follows
during the scheduling process the LAGA selects gene119886119894 in a chromosome and assesses it if it gets a promisingfeedback the probability 119875119894(119899) of this gene increases and theprobability of other genes decreases If it gets an inappro-priate feedback the probability 119875119894(119899) of this gene decreasesand probability of other genes increases In this paper weutilize a linear learning scheme for learning This schemewas considered first in mathematical psychology [41] butwas later independently conceived and introduced into theengineering literature by Shapiro and Narendra [41] LettingΓ119895 and Ψ119895 be two functions for a linear learning scheme withmultiple genes we have
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) 0 lt 120572 lt 1 (6)
Γ119895 [119901119895 (119899)] = 120573119898 minus 1 minus 120573119901119895 (119899) (7)
In (6) and (7) m 120572 and 120573 are the number of genes of achromosome reward and penalty parameters respectivelyThe parameters 120572 and 120573 are used to control the rate ofconvergence of a chromosome According to (6) and (7) if120572 and 120573 are equal the learning algorithm will be knownas linear reward penalty If 120573 ≪ 120572 the learning algorithmwill be known as linear reward epsilon penalty and if b=0the learning algorithm will be a linear reward inactionDepending on whether penalty or reward has been made theprobability of genes is updated as follows
A promising feedback for gene i
119875119895 (119899 + 1) = 119875119895 (119899) minus Ψ119895 [119875119895 (119899)] forall119895 119895 = 119894 (8)
but
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) (9)
so
119901119895 (119899 + 1) = 119901119895 (119899) minus 120572119901119895 (119899) = (1 minus 120572) 119901119895 (119899) (10)
and
119901119894 (119899 + 1) = 119901119894 (119899) +119903
sum119895=1119895 =1
Ψ119895 [119901119895 (119899)]
= 119901119894 (119899) + sum119895=1119895 =119894
120572119901119895 (119899)
= 119901119894 (119899) + 120572sum119901119895 (119899)all values except j = i so
= 119901119894 (119899) + 120572 (1 minus 119901119894 (119899))
(11)
An inappropriate feedback for gene i
119901119895 (119899 + 1) = 119901119895 (119899) + Γ119895 [119901119895 (119899)] (12)
but
Γ119895 (119901119895 (119899)) = 120573119898 minus 1 minus 119887119901119895 (119899) (13)
so
119901119895 (119899 + 1) = 119901119895 (119899) + 120573119898 minus 1 minus 120573119901119895 (119899)
= 120573119898 minus 1 + (1 minus 120573) 119901119895 (119899)
(14)
and
119901119894 (119899 + 1) = 119901119894 (119899) minus119903
sum119895=1119895 =119894
Γ119895 [119901119895 (119899)]
= 119901119894 (119899) minussum( 120573119903 minus 1 minus 120573119901119895 (119899))
= (1 minus 120573) 119901119894 (119899) 0 le 120573 lt 1
(15)
These probabilities cause good genes to find their place inthe chromosome over time The main intention of theseprobabilities is to exploit the previous behavior of the systemin order to make decisions for the future hence learningoccurs To perform learning the number of internal states ofeach gene must be determined These internal states for eachgene maintain the number of failures and successes Howto select a gene from a chromosome is based on calculatingthe cumulative probability of each gene as follows (pi is geneprobability)
q1 = p1q2 = p1 + p2
qn = p1 + p2 + + pn
(16)
A random number is generated between 0 and 1 If generatedrandom number is higher than qi and lower than qj thecorresponding gene to qi is selected to evaluate for rewardand penalty Obviously genes with higher probabilities arepreferred for reward or penalty
In each iteration step of the algorithm a gene ofeach chromosome is selected based on its probability((8) (11) (12) and (15)) and this gene is evaluated usingAlgorithm 5
Generally a gene is penalized or rewarded as followsSuppose that a chromosome includes R genes (1205721 12057221205723 120572119877) and has RN internal states (1205931 1205932 120593119877119873) Inter-
nal states of 1205931 1205932 120593119873 are related to 1205721 120593119873+1 120593119873+2 1205932119873
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
4 Applied Computational Intelligence and Soft Computing
in this context One of the weaknesses of this algorithm is itsgreediness which will not respond well in the case of large-scale DAGs
Bahnasawy et al [29] proposed a new algorithmnamed Scalable Task Duplication Based Scheduling for staticscheduling in computing systems with heterogeneous multi-processors Considering the priority between the tasks thisalgorithm divides the graph into levels so that the tasks ateach level are arranged in a list based on their size The tasksbased on their priority are assigned to the first processorfound in the list One of the weaknesses of this algorithm is itsgreediness which will not function well in solving large-scaleDAGs
Naser et al [30] proposed a scheduling algorithm calledCommunication Leveled DAG with Duplication (CLDD) inthe heterogeneous multiprocessor systems This algorithmconsisted of three phases (1) level arrangement (2) tasksprioritization and (3) processor selection
Wen [31] proposed a hybrid algorithm of genetics andvariable neighborhood search (VNS) [32] to minimize thetasks scheduling in the heterogeneous multiprocessor sys-tems This algorithm has derived a variety of features fromGA and VNS
NSGA-II [33] is a genetic-based algorithm for task graphscheduling In this algorithm does not exist the dependencyamong the tasks and elitism operator is used to protect thegood solutions in the evolutionary process of the geneticalgorithm To provide diversity in solution this algorithmuses crowding distance technique
TSB algorithm [34] belongs to a class of scheduling algo-rithms called BNP TSB utilizes two queues namely readytask queue and not ready task queue to perform schedulingThen it uses breath first search traversal algorithm forselecting tasks The MTSB algorithm [26] also belongs tothe BNP class with the difference that unlike the algorithmTSB it does not consider communication time between tasksand processors
Akbari et al [35] proposed a genetic-based algorithmfor static task graph scheduling in heterogeneous computingsystems Their proposed algorithm presents a new heuristicto generate an initial population and also proposed newoperators aiming to guarantee the diversity and convergenceAkbari and Rashidi [36] employed cuckoo optimizationalgorithm for static task graph scheduling in heterogeneouscomputing systems Because this algorithm works on con-tinuous space hence they proposed a discretization of thisalgorithm to solve the task graph scheduling problem
Moti Ghader et al [37] proposed a learning automata-based algorithm for static task graph scheduling This algo-rithm uses learning automata to represent different possiblescheduling Since this algorithm is a local-based searchalgorithm thus it traps in the local optima
A significant performance assessment and comparisonof the addressed algorithms is a complex task and it isnecessary to consider a number of issues First there areseveral scheduling algorithms based on various assumptionsSecond the performance of the most existing algorithm isevaluated on small sized task graphs and hence it is notclear their performance on large-scale problem size [38] Due
Table 1 Classic chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2
to the NP-hardness of the task graph scheduling the rateof convergence when searching for global optima is still notsufficient For this reason there is a need formethods that canimprove convergence speed to achieve a good scheduling
3 The New Algorithm
In this section a new genetic algorithm is presented for thetask graph scheduling problem which is based on learningIn this algorithm each solution is represented by a chromo-some Each chromosomersquos cell is called a geneThe number ofgenes depends on the number of tasks We use two differentchromosome structures in our algorithm named classic andextended chromosome structure In classic chromosome thestructure of each chromosome includes two rows where thefirst row is task number and the second row is processornumber assigned to the task (see Table 1)
The extended chromosome structure is utilized for thelearning processThis representation has four rows where thefirst row is task number the second row is processor numberassigned to the task the third row is the depth of each geneand the fourth row is selection probability of each task neededto perform learning The total probability of them initially isequal (Table 2)
In extended chromosome structure a chromosome isdefined as a tuple 119886 V 120573 120593 119865 119875 119879 as follow
(i) 119886 = 1198861 119886119903 is a set of genes (r is number of thetasks)
(ii) V = V1 V119903 is a set of processors in the chromo-some
(iii) 120573 = 1205731 120573119903 This is the outcome of evaluationof a gene considering interactions with its stochasticenvironment and indicates that a gene must be finedor rewarded
(iv) 1205931 1205932 120593119877119873 Let N and R denote the depth allocatedto a gene and the number of genes respectively thisshows a set of internal states for a gene
(v) 119865 120593 times 120573 997888rarr 120593 This is a mapping function Thisfunction based on evaluating a gene determines thenext action for a gene
(vi) 119875 = 1199011 119901119903 is a chromosomersquos genes probabilityThis vector (fourth row inTable 2) shows the selectionprobability of each gene to perform reward or penaltyoperations Based on the fact that the penalty is takenor rewarded these probabilities are updated If noprior information is available there is no basis inwhich the different genes ai can be distinguished Insuch a case all gene probabilities would be equal - a
Applied Computational Intelligence and Soft Computing 5
Table 2 Extended chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2Depth 0 0 0 0 0 0Probability 016 016 016 016 016 016
Step 1- Create the initial population (classic chromosomes) as described in Section 31
Step 2-While termination condition has not been satisfiedDo
- For each classic chromosome in the current population Do- Convert it to the extended structure chromosome (such as Table 2)- Enhance chromosome by applying learning operators (reward and penalty) on the chromosome until the
makespan could be less described in Section 34- Convert extended chromosome to classic chromosome by removing rows related depth and probability- Apply the standard roulette wheel selection strategy for selecting potentially useful individuals for recombination- Apply the standard two-point crossover operator on processors in two enhanced chromosomes- Apply the standard mutation operator on processors in two enhanced chromosomes- Apply the reuse idle time heuristic on 30 of best chromosomes described in Section 33
Algorithm 1 A new task graph scheduling algorithm
- Calculate the t-level + b-level values for all the tasks- Considering t-level + b-level identify all the tasks placed on the critical path- Repeat
- Select a task amongst the tasks ready to schedule- If the selected task placed on the critical pathThen
Assign the task to a processor that has assigned other tasks on the critical pathElse Find a task with highest communication cost with this task and locate both of them on
the same processor- Until the list of tasks is empty
- At first each gene on the chromosome is in the boundary state or zero depth and its probability is119875119894(119905) = 1119903
Algorithm 2
ldquopure chancerdquo situation For an r-gene chromosomethe gene probability is given by
119875119894 (119905) = 1119903 119894 = 1 2 119903 (r is number of tasks) (1)
(vii) 119879 = 119879[119886(119899) 120573(119899) 119901(119899)] indicates the parametersrequired for a learning
In Algorithm 1 the steps of our proposed task graph schedul-ing algorithm are given Different parts of this algorithm arefurther described in the following sections
The objective of the new task scheduling algorithm isto minimize the completion time Some terms are used theproposed algorithm is defined below
Definition 1 In a task graph the t-level of node i is the lengthof the longest path from an entry node to i (excluding i) Herethe length of a path is the sumof all the node and edgeweightsalong the path [39]
Definition 2 The b-level of a node is the length of the longestpath from the node to an exit node [39]
Definition 3 A Critical Path (CP) of a task graph is a pathfrom an entry node to an exit node as the sum of executiontime and communication cost is the maximum The nodeslocated on the CP can be identified with their values of (t-level + b-level) ie t-level + b-level for that node should bemaximized [39]
Definition 4 ESTij mdash Earliest Start Time of task i andprocessor j The EST refers to the earliest execution start timeof the node ni on processor pj
31 Initial Population The initial population is constructedas shown in Algorithm 2
The initial population is generated in such a way thatthe overall communication time is minimized To do thisthe algorithm identifies all tasks located on the critical path
6 Applied Computational Intelligence and Soft Computing
(1) For each task in a chromosomeDoSet its reference count equal to the number of immediate parents of the task in the task graph correspondingto the chromosome
(2) For each processor Pi DoSet its local timer si to zeroAdd execution time of processorrsquos first task to si(3) Set the global timer S to one
(4) RepeatFor each processor Pi Do
Read the value of timer si of PiIf S = si Then
Reduce one from the reference count of each child of the taskSet EST of each child of the task that are not assigned to Pi toMax (Current EST of the child Sum of si and communication cost between the tasks)Take next task of Pi from the chromosomeAdd the sum of S and execution time of the task to si
If EST of the task is bigger than S or reference count of task is not zeroThenadd one unit of time to si
Add one unit of time to the global timer S Until all the tasks are scheduled
(5) makespan = the maximum value of the timers si of all processors Pi as the fitness of the chromosome
Algorithm 3 Schedule length
and then tries to shorten the critical path in the DAGby assigning the tasks on the critical path into the sameprocessor By reducing the length of the critical path theminimum completion time of the scheduling is reduced
32 Computing Fitness of Chromosome Quality of eachthe chromosome depends on the completion time of thescheduling The completion time of a scheduling representsits fitness The objective is to minimize the completion timeIn the proposed algorithm first the EST for all tasks arecalculated The value of an entry ESTij referring to task i andprocessor j will be given by
119864119878119879119894119895 = max (119865119879119895 119864119879119879119894119895) (2)
where FTj is the time that machine j finishes the executionof all previous tasks of task i and ETTij indicates the timethat all the data required to run task i on processor jis ready To calculate this time the finish time and timerequired to transfer data between processors of all immediatepredecessors of task i in the task graph are considered
The fitness function used to guide the evolutionaryprocess of the genetic algorithm for finding a schedulingis based on the total finish time of the schedule which isobtained by
Makespan = max FT (Pj) for j = 1 2 Np (3)
whereNp and FT(Pj) denote the number of processor and thefinish time of the last task in the processor Pj respectively
max makespan = max makes-spans Fitness value = max makes-pan ndash makespan
(4)
In our method the length of an obtained schedule andmakespan is computed as Algorithm 3
In the LAGA we employed the roulette wheel selectionoperator to select potentially useful chromosomes for thereproduction process The fitness value is used to associatea selection probability for each chromosome Let 119891i andN denote the fitness value of the chromosome i (whichis calculated by (4)) and the number of chromosomes inthe population respectively The selection probability of thischromosome Pi is calculated as follows
119875119894 = 119891119894sum119873119895=1 119891119894 (5)
Using (5) a proportion of the wheel is assigned to each chro-mosomeThe higher the fitness value of the chromosome thehigher its opportunities of being elected for the reproductionprocess
33 Reuse Idle Time A reuse idle time criterion can improvethe quality of a schedule [40] In this section we presenta reuse idle time greedy algorithm to control the originalsystem and improve the quality of returned results For arandomly selected chromosome in the population in eachgeneration we assign some tasks to idle time slots Forexample Figure 3 shows a sample of the Gantt schedulingchart related to Figure 1 According to Figure 3 (left) thetime gap in the P1 processor is as large as 10 units and thecompletion time for the processor P1 is equal to 148 Also theweight of the task t10 is equivalent to 10 By applying changesthe t10 can start from the time 73 and the completion timereduces from 148 to 138 units with this reuse as can be seenin Figure 3 (left)
Applied Computational Intelligence and Soft Computing 7
Let STT be Start Time of TaskSIT be Idle Start TimeEIT be Idle End Time
(tj) denotes task jFor P=1 to the number of processors
For i=1 to the number of slots on processor PFor each slot i
Create ready task list for doing this task select the tasks that for thoseSTT gt= EIT ie select the tasks that is scheduled after a slotSort tasks acceding based on w(tj)
If (((EITi - SITi) gt= w(tj)) ampamp DAT(tj Pi) lt= SITi)Allocate task j to slot iUpdate slot start and end timeUpdate the ready task listAfter rescheduling newly created slot is added to the slot ready list
Algorithm 4 Reuse idle time
After applying reuse heuristicBefore applying reuse heuristic
10 5
2
4
3 6 9
7
10 8 11 12
15
18 6338 58 73 83 93 118
5 25 55 66 81
138
Time
0
1
10 5
2
4
3 6 9
7
108 11 12
15
18 6338 58 73 83 93 103
5 25 55 66 81
128 148
Time
0
1
Processor
Processor
Figure 3 Reusing the standby resources
The algorithm of this heuristic is shown in Algorithm 4while all tasks and all slots are not addressed this algorithmwill be repeated Let idle start time and idle end time of slot idenoted by SITi and EITi respectively Also assume DAT(tiPi) and w(ti) denote data arrival time of task ti on processorPi and execution time of task ti respectively Task ti allocatedto slot si when
If (((EITi - SITi) gt= w(ti)) ampamp DAT(ti Pi) lt= SITi)For example assume the processor P1 has an idle slot andthe SIT1 =73 and EIT1 =83 On the other hand w(t10)= 10and DAT (t10 P1)=59 In our algorithm t10 is scheduled tostart time 93 By applying the reuse idle algorithm t10 can berescheduled to start at time 83
We need a list that maintains all of SIT and EIT foreach slot The algorithm tries to fill the slots as much aspossible Our aim is to select the maximum tasks that meetthe above requirement For doing this task first we sort thetasks ascending considering their execution time ie w(ti)then using Algorithm 4 we assign the tasks in slots
The reuse idle time heuristic more minimizes themakespan however this algorithm for large-scale task graphsmakes an overhead cost in terms of time Therefore we limitreuse idle time heuristic just to 30 of best chromosomes
This means that among the chromosomes of a generation30 of them with the shortest completion time are selectedto apply reuse idle time heuristic
34 Learning Operators The evolutionary process of theLAGA is enhanced using reward and penalty operatorsTheseoperators are utilized for learning In the LAGA in additionto evaluating the chromosome the genes of a chromosomeare assessed based on their outcome on chromosomersquos fitnessThus the most fitting location for genes within chromosomesand the most proper chromosome inside the population isregularly discovered during the evolutionary process of thegenetic algorithm Intuitively the algorithm selects a gene achromosome and evaluates it based on certain criteria If theresult of the evaluation is good this gene will be rewardedThis means that the gene in the chromosome is in the rightplace and should be protected from future changes But if theevaluation result is not good the gene must be penalizedIn this case if the gene has not already been rewarded orthe amount of penalties and rewards are the same the wholepossible neighbors (to be defined) of the gene are searched fora penalty action The neighbor with the highest quality willbe the replacement of this gene But if the number of rewardsreceived by the gene is greater than the number of receivedpenalties one of the numbers of rewards is reduced
8 Applied Computational Intelligence and Soft Computing
Formally the penalty and reward operators are employedin the LAGA as follows
during the scheduling process the LAGA selects gene119886119894 in a chromosome and assesses it if it gets a promisingfeedback the probability 119875119894(119899) of this gene increases and theprobability of other genes decreases If it gets an inappro-priate feedback the probability 119875119894(119899) of this gene decreasesand probability of other genes increases In this paper weutilize a linear learning scheme for learning This schemewas considered first in mathematical psychology [41] butwas later independently conceived and introduced into theengineering literature by Shapiro and Narendra [41] LettingΓ119895 and Ψ119895 be two functions for a linear learning scheme withmultiple genes we have
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) 0 lt 120572 lt 1 (6)
Γ119895 [119901119895 (119899)] = 120573119898 minus 1 minus 120573119901119895 (119899) (7)
In (6) and (7) m 120572 and 120573 are the number of genes of achromosome reward and penalty parameters respectivelyThe parameters 120572 and 120573 are used to control the rate ofconvergence of a chromosome According to (6) and (7) if120572 and 120573 are equal the learning algorithm will be knownas linear reward penalty If 120573 ≪ 120572 the learning algorithmwill be known as linear reward epsilon penalty and if b=0the learning algorithm will be a linear reward inactionDepending on whether penalty or reward has been made theprobability of genes is updated as follows
A promising feedback for gene i
119875119895 (119899 + 1) = 119875119895 (119899) minus Ψ119895 [119875119895 (119899)] forall119895 119895 = 119894 (8)
but
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) (9)
so
119901119895 (119899 + 1) = 119901119895 (119899) minus 120572119901119895 (119899) = (1 minus 120572) 119901119895 (119899) (10)
and
119901119894 (119899 + 1) = 119901119894 (119899) +119903
sum119895=1119895 =1
Ψ119895 [119901119895 (119899)]
= 119901119894 (119899) + sum119895=1119895 =119894
120572119901119895 (119899)
= 119901119894 (119899) + 120572sum119901119895 (119899)all values except j = i so
= 119901119894 (119899) + 120572 (1 minus 119901119894 (119899))
(11)
An inappropriate feedback for gene i
119901119895 (119899 + 1) = 119901119895 (119899) + Γ119895 [119901119895 (119899)] (12)
but
Γ119895 (119901119895 (119899)) = 120573119898 minus 1 minus 119887119901119895 (119899) (13)
so
119901119895 (119899 + 1) = 119901119895 (119899) + 120573119898 minus 1 minus 120573119901119895 (119899)
= 120573119898 minus 1 + (1 minus 120573) 119901119895 (119899)
(14)
and
119901119894 (119899 + 1) = 119901119894 (119899) minus119903
sum119895=1119895 =119894
Γ119895 [119901119895 (119899)]
= 119901119894 (119899) minussum( 120573119903 minus 1 minus 120573119901119895 (119899))
= (1 minus 120573) 119901119894 (119899) 0 le 120573 lt 1
(15)
These probabilities cause good genes to find their place inthe chromosome over time The main intention of theseprobabilities is to exploit the previous behavior of the systemin order to make decisions for the future hence learningoccurs To perform learning the number of internal states ofeach gene must be determined These internal states for eachgene maintain the number of failures and successes Howto select a gene from a chromosome is based on calculatingthe cumulative probability of each gene as follows (pi is geneprobability)
q1 = p1q2 = p1 + p2
qn = p1 + p2 + + pn
(16)
A random number is generated between 0 and 1 If generatedrandom number is higher than qi and lower than qj thecorresponding gene to qi is selected to evaluate for rewardand penalty Obviously genes with higher probabilities arepreferred for reward or penalty
In each iteration step of the algorithm a gene ofeach chromosome is selected based on its probability((8) (11) (12) and (15)) and this gene is evaluated usingAlgorithm 5
Generally a gene is penalized or rewarded as followsSuppose that a chromosome includes R genes (1205721 12057221205723 120572119877) and has RN internal states (1205931 1205932 120593119877119873) Inter-
nal states of 1205931 1205932 120593119873 are related to 1205721 120593119873+1 120593119873+2 1205932119873
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
Applied Computational Intelligence and Soft Computing 5
Table 2 Extended chromosome structure for a sample DAG
Task No 1 2 3 4 5 6Processor No 1 1 2 3 1 2Depth 0 0 0 0 0 0Probability 016 016 016 016 016 016
Step 1- Create the initial population (classic chromosomes) as described in Section 31
Step 2-While termination condition has not been satisfiedDo
- For each classic chromosome in the current population Do- Convert it to the extended structure chromosome (such as Table 2)- Enhance chromosome by applying learning operators (reward and penalty) on the chromosome until the
makespan could be less described in Section 34- Convert extended chromosome to classic chromosome by removing rows related depth and probability- Apply the standard roulette wheel selection strategy for selecting potentially useful individuals for recombination- Apply the standard two-point crossover operator on processors in two enhanced chromosomes- Apply the standard mutation operator on processors in two enhanced chromosomes- Apply the reuse idle time heuristic on 30 of best chromosomes described in Section 33
Algorithm 1 A new task graph scheduling algorithm
- Calculate the t-level + b-level values for all the tasks- Considering t-level + b-level identify all the tasks placed on the critical path- Repeat
- Select a task amongst the tasks ready to schedule- If the selected task placed on the critical pathThen
Assign the task to a processor that has assigned other tasks on the critical pathElse Find a task with highest communication cost with this task and locate both of them on
the same processor- Until the list of tasks is empty
- At first each gene on the chromosome is in the boundary state or zero depth and its probability is119875119894(119905) = 1119903
Algorithm 2
ldquopure chancerdquo situation For an r-gene chromosomethe gene probability is given by
119875119894 (119905) = 1119903 119894 = 1 2 119903 (r is number of tasks) (1)
(vii) 119879 = 119879[119886(119899) 120573(119899) 119901(119899)] indicates the parametersrequired for a learning
In Algorithm 1 the steps of our proposed task graph schedul-ing algorithm are given Different parts of this algorithm arefurther described in the following sections
The objective of the new task scheduling algorithm isto minimize the completion time Some terms are used theproposed algorithm is defined below
Definition 1 In a task graph the t-level of node i is the lengthof the longest path from an entry node to i (excluding i) Herethe length of a path is the sumof all the node and edgeweightsalong the path [39]
Definition 2 The b-level of a node is the length of the longestpath from the node to an exit node [39]
Definition 3 A Critical Path (CP) of a task graph is a pathfrom an entry node to an exit node as the sum of executiontime and communication cost is the maximum The nodeslocated on the CP can be identified with their values of (t-level + b-level) ie t-level + b-level for that node should bemaximized [39]
Definition 4 ESTij mdash Earliest Start Time of task i andprocessor j The EST refers to the earliest execution start timeof the node ni on processor pj
31 Initial Population The initial population is constructedas shown in Algorithm 2
The initial population is generated in such a way thatthe overall communication time is minimized To do thisthe algorithm identifies all tasks located on the critical path
6 Applied Computational Intelligence and Soft Computing
(1) For each task in a chromosomeDoSet its reference count equal to the number of immediate parents of the task in the task graph correspondingto the chromosome
(2) For each processor Pi DoSet its local timer si to zeroAdd execution time of processorrsquos first task to si(3) Set the global timer S to one
(4) RepeatFor each processor Pi Do
Read the value of timer si of PiIf S = si Then
Reduce one from the reference count of each child of the taskSet EST of each child of the task that are not assigned to Pi toMax (Current EST of the child Sum of si and communication cost between the tasks)Take next task of Pi from the chromosomeAdd the sum of S and execution time of the task to si
If EST of the task is bigger than S or reference count of task is not zeroThenadd one unit of time to si
Add one unit of time to the global timer S Until all the tasks are scheduled
(5) makespan = the maximum value of the timers si of all processors Pi as the fitness of the chromosome
Algorithm 3 Schedule length
and then tries to shorten the critical path in the DAGby assigning the tasks on the critical path into the sameprocessor By reducing the length of the critical path theminimum completion time of the scheduling is reduced
32 Computing Fitness of Chromosome Quality of eachthe chromosome depends on the completion time of thescheduling The completion time of a scheduling representsits fitness The objective is to minimize the completion timeIn the proposed algorithm first the EST for all tasks arecalculated The value of an entry ESTij referring to task i andprocessor j will be given by
119864119878119879119894119895 = max (119865119879119895 119864119879119879119894119895) (2)
where FTj is the time that machine j finishes the executionof all previous tasks of task i and ETTij indicates the timethat all the data required to run task i on processor jis ready To calculate this time the finish time and timerequired to transfer data between processors of all immediatepredecessors of task i in the task graph are considered
The fitness function used to guide the evolutionaryprocess of the genetic algorithm for finding a schedulingis based on the total finish time of the schedule which isobtained by
Makespan = max FT (Pj) for j = 1 2 Np (3)
whereNp and FT(Pj) denote the number of processor and thefinish time of the last task in the processor Pj respectively
max makespan = max makes-spans Fitness value = max makes-pan ndash makespan
(4)
In our method the length of an obtained schedule andmakespan is computed as Algorithm 3
In the LAGA we employed the roulette wheel selectionoperator to select potentially useful chromosomes for thereproduction process The fitness value is used to associatea selection probability for each chromosome Let 119891i andN denote the fitness value of the chromosome i (whichis calculated by (4)) and the number of chromosomes inthe population respectively The selection probability of thischromosome Pi is calculated as follows
119875119894 = 119891119894sum119873119895=1 119891119894 (5)
Using (5) a proportion of the wheel is assigned to each chro-mosomeThe higher the fitness value of the chromosome thehigher its opportunities of being elected for the reproductionprocess
33 Reuse Idle Time A reuse idle time criterion can improvethe quality of a schedule [40] In this section we presenta reuse idle time greedy algorithm to control the originalsystem and improve the quality of returned results For arandomly selected chromosome in the population in eachgeneration we assign some tasks to idle time slots Forexample Figure 3 shows a sample of the Gantt schedulingchart related to Figure 1 According to Figure 3 (left) thetime gap in the P1 processor is as large as 10 units and thecompletion time for the processor P1 is equal to 148 Also theweight of the task t10 is equivalent to 10 By applying changesthe t10 can start from the time 73 and the completion timereduces from 148 to 138 units with this reuse as can be seenin Figure 3 (left)
Applied Computational Intelligence and Soft Computing 7
Let STT be Start Time of TaskSIT be Idle Start TimeEIT be Idle End Time
(tj) denotes task jFor P=1 to the number of processors
For i=1 to the number of slots on processor PFor each slot i
Create ready task list for doing this task select the tasks that for thoseSTT gt= EIT ie select the tasks that is scheduled after a slotSort tasks acceding based on w(tj)
If (((EITi - SITi) gt= w(tj)) ampamp DAT(tj Pi) lt= SITi)Allocate task j to slot iUpdate slot start and end timeUpdate the ready task listAfter rescheduling newly created slot is added to the slot ready list
Algorithm 4 Reuse idle time
After applying reuse heuristicBefore applying reuse heuristic
10 5
2
4
3 6 9
7
10 8 11 12
15
18 6338 58 73 83 93 118
5 25 55 66 81
138
Time
0
1
10 5
2
4
3 6 9
7
108 11 12
15
18 6338 58 73 83 93 103
5 25 55 66 81
128 148
Time
0
1
Processor
Processor
Figure 3 Reusing the standby resources
The algorithm of this heuristic is shown in Algorithm 4while all tasks and all slots are not addressed this algorithmwill be repeated Let idle start time and idle end time of slot idenoted by SITi and EITi respectively Also assume DAT(tiPi) and w(ti) denote data arrival time of task ti on processorPi and execution time of task ti respectively Task ti allocatedto slot si when
If (((EITi - SITi) gt= w(ti)) ampamp DAT(ti Pi) lt= SITi)For example assume the processor P1 has an idle slot andthe SIT1 =73 and EIT1 =83 On the other hand w(t10)= 10and DAT (t10 P1)=59 In our algorithm t10 is scheduled tostart time 93 By applying the reuse idle algorithm t10 can berescheduled to start at time 83
We need a list that maintains all of SIT and EIT foreach slot The algorithm tries to fill the slots as much aspossible Our aim is to select the maximum tasks that meetthe above requirement For doing this task first we sort thetasks ascending considering their execution time ie w(ti)then using Algorithm 4 we assign the tasks in slots
The reuse idle time heuristic more minimizes themakespan however this algorithm for large-scale task graphsmakes an overhead cost in terms of time Therefore we limitreuse idle time heuristic just to 30 of best chromosomes
This means that among the chromosomes of a generation30 of them with the shortest completion time are selectedto apply reuse idle time heuristic
34 Learning Operators The evolutionary process of theLAGA is enhanced using reward and penalty operatorsTheseoperators are utilized for learning In the LAGA in additionto evaluating the chromosome the genes of a chromosomeare assessed based on their outcome on chromosomersquos fitnessThus the most fitting location for genes within chromosomesand the most proper chromosome inside the population isregularly discovered during the evolutionary process of thegenetic algorithm Intuitively the algorithm selects a gene achromosome and evaluates it based on certain criteria If theresult of the evaluation is good this gene will be rewardedThis means that the gene in the chromosome is in the rightplace and should be protected from future changes But if theevaluation result is not good the gene must be penalizedIn this case if the gene has not already been rewarded orthe amount of penalties and rewards are the same the wholepossible neighbors (to be defined) of the gene are searched fora penalty action The neighbor with the highest quality willbe the replacement of this gene But if the number of rewardsreceived by the gene is greater than the number of receivedpenalties one of the numbers of rewards is reduced
8 Applied Computational Intelligence and Soft Computing
Formally the penalty and reward operators are employedin the LAGA as follows
during the scheduling process the LAGA selects gene119886119894 in a chromosome and assesses it if it gets a promisingfeedback the probability 119875119894(119899) of this gene increases and theprobability of other genes decreases If it gets an inappro-priate feedback the probability 119875119894(119899) of this gene decreasesand probability of other genes increases In this paper weutilize a linear learning scheme for learning This schemewas considered first in mathematical psychology [41] butwas later independently conceived and introduced into theengineering literature by Shapiro and Narendra [41] LettingΓ119895 and Ψ119895 be two functions for a linear learning scheme withmultiple genes we have
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) 0 lt 120572 lt 1 (6)
Γ119895 [119901119895 (119899)] = 120573119898 minus 1 minus 120573119901119895 (119899) (7)
In (6) and (7) m 120572 and 120573 are the number of genes of achromosome reward and penalty parameters respectivelyThe parameters 120572 and 120573 are used to control the rate ofconvergence of a chromosome According to (6) and (7) if120572 and 120573 are equal the learning algorithm will be knownas linear reward penalty If 120573 ≪ 120572 the learning algorithmwill be known as linear reward epsilon penalty and if b=0the learning algorithm will be a linear reward inactionDepending on whether penalty or reward has been made theprobability of genes is updated as follows
A promising feedback for gene i
119875119895 (119899 + 1) = 119875119895 (119899) minus Ψ119895 [119875119895 (119899)] forall119895 119895 = 119894 (8)
but
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) (9)
so
119901119895 (119899 + 1) = 119901119895 (119899) minus 120572119901119895 (119899) = (1 minus 120572) 119901119895 (119899) (10)
and
119901119894 (119899 + 1) = 119901119894 (119899) +119903
sum119895=1119895 =1
Ψ119895 [119901119895 (119899)]
= 119901119894 (119899) + sum119895=1119895 =119894
120572119901119895 (119899)
= 119901119894 (119899) + 120572sum119901119895 (119899)all values except j = i so
= 119901119894 (119899) + 120572 (1 minus 119901119894 (119899))
(11)
An inappropriate feedback for gene i
119901119895 (119899 + 1) = 119901119895 (119899) + Γ119895 [119901119895 (119899)] (12)
but
Γ119895 (119901119895 (119899)) = 120573119898 minus 1 minus 119887119901119895 (119899) (13)
so
119901119895 (119899 + 1) = 119901119895 (119899) + 120573119898 minus 1 minus 120573119901119895 (119899)
= 120573119898 minus 1 + (1 minus 120573) 119901119895 (119899)
(14)
and
119901119894 (119899 + 1) = 119901119894 (119899) minus119903
sum119895=1119895 =119894
Γ119895 [119901119895 (119899)]
= 119901119894 (119899) minussum( 120573119903 minus 1 minus 120573119901119895 (119899))
= (1 minus 120573) 119901119894 (119899) 0 le 120573 lt 1
(15)
These probabilities cause good genes to find their place inthe chromosome over time The main intention of theseprobabilities is to exploit the previous behavior of the systemin order to make decisions for the future hence learningoccurs To perform learning the number of internal states ofeach gene must be determined These internal states for eachgene maintain the number of failures and successes Howto select a gene from a chromosome is based on calculatingthe cumulative probability of each gene as follows (pi is geneprobability)
q1 = p1q2 = p1 + p2
qn = p1 + p2 + + pn
(16)
A random number is generated between 0 and 1 If generatedrandom number is higher than qi and lower than qj thecorresponding gene to qi is selected to evaluate for rewardand penalty Obviously genes with higher probabilities arepreferred for reward or penalty
In each iteration step of the algorithm a gene ofeach chromosome is selected based on its probability((8) (11) (12) and (15)) and this gene is evaluated usingAlgorithm 5
Generally a gene is penalized or rewarded as followsSuppose that a chromosome includes R genes (1205721 12057221205723 120572119877) and has RN internal states (1205931 1205932 120593119877119873) Inter-
nal states of 1205931 1205932 120593119873 are related to 1205721 120593119873+1 120593119873+2 1205932119873
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
6 Applied Computational Intelligence and Soft Computing
(1) For each task in a chromosomeDoSet its reference count equal to the number of immediate parents of the task in the task graph correspondingto the chromosome
(2) For each processor Pi DoSet its local timer si to zeroAdd execution time of processorrsquos first task to si(3) Set the global timer S to one
(4) RepeatFor each processor Pi Do
Read the value of timer si of PiIf S = si Then
Reduce one from the reference count of each child of the taskSet EST of each child of the task that are not assigned to Pi toMax (Current EST of the child Sum of si and communication cost between the tasks)Take next task of Pi from the chromosomeAdd the sum of S and execution time of the task to si
If EST of the task is bigger than S or reference count of task is not zeroThenadd one unit of time to si
Add one unit of time to the global timer S Until all the tasks are scheduled
(5) makespan = the maximum value of the timers si of all processors Pi as the fitness of the chromosome
Algorithm 3 Schedule length
and then tries to shorten the critical path in the DAGby assigning the tasks on the critical path into the sameprocessor By reducing the length of the critical path theminimum completion time of the scheduling is reduced
32 Computing Fitness of Chromosome Quality of eachthe chromosome depends on the completion time of thescheduling The completion time of a scheduling representsits fitness The objective is to minimize the completion timeIn the proposed algorithm first the EST for all tasks arecalculated The value of an entry ESTij referring to task i andprocessor j will be given by
119864119878119879119894119895 = max (119865119879119895 119864119879119879119894119895) (2)
where FTj is the time that machine j finishes the executionof all previous tasks of task i and ETTij indicates the timethat all the data required to run task i on processor jis ready To calculate this time the finish time and timerequired to transfer data between processors of all immediatepredecessors of task i in the task graph are considered
The fitness function used to guide the evolutionaryprocess of the genetic algorithm for finding a schedulingis based on the total finish time of the schedule which isobtained by
Makespan = max FT (Pj) for j = 1 2 Np (3)
whereNp and FT(Pj) denote the number of processor and thefinish time of the last task in the processor Pj respectively
max makespan = max makes-spans Fitness value = max makes-pan ndash makespan
(4)
In our method the length of an obtained schedule andmakespan is computed as Algorithm 3
In the LAGA we employed the roulette wheel selectionoperator to select potentially useful chromosomes for thereproduction process The fitness value is used to associatea selection probability for each chromosome Let 119891i andN denote the fitness value of the chromosome i (whichis calculated by (4)) and the number of chromosomes inthe population respectively The selection probability of thischromosome Pi is calculated as follows
119875119894 = 119891119894sum119873119895=1 119891119894 (5)
Using (5) a proportion of the wheel is assigned to each chro-mosomeThe higher the fitness value of the chromosome thehigher its opportunities of being elected for the reproductionprocess
33 Reuse Idle Time A reuse idle time criterion can improvethe quality of a schedule [40] In this section we presenta reuse idle time greedy algorithm to control the originalsystem and improve the quality of returned results For arandomly selected chromosome in the population in eachgeneration we assign some tasks to idle time slots Forexample Figure 3 shows a sample of the Gantt schedulingchart related to Figure 1 According to Figure 3 (left) thetime gap in the P1 processor is as large as 10 units and thecompletion time for the processor P1 is equal to 148 Also theweight of the task t10 is equivalent to 10 By applying changesthe t10 can start from the time 73 and the completion timereduces from 148 to 138 units with this reuse as can be seenin Figure 3 (left)
Applied Computational Intelligence and Soft Computing 7
Let STT be Start Time of TaskSIT be Idle Start TimeEIT be Idle End Time
(tj) denotes task jFor P=1 to the number of processors
For i=1 to the number of slots on processor PFor each slot i
Create ready task list for doing this task select the tasks that for thoseSTT gt= EIT ie select the tasks that is scheduled after a slotSort tasks acceding based on w(tj)
If (((EITi - SITi) gt= w(tj)) ampamp DAT(tj Pi) lt= SITi)Allocate task j to slot iUpdate slot start and end timeUpdate the ready task listAfter rescheduling newly created slot is added to the slot ready list
Algorithm 4 Reuse idle time
After applying reuse heuristicBefore applying reuse heuristic
10 5
2
4
3 6 9
7
10 8 11 12
15
18 6338 58 73 83 93 118
5 25 55 66 81
138
Time
0
1
10 5
2
4
3 6 9
7
108 11 12
15
18 6338 58 73 83 93 103
5 25 55 66 81
128 148
Time
0
1
Processor
Processor
Figure 3 Reusing the standby resources
The algorithm of this heuristic is shown in Algorithm 4while all tasks and all slots are not addressed this algorithmwill be repeated Let idle start time and idle end time of slot idenoted by SITi and EITi respectively Also assume DAT(tiPi) and w(ti) denote data arrival time of task ti on processorPi and execution time of task ti respectively Task ti allocatedto slot si when
If (((EITi - SITi) gt= w(ti)) ampamp DAT(ti Pi) lt= SITi)For example assume the processor P1 has an idle slot andthe SIT1 =73 and EIT1 =83 On the other hand w(t10)= 10and DAT (t10 P1)=59 In our algorithm t10 is scheduled tostart time 93 By applying the reuse idle algorithm t10 can berescheduled to start at time 83
We need a list that maintains all of SIT and EIT foreach slot The algorithm tries to fill the slots as much aspossible Our aim is to select the maximum tasks that meetthe above requirement For doing this task first we sort thetasks ascending considering their execution time ie w(ti)then using Algorithm 4 we assign the tasks in slots
The reuse idle time heuristic more minimizes themakespan however this algorithm for large-scale task graphsmakes an overhead cost in terms of time Therefore we limitreuse idle time heuristic just to 30 of best chromosomes
This means that among the chromosomes of a generation30 of them with the shortest completion time are selectedto apply reuse idle time heuristic
34 Learning Operators The evolutionary process of theLAGA is enhanced using reward and penalty operatorsTheseoperators are utilized for learning In the LAGA in additionto evaluating the chromosome the genes of a chromosomeare assessed based on their outcome on chromosomersquos fitnessThus the most fitting location for genes within chromosomesand the most proper chromosome inside the population isregularly discovered during the evolutionary process of thegenetic algorithm Intuitively the algorithm selects a gene achromosome and evaluates it based on certain criteria If theresult of the evaluation is good this gene will be rewardedThis means that the gene in the chromosome is in the rightplace and should be protected from future changes But if theevaluation result is not good the gene must be penalizedIn this case if the gene has not already been rewarded orthe amount of penalties and rewards are the same the wholepossible neighbors (to be defined) of the gene are searched fora penalty action The neighbor with the highest quality willbe the replacement of this gene But if the number of rewardsreceived by the gene is greater than the number of receivedpenalties one of the numbers of rewards is reduced
8 Applied Computational Intelligence and Soft Computing
Formally the penalty and reward operators are employedin the LAGA as follows
during the scheduling process the LAGA selects gene119886119894 in a chromosome and assesses it if it gets a promisingfeedback the probability 119875119894(119899) of this gene increases and theprobability of other genes decreases If it gets an inappro-priate feedback the probability 119875119894(119899) of this gene decreasesand probability of other genes increases In this paper weutilize a linear learning scheme for learning This schemewas considered first in mathematical psychology [41] butwas later independently conceived and introduced into theengineering literature by Shapiro and Narendra [41] LettingΓ119895 and Ψ119895 be two functions for a linear learning scheme withmultiple genes we have
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) 0 lt 120572 lt 1 (6)
Γ119895 [119901119895 (119899)] = 120573119898 minus 1 minus 120573119901119895 (119899) (7)
In (6) and (7) m 120572 and 120573 are the number of genes of achromosome reward and penalty parameters respectivelyThe parameters 120572 and 120573 are used to control the rate ofconvergence of a chromosome According to (6) and (7) if120572 and 120573 are equal the learning algorithm will be knownas linear reward penalty If 120573 ≪ 120572 the learning algorithmwill be known as linear reward epsilon penalty and if b=0the learning algorithm will be a linear reward inactionDepending on whether penalty or reward has been made theprobability of genes is updated as follows
A promising feedback for gene i
119875119895 (119899 + 1) = 119875119895 (119899) minus Ψ119895 [119875119895 (119899)] forall119895 119895 = 119894 (8)
but
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) (9)
so
119901119895 (119899 + 1) = 119901119895 (119899) minus 120572119901119895 (119899) = (1 minus 120572) 119901119895 (119899) (10)
and
119901119894 (119899 + 1) = 119901119894 (119899) +119903
sum119895=1119895 =1
Ψ119895 [119901119895 (119899)]
= 119901119894 (119899) + sum119895=1119895 =119894
120572119901119895 (119899)
= 119901119894 (119899) + 120572sum119901119895 (119899)all values except j = i so
= 119901119894 (119899) + 120572 (1 minus 119901119894 (119899))
(11)
An inappropriate feedback for gene i
119901119895 (119899 + 1) = 119901119895 (119899) + Γ119895 [119901119895 (119899)] (12)
but
Γ119895 (119901119895 (119899)) = 120573119898 minus 1 minus 119887119901119895 (119899) (13)
so
119901119895 (119899 + 1) = 119901119895 (119899) + 120573119898 minus 1 minus 120573119901119895 (119899)
= 120573119898 minus 1 + (1 minus 120573) 119901119895 (119899)
(14)
and
119901119894 (119899 + 1) = 119901119894 (119899) minus119903
sum119895=1119895 =119894
Γ119895 [119901119895 (119899)]
= 119901119894 (119899) minussum( 120573119903 minus 1 minus 120573119901119895 (119899))
= (1 minus 120573) 119901119894 (119899) 0 le 120573 lt 1
(15)
These probabilities cause good genes to find their place inthe chromosome over time The main intention of theseprobabilities is to exploit the previous behavior of the systemin order to make decisions for the future hence learningoccurs To perform learning the number of internal states ofeach gene must be determined These internal states for eachgene maintain the number of failures and successes Howto select a gene from a chromosome is based on calculatingthe cumulative probability of each gene as follows (pi is geneprobability)
q1 = p1q2 = p1 + p2
qn = p1 + p2 + + pn
(16)
A random number is generated between 0 and 1 If generatedrandom number is higher than qi and lower than qj thecorresponding gene to qi is selected to evaluate for rewardand penalty Obviously genes with higher probabilities arepreferred for reward or penalty
In each iteration step of the algorithm a gene ofeach chromosome is selected based on its probability((8) (11) (12) and (15)) and this gene is evaluated usingAlgorithm 5
Generally a gene is penalized or rewarded as followsSuppose that a chromosome includes R genes (1205721 12057221205723 120572119877) and has RN internal states (1205931 1205932 120593119877119873) Inter-
nal states of 1205931 1205932 120593119873 are related to 1205721 120593119873+1 120593119873+2 1205932119873
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
Applied Computational Intelligence and Soft Computing 7
Let STT be Start Time of TaskSIT be Idle Start TimeEIT be Idle End Time
(tj) denotes task jFor P=1 to the number of processors
For i=1 to the number of slots on processor PFor each slot i
Create ready task list for doing this task select the tasks that for thoseSTT gt= EIT ie select the tasks that is scheduled after a slotSort tasks acceding based on w(tj)
If (((EITi - SITi) gt= w(tj)) ampamp DAT(tj Pi) lt= SITi)Allocate task j to slot iUpdate slot start and end timeUpdate the ready task listAfter rescheduling newly created slot is added to the slot ready list
Algorithm 4 Reuse idle time
After applying reuse heuristicBefore applying reuse heuristic
10 5
2
4
3 6 9
7
10 8 11 12
15
18 6338 58 73 83 93 118
5 25 55 66 81
138
Time
0
1
10 5
2
4
3 6 9
7
108 11 12
15
18 6338 58 73 83 93 103
5 25 55 66 81
128 148
Time
0
1
Processor
Processor
Figure 3 Reusing the standby resources
The algorithm of this heuristic is shown in Algorithm 4while all tasks and all slots are not addressed this algorithmwill be repeated Let idle start time and idle end time of slot idenoted by SITi and EITi respectively Also assume DAT(tiPi) and w(ti) denote data arrival time of task ti on processorPi and execution time of task ti respectively Task ti allocatedto slot si when
If (((EITi - SITi) gt= w(ti)) ampamp DAT(ti Pi) lt= SITi)For example assume the processor P1 has an idle slot andthe SIT1 =73 and EIT1 =83 On the other hand w(t10)= 10and DAT (t10 P1)=59 In our algorithm t10 is scheduled tostart time 93 By applying the reuse idle algorithm t10 can berescheduled to start at time 83
We need a list that maintains all of SIT and EIT foreach slot The algorithm tries to fill the slots as much aspossible Our aim is to select the maximum tasks that meetthe above requirement For doing this task first we sort thetasks ascending considering their execution time ie w(ti)then using Algorithm 4 we assign the tasks in slots
The reuse idle time heuristic more minimizes themakespan however this algorithm for large-scale task graphsmakes an overhead cost in terms of time Therefore we limitreuse idle time heuristic just to 30 of best chromosomes
This means that among the chromosomes of a generation30 of them with the shortest completion time are selectedto apply reuse idle time heuristic
34 Learning Operators The evolutionary process of theLAGA is enhanced using reward and penalty operatorsTheseoperators are utilized for learning In the LAGA in additionto evaluating the chromosome the genes of a chromosomeare assessed based on their outcome on chromosomersquos fitnessThus the most fitting location for genes within chromosomesand the most proper chromosome inside the population isregularly discovered during the evolutionary process of thegenetic algorithm Intuitively the algorithm selects a gene achromosome and evaluates it based on certain criteria If theresult of the evaluation is good this gene will be rewardedThis means that the gene in the chromosome is in the rightplace and should be protected from future changes But if theevaluation result is not good the gene must be penalizedIn this case if the gene has not already been rewarded orthe amount of penalties and rewards are the same the wholepossible neighbors (to be defined) of the gene are searched fora penalty action The neighbor with the highest quality willbe the replacement of this gene But if the number of rewardsreceived by the gene is greater than the number of receivedpenalties one of the numbers of rewards is reduced
8 Applied Computational Intelligence and Soft Computing
Formally the penalty and reward operators are employedin the LAGA as follows
during the scheduling process the LAGA selects gene119886119894 in a chromosome and assesses it if it gets a promisingfeedback the probability 119875119894(119899) of this gene increases and theprobability of other genes decreases If it gets an inappro-priate feedback the probability 119875119894(119899) of this gene decreasesand probability of other genes increases In this paper weutilize a linear learning scheme for learning This schemewas considered first in mathematical psychology [41] butwas later independently conceived and introduced into theengineering literature by Shapiro and Narendra [41] LettingΓ119895 and Ψ119895 be two functions for a linear learning scheme withmultiple genes we have
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) 0 lt 120572 lt 1 (6)
Γ119895 [119901119895 (119899)] = 120573119898 minus 1 minus 120573119901119895 (119899) (7)
In (6) and (7) m 120572 and 120573 are the number of genes of achromosome reward and penalty parameters respectivelyThe parameters 120572 and 120573 are used to control the rate ofconvergence of a chromosome According to (6) and (7) if120572 and 120573 are equal the learning algorithm will be knownas linear reward penalty If 120573 ≪ 120572 the learning algorithmwill be known as linear reward epsilon penalty and if b=0the learning algorithm will be a linear reward inactionDepending on whether penalty or reward has been made theprobability of genes is updated as follows
A promising feedback for gene i
119875119895 (119899 + 1) = 119875119895 (119899) minus Ψ119895 [119875119895 (119899)] forall119895 119895 = 119894 (8)
but
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) (9)
so
119901119895 (119899 + 1) = 119901119895 (119899) minus 120572119901119895 (119899) = (1 minus 120572) 119901119895 (119899) (10)
and
119901119894 (119899 + 1) = 119901119894 (119899) +119903
sum119895=1119895 =1
Ψ119895 [119901119895 (119899)]
= 119901119894 (119899) + sum119895=1119895 =119894
120572119901119895 (119899)
= 119901119894 (119899) + 120572sum119901119895 (119899)all values except j = i so
= 119901119894 (119899) + 120572 (1 minus 119901119894 (119899))
(11)
An inappropriate feedback for gene i
119901119895 (119899 + 1) = 119901119895 (119899) + Γ119895 [119901119895 (119899)] (12)
but
Γ119895 (119901119895 (119899)) = 120573119898 minus 1 minus 119887119901119895 (119899) (13)
so
119901119895 (119899 + 1) = 119901119895 (119899) + 120573119898 minus 1 minus 120573119901119895 (119899)
= 120573119898 minus 1 + (1 minus 120573) 119901119895 (119899)
(14)
and
119901119894 (119899 + 1) = 119901119894 (119899) minus119903
sum119895=1119895 =119894
Γ119895 [119901119895 (119899)]
= 119901119894 (119899) minussum( 120573119903 minus 1 minus 120573119901119895 (119899))
= (1 minus 120573) 119901119894 (119899) 0 le 120573 lt 1
(15)
These probabilities cause good genes to find their place inthe chromosome over time The main intention of theseprobabilities is to exploit the previous behavior of the systemin order to make decisions for the future hence learningoccurs To perform learning the number of internal states ofeach gene must be determined These internal states for eachgene maintain the number of failures and successes Howto select a gene from a chromosome is based on calculatingthe cumulative probability of each gene as follows (pi is geneprobability)
q1 = p1q2 = p1 + p2
qn = p1 + p2 + + pn
(16)
A random number is generated between 0 and 1 If generatedrandom number is higher than qi and lower than qj thecorresponding gene to qi is selected to evaluate for rewardand penalty Obviously genes with higher probabilities arepreferred for reward or penalty
In each iteration step of the algorithm a gene ofeach chromosome is selected based on its probability((8) (11) (12) and (15)) and this gene is evaluated usingAlgorithm 5
Generally a gene is penalized or rewarded as followsSuppose that a chromosome includes R genes (1205721 12057221205723 120572119877) and has RN internal states (1205931 1205932 120593119877119873) Inter-
nal states of 1205931 1205932 120593119873 are related to 1205721 120593119873+1 120593119873+2 1205932119873
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
8 Applied Computational Intelligence and Soft Computing
Formally the penalty and reward operators are employedin the LAGA as follows
during the scheduling process the LAGA selects gene119886119894 in a chromosome and assesses it if it gets a promisingfeedback the probability 119875119894(119899) of this gene increases and theprobability of other genes decreases If it gets an inappro-priate feedback the probability 119875119894(119899) of this gene decreasesand probability of other genes increases In this paper weutilize a linear learning scheme for learning This schemewas considered first in mathematical psychology [41] butwas later independently conceived and introduced into theengineering literature by Shapiro and Narendra [41] LettingΓ119895 and Ψ119895 be two functions for a linear learning scheme withmultiple genes we have
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) 0 lt 120572 lt 1 (6)
Γ119895 [119901119895 (119899)] = 120573119898 minus 1 minus 120573119901119895 (119899) (7)
In (6) and (7) m 120572 and 120573 are the number of genes of achromosome reward and penalty parameters respectivelyThe parameters 120572 and 120573 are used to control the rate ofconvergence of a chromosome According to (6) and (7) if120572 and 120573 are equal the learning algorithm will be knownas linear reward penalty If 120573 ≪ 120572 the learning algorithmwill be known as linear reward epsilon penalty and if b=0the learning algorithm will be a linear reward inactionDepending on whether penalty or reward has been made theprobability of genes is updated as follows
A promising feedback for gene i
119875119895 (119899 + 1) = 119875119895 (119899) minus Ψ119895 [119875119895 (119899)] forall119895 119895 = 119894 (8)
but
Ψ119895 [119901119895 (119899)] = 120572119901119895 (119899) (9)
so
119901119895 (119899 + 1) = 119901119895 (119899) minus 120572119901119895 (119899) = (1 minus 120572) 119901119895 (119899) (10)
and
119901119894 (119899 + 1) = 119901119894 (119899) +119903
sum119895=1119895 =1
Ψ119895 [119901119895 (119899)]
= 119901119894 (119899) + sum119895=1119895 =119894
120572119901119895 (119899)
= 119901119894 (119899) + 120572sum119901119895 (119899)all values except j = i so
= 119901119894 (119899) + 120572 (1 minus 119901119894 (119899))
(11)
An inappropriate feedback for gene i
119901119895 (119899 + 1) = 119901119895 (119899) + Γ119895 [119901119895 (119899)] (12)
but
Γ119895 (119901119895 (119899)) = 120573119898 minus 1 minus 119887119901119895 (119899) (13)
so
119901119895 (119899 + 1) = 119901119895 (119899) + 120573119898 minus 1 minus 120573119901119895 (119899)
= 120573119898 minus 1 + (1 minus 120573) 119901119895 (119899)
(14)
and
119901119894 (119899 + 1) = 119901119894 (119899) minus119903
sum119895=1119895 =119894
Γ119895 [119901119895 (119899)]
= 119901119894 (119899) minussum( 120573119903 minus 1 minus 120573119901119895 (119899))
= (1 minus 120573) 119901119894 (119899) 0 le 120573 lt 1
(15)
These probabilities cause good genes to find their place inthe chromosome over time The main intention of theseprobabilities is to exploit the previous behavior of the systemin order to make decisions for the future hence learningoccurs To perform learning the number of internal states ofeach gene must be determined These internal states for eachgene maintain the number of failures and successes Howto select a gene from a chromosome is based on calculatingthe cumulative probability of each gene as follows (pi is geneprobability)
q1 = p1q2 = p1 + p2
qn = p1 + p2 + + pn
(16)
A random number is generated between 0 and 1 If generatedrandom number is higher than qi and lower than qj thecorresponding gene to qi is selected to evaluate for rewardand penalty Obviously genes with higher probabilities arepreferred for reward or penalty
In each iteration step of the algorithm a gene ofeach chromosome is selected based on its probability((8) (11) (12) and (15)) and this gene is evaluated usingAlgorithm 5
Generally a gene is penalized or rewarded as followsSuppose that a chromosome includes R genes (1205721 12057221205723 120572119877) and has RN internal states (1205931 1205932 120593119877119873) Inter-
nal states of 1205931 1205932 120593119873 are related to 1205721 120593119873+1 120593119873+2 1205932119873
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
Applied Computational Intelligence and Soft Computing 9
(1) Select a gene of a chromosome according to its probability (Eqs (8) (11) (12) and (15)) a gene of a chromosome indicates a vertex in the task graph
(2) Compute genersquos EST (indicated by CEST)(3) Compute EST of the previous task of the gene (indicated by PEST)(4) If (PEST is lesser than CEST)
(41) The gene will be rewarded(5) else
(51) The gene will be penalized
Algorithm 5 Evaluating a selected gene from a chromosome for performing reward and penalty
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(a) Positive feedback
1 2 3 N-1 N 2N 2N-1 N+3 N+2 N+1
(b) Inappropriate feedback
Figure 4 State transition for reward and penalty
are related to 1205722 and 120593(119877minus1)119873+1 120593(119877minus1)119873+2 120593119877119873 are relatedto 120572119877 Therefore
119866 [120593119894] =
1198861 119894 = 1 2 1198731198862 119894 = 119873 + 1 2119873sdot sdot sdot119886119877minus1119886119877 119894 = (119877 minus 1)119873 + 1 119877119873
(17)
so that G is a mapping functionIf gene 1205721 is in the internal state 120593119894 (1 le 119894 le 119873) on the
chromosome and this gene gets a penalty (120573 = 1) then theinternal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 1 2 119873 minus 1)120593119873 = 1205932119873
(18)
If the gene gets the reward (120573 = 0) then the internal statechanges as follows
120593119894 997888rarr 120593 119894minus1 (119894 = 1 2 119873)1205931 = 1205931
(19)
If gene 1205722 is in internal state 120593119894 (119873 + 1 le 119894 le 2119873) and it getsa penalty then the internal state changes as follows
120593119894 997888rarr 120593 119894+1 (119894 = 119873 + 1119873 + 2 2119873 minus 1)1205932119873 = 120593119873
(20)
If the gene gets the reward then transferring of state performsas follows
120593119894 997888rarr 120593 119894minus1 (119894 = 119873 + 2119873 + 3 2119873)120593119873+1 = 120593119873+1
(21)
In Figure 4 the internal states of each gene are consideredto be N In this figure N and 2N indicate the boundarystates of the first gene and second gene respectively Afterevaluating a gene if it gets a positive feedback it movesto internal states and if an inappropriate feedback is takenit moves to a boundary state If a gene reaches boundarystate and gets an undesirable feedback then it is displacedwith another gene in the chromosome so that the overallquality of the chromosome is improved To perform thisthe neighbors of a gene are generated and then from theseneighbors the algorithm searches for a processor in thechromosome for displacement so that makespan value inthat chromosome is lower than others If the makespanvalue of new chromosomes generated is more than theinitial chromosome it remains the same initial chromosomeIndeed the algorithm continues until there no better solutionis obtained The concept of neighbor scheduling is illustratedin Figure 5 In this figure A shows the current schedulingand B C and D are three neighbor scheduling for that Forexample consider the task a so that in B it moved intoprocessor 4 in C it moved into processor 2 and in C itmoved into processor 3
In the learning process several percents of the genesfrom a selected chromosome are chosen and each chro-mosome selected is regularly improved by this algorithm(Algorithm 6)The proposed algorithm considers a threshold120573 for determining the number of neighbors for searchingSuch threshold could be any percentage in the range of 0 le120573 le 100 Using a low value for 120573 reduces the algorithm
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
10 Applied Computational Intelligence and Soft Computing
Input getting a current schedulingOutput the best neighbor of a schedulingStep 1- Compute the total number of neighbors for current scheduling using Eq (22) and determine the threshold t Thisthreshold determines how many percents of the current scheduling neighbors must be assessed to find the next schedulingTotal number of neighbors = total number of processors in scheduling times the total number of tasks in the scheduling times t (22)Step 2- Searching for the best neighbor for current scheduling
- In the NAHC algorithm generates a random neighbor scheduling for a selected gene and examine it If the quality ofthe neighbor scheduling is lower than the current scheduling another neighbor scheduling is generated for thecurrent scheduling and it repeats this action until a higher-quality neighbor is found
- In the SAHC algorithm generates all neighbors for a selected gene and examine all of them then the best neighborscheduling is returned
Algorithm 6 Next Ascent and Steepest Ascent Algorithms
DCB
Processor 1
f
Processor 1Processor 1
Processor 2Processor 2
Processor 3Processor 3
ab
c d
e
f
Processor 2
b
c d
a
eb
e a
fdc
Processor 3
Processor 4
e
f
abProcessor 1
Processor 2Processor 3
dc
A
Figure 5 Neighborhood for task a
steps prior to converging and using a high value for 120573increases the algorithm steps prior to converging Howeverit is reasonable that a high threshold can often producea good result Based on 120573 value we propose to types oflearning schema named Steepest Ascent Learning Criterion(SALC) andNextAscent LearningCriterion (NALC) InNextAscent Learning Criterion 120573 is equal to zero This meansthe algorithm stops searching a scheduling when the firstscheduling found with a lower makespan (ie high-qualitysolution) and in the Steepest Ascent Learning Criterion 120573is equal to 100This causes the algorithm to generate all theneighbors scheduling and examine all of them and choose theone with the lowest makespan
Theorem 5 The time complexity of LAGA algorithm isO(MaxGentimesPopSizetimes NtimesV)Proof To calculate the time complexity of the algorithm firstwe consider the following assumptions
PopSize the number of individuals in the population
MaxGen The number of generationI Number of iterations for reward and penalty oper-atorsV the number of tasks in the task graphN the number neighbors for a selected geneP the number of processorsS the number of idle slots in a processorvrsquo the number of tasks allocated into a processor
To calculate time complexity for a chromosome it is neces-sary to calculate the completion time for all processors andselect the maximum time from them as time completion ofthe chromosome Thus the time complexity to calculate thecompletion time for a chromosome is O(V) The rewardingoperation time complexity is O(1) because only the internalstate of a gene changes But the penalizing operation timecomplexity is O(NtimesV) because it is necessary to find itsneighbors and to compute them completion times and thenselect a neighbor with minimum completion time
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
Applied Computational Intelligence and Soft Computing 11
Figure 6 A sample task graph (from [8])
Creating the initial population can be accomplished inlinear time thus the main computational cost lies in Step2 (Algorithm 1) The computational complexity of learningschema is O(NtimesV)The computational complexity of extend-ing a chromosome to classic chromosome is O(PopSizetimesV)The computational complexity of learning is O(PopSizetimesNtimesV) The computational complexity of the selection oper-ator is O(V) The computational complexity of crossoveris O(PopSizetimesV) and that of mutation is O(PopSizetimesV)The computational complexity of reuse idle time heuristicis O(PopSize times P times S times vrsquologvrsquo) Thus the overall timecomplexity isO(V) +O(NtimesV)+O(NtimesV)+O(PopSizetimes PtimesS times vrsquologvrsquo) + O(V) + O(PopSizetimesV) + O(PopSizetimesNtimesV) +O(PopSizetimesV) + O(PopSizetimesV) Therefore considering thenumber of generations the time complexity of LAGA can besimplified as O(MaxGentimesPopSizetimes NtimesV)
4 Experimental Results
The task graphs used to support the findings of thisstudy have been deposited in the [8 21] and httpwwwkasaharacswasedaacjpscheduleoptim pehtml In thefollowing we compare the proposed algorithm with anumber of other algorithms on these task graphs
We first compare the LAGA with Standard GeneticAlgorithm (denoted by SGA) In SGA there is no depth andtasks are arranged based on the topological order in eachchromosome The result is obtained by applying LAGA tothe task graph offered in [8 21] where this graph is redrawnin Figure 6 The result indicates considerably improvementLAGA compared to SGA The parameter setting for theexperiments are as follows
(i) Population size 30 chromosomes(ii) Number of generations 500(iii) Number of processors 3(iv) Crossover probability 80(v) mutation probability 5
Stability of LAGA and SGA
SGALAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 7 Comparison of the stability proposed algorithm andstandard genetic algorithm
Convergence of SGA and LAGA
SGA AlgorithmLAGA Algorithm
20 40 60 80 100
120
140
160
180
200
220
240
260
280
300
3200
Generation
35
40
45
50
Com
plet
ion
Tim
e
Figure 8 A Comparison of the convergence of the proposed andgenetic scheduling algorithm
(vi) Depth 3(vii) 120573 = 100(viii) Reward and penalize probability 50
Table 3 displays the scheduling and completion time obtainedfor the task graph shown in Figure 6 for both LAGA andSGA algorithms Also the stability of the proposed algorithmis evaluated Stability is a critical issue in evolutionary andheuristic algorithms It means that the algorithm gives thesame or close solutions in different runs To demonstrate thestability of the LAGA the results obtained by twenty runs ofthe algorithm to schedule the task graph shown in Figure 7
The progression of the chromosomes while applyingLAGA and SGA algorithms is shown in Figure 8
Comparison of the Proposed Algorithmwith Other AlgorithmsMost existing genetic algorithms and other heuristic algo-rithms have been evaluated on graphs which are randomlyproduced and do not communication cost Hence we selectthe algorithms for comparison for which their results on thecertain graph are knownTherefore in this section the LAGAis compared with nine different algorithms on the graphswhich are used by them
In Figure 9 LAGA is compared against Parsa algorithmand six other scheduling algorithms The comparison isperformed by applying LAGA to the task graph drawn inFigure 6 [8 21] and is used by Parsa and other six algorithmsThe results demonstrate that the scheduling obtained by
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
12 Applied Computational Intelligence and Soft Computing
Table 3 The completion times for task graph shown in Figure 4 with LAGA and SGA algorithms
(a) Scheduling produced by LAGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18ProcessorNumber 2 2 2 0 2 1 2 1 2 1 0 0 2 0 1 0 1 0 1Depth 0 0 1 2 2 2 2 1 1 2 1 2 2 2 1 1 1 1 0
(b) Scheduling produced by SGA
Task Number 0 1 2 4 3 6 5 11 9 12 7 8 10 15 13 14 17 16 18Processor Number 2 1 0 2 1 2 1 0 0 2 0 1 2 0 2 1 1 0 2
(c) Scheduling results
Algorithm LAGA SGACompletion time 39 42
Table 4 Fast Fourier Transform Task Graphs (FFT)
Task or node FFT1 FFT2 FFT41-8 1 25 60 25 20 59-12 20 25 50 25 20 60013-16 30 25 5 25 30 517-20 20 25 5 25 20 521-28 1 25 5 25 5 5
1 2 3 4 5 6 7 8Series1 39 39 40 41 41 43 40 39
Parsa LCEZ
HLFET ETF
LAST
MCPLAGA
Evaluating the LAGA with other Algorithms(on three processors)
3738394041424344
Com
plet
ion
Tim
e
Figure 9 Comparison of the completion times on task graphFigure 6
LAGA outperforms the algorithms 3ndash7 and is the same withParsa and LC algorithms However LAGA obtains the resultvery swift and stable In addition LAGA runs faster whenthe number of tasks grows Furthermore Parsa algorithm isevaluated using small problem sizes and it is not clear theirperformance on large-scale problem size In Figure 10 thestability of LAGA is compared with Parsa algorithm
Fast Fourier Transform Task Graphs (FFT) depicted inFigure 11 are good benchmarks to assess the performance ofthe scheduling algorithms Table 4 shows three versions ofthese graphs (ie FFT1 FFT2 and FFT4) The first columnin each of these cases shows the computation time of eachtask and the second column shows the communication timeof each task with others
According to Tables 5 and 6 it has been found thatLAGA with 120573 = 100 always outperforms the geneticand nongenetic based algorithms Because considering high-speed of LAGA at the same timewith other algorithms it can
Stability of Parsa and LAGA
ParsaLAGA Algorithm
3839404142434445
Com
plet
ion
Tim
e
2 4 6 8 10 12 14 16 18 200Run Number
Figure 10 Comparison of the stability proposed algorithm andParsa algorithm
search more state-space of the problem and as a result canfind the answers with higher quality
Usually the efficiency of most algorithms presentedfor taskrsquos graph scheduling problem is studied ongraphs with small size and low communications andtheir results on graphs with real applications which aregraphs with large size and high communications arenot clear The LAGA (120573 = 100) is applied to specificbenchmark application programs which are taken from aStandard Task Graph (STG) archive (httpwwwkasaharacswasedaacjpscheduleoptim pehtml) (see Table 7) Thefirst program of this STG set Task Graph 1 is a randomlygenerated task graph the second program is a robot controlprogram (Task Graph 2) which is an actual applicationprogram and the last program is a sparse matrix solver (TaskGraph 3) Also we considered the task graphs with random
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
Applied Computational Intelligence and Soft Computing 13
Table 5 Comparison of LAGA with well-known genetic-based algorithms on FFT benchmarks
Graph SequentialTime
CGL[9]
BCGA[10]
Parsa[8]
LAGA120573 = 0
LAGA120573 = 100 Speeduplowast improvement lowastlowast
FFT 1 296 152 124 124 124 124 238 0FFT 2 760 270 240 240 240 200 380 16FFT 4 480 260 255 185 255 170 282 8lowastSpeedup = sequential time LAGA (120573 = 100) completion timelowastlowastimprovement = ((Parsa completion time - LAGA (120573 = 100) completion time)Parsa completion time) times 100
Table 6 Comparison of LAGA with well-known nongenetic algorithms considering the number of processors on FFT benchmarks(completion timeprocessor used)
Graph Sequential Time DSC MCP LC LAST LAGA120573 = 100
FFT 1 296 1 124 4 148 8 172 8 146 4 124 4128 8
FFT 2 760 1 205 8 205 8 225 8 240 8 190 8240 2
FFT 4 480 1 710 12 710 8 710 8 710 8 185 4185 8160 12
Table 7 Three selected task graphs
Task graphs Number of tasksTask Graph 1 100Task Graph 2 90Task Graph 3 98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2526
27
28
Figure 11 Fast Fourier Transform (FFT) Task Graph (from [8])
communication costs These communication costs aredistributed uniformly between 1 and a specified maximumcommunication delay
Table 8 shows the results of comparing among SGAand LAGA (on depth 3 and 5) Parsa CPGA and TDGAalgorithms on 4 processors for programs listed in Table 7According to Table 8 the proposed algorithm (LAGA)with depth=3 produces schedule length lower than otheralgorithms
Table 9 shows a comparison of three genetic-basedalgorithms with LAGA on a number of randomly generatedgraphs The task execution time and communication time
between processors are considered random The task execu-tion time and communication time are distributed uniformlywithin (10 50) and (1 10) second respectively To evaluate theefficiency of the algorithms we set the running time of thealgorithms equally As can be seen in this table the LAGA inall cases and at the same time with them outperforms betterthan the rest This demonstrates that the LAGA is able tosearch more space than the rest at the same time and as aresult it is efficient
5 Conclusions
The task graph scheduling problem is an NP-Hard problemHence to solve this problem evolutionary approaches arepretty effective But their convergence rate when searchingfor global optima is still not sufficient For this reason thereis a need for methods that able to improve the convergencespeed to achieve a good scheduling In this paper we com-bined genetic algorithm with an accelerated convergence ratestrategy aiming to achieve higher performance in parallelenvironments We have proposed a learning-based geneticalgorithm for solving the problem which is to better utilizethe processors Considering high-speed of the proposedapproach the proposed approach can search more state-space of the problem at the same time with other algorithmsas a result it can find the solution with higher quality
51 Future Works A number of directions can be explored toextend and improve this work
(1) Finding a useful and effective a reward and penaltyfunction
(2) Using clustering in the scheduling of task graphinstead of using the critical path
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
14 Applied Computational Intelligence and Soft Computing
Table 8 Comparison of the genetic-based algorithms
Benchmarks programs SGA LAGA(depth=3)
LAGA(depth=5) Parsa CPGA
[11]TDGA[11]
Task Graph 1 256 194 231 230 210 201Task Graph 2 995 635 650 800 690 650Task Graph 3 332 190 221 322 322 221
Table 9 Comparison of the three genetic-based algorithms with LAGA on four processors
DAG of tasks of edges Run Time(minute) SGA CPGA Parsa TDGA LAGA
(depth=3)Random graph 1 200 420 60 1241 1108 1206 1108 998Random graph 2 400 850 60 2209 1943 1954 1829 1458Random graph 3 600 882 90 4592 4320 4832 4001 3765Random graph 4 800 1232 240 8092 7809 7994 7031 6895Random graph 5 1000 1891 240 17431 16490 15923 14134 11290
(3) Finding a useful and effective load balancing heuristicfor the proposed algorithm
(4) The parameter tuning is one of the major drawbacksof the genetic algorithm Recently for solving NP-Hard problems using optimization algorithms with-out parameter tuning such as Beetle Antennae SearchAlgorithm [42] has attracted a lot of attention In thefuture work we intend to use this algorithm for taskgraph scheduling problem
Also the proposed method may be extended to solvingscheduling in grid computing cloud computing and het-erogeneous environment and also it is possible to use ourapproach to solve other NP-Hard problems
Data Availability
The data used to support the findings of this study areavailable from the corresponding author upon request
Conflicts of Interest
The author declares that they have no conflicts of interest
References
[1] M Hall D Padua and K Pingali ldquoCompiler researchThe next50 yearsrdquo Communications of the ACM vol 52 no 2 pp 60ndash672009
[2] Y-K Kwok and I Ahmad ldquoOn multiprocessor task schedulingusing efficient state space search approachesrdquo Journal of Paralleland Distributed Computing vol 65 no 12 pp 1515ndash1532 2005
[3] A S Wu H Yu Sh Jin K Ch and G Schiavone ldquoAnIncremental Genetic Algorithm Approach to MultiprocessorSchedulingrdquo IEEE Transactions on Parallel and DistributedSystems vol 15 no 9 pp 824ndash834 2004
[4] X Lin Y Wang Q Xie and M Pedram ldquoTask scheduling withdynamic voltage and frequency scaling for energyminimizationin the mobile cloud computing environmentrdquo IEEE Transac-tions on Services Computing vol 8 no 2 pp 175ndash186 2014
[5] Z Tang L Qi Z Cheng K Li S U Khan and K Li ldquoAnEnergy-Efficient Task Scheduling Algorithm in DVFS-enabledCloud Environmentrdquo Journal of Grid Computing vol 14 no 1pp 55ndash74 2016
[6] S K Panda and P K Jana ldquoEfficient task scheduling algorithmsfor heterogeneous multi-cloud environmentrdquo The Journal ofSupercomputing vol 71 no 4 pp 1505ndash1533 2015
[7] B Keshanchi A Souri and N J Navimipour ldquoAn improvedgenetic algorithm for task scheduling in the cloud environmentsusing the priority queues Formal verification simulation andstatistical testingrdquoThe Journal of Systems and Software vol 124pp 1ndash21 2017
[8] S Parsa S Lotfi and N Lotfi ldquoAn Evolutionary approach toTask Graph Schedulingrdquo LNCS ndash Springer Link Journal 2007
[9] E S H Hou N Ansari and H Ren ldquoA Genetic Algorithm forMultiprocessor Schedulingrdquo IEEE Transactions on Parallel andDistributed Systems vol 5 no 2 pp 113ndash120 1994
[10] M Rinehart V Kianzad and S Bhattacharyya ldquoA ModularGenetic Algorithm for Scheduling Task Graphsrdquo Tech Rep2003
[11] F A Omara and M M Arafa ldquoGenetic algorithms for taskscheduling problemrdquo Journal of Parallel and Distributed Com-puting vol 70 no 1 pp 13ndash22 2010
[12] Y-K Kwok and I Ahmad ldquoBenchmarking and Comparison ofthe Task Graph Scheduling Algorithmsrdquo Journal of Parallel andDistributed Computing vol 59 no 3 pp 381ndash422 1999
[13] H Arabnejad and J G Barbosa ldquoList scheduling algorithmfor heterogeneous systems by an optimistic cost tablerdquo IEEETransactions on Parallel and Distributed Systems vol 25 no 3pp 682ndash694 2014
[14] HTopcuoglu SHariri andMWu ldquoPerformance-effective andlow-complexity task scheduling for heterogeneous computingrdquoIEEE Transactions on Parallel and Distributed Systems vol 13no 3 pp 260ndash274 2002
[15] H Topcuoglu S Hariri and M Y Wu ldquoTask schedulingalgorithms for heterogeneous processorsrdquo in Proceedings of theEighth Heterogeneous Computing Workshop (HCWrsquo99) pp 3ndash14 IEEE 1999
[16] S Ranaweera and D P Agrawal ldquoA scalable task duplicationbased scheduling algorithm for heterogeneous systemsrdquo in
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
Applied Computational Intelligence and Soft Computing 15
Proceedings of the 2000 International Conference on ParallelProcessing IEEE 2000
[17] S Baskiyar and P C SaiRanga ldquoScheduling directed a-cyclictask graphs on heterogeneous network of workstations to min-imize schedule lengthrdquo in Proceedings of the 2003 InternationalConference on Parallel Processing Workshops ICPPW 2003 pp97ndash103 IEEE Taiwan October 2003
[18] J J Hwang Y C Chow F D Anger and C Y Lee ldquoSchedulingPrecedence Graphs in Systems with Inter-processor Commu-nication Timesrdquo SIAM Journal on Computer vol 18 no 2 pp244ndash257 1989
[19] T Yang and A Gerasoulis ldquoDSC scheduling parallel tasks onan unbounded number of processorsrdquo IEEE Transactions onParallel and Distributed Systems vol 5 no 9 pp 951ndash967 1994
[20] G C Sih and E A Lee ldquoA compile-time scheduling heuris-tic for interconnection-constrained heterogeneous processorarchitecturesrdquo IEEE Transactions on Parallel and DistributedSystems vol 4 no 2 pp 175ndash187 1993
[21] J Baxter and J H Patel ldquoThe LAST algorithm A heuristic-based static task allocation algorithmrdquo in Proceedings of the 1989International Conference on Parallel Processing vol 2 pp 217ndash222 August 1989
[22] B Kruatrachue and T G Lewis ldquoDuplication SchedulingHeuristics (DSH) A New Precedence Task Scheduler forParallel Processor Systemsrdquo Tech Rep Oregon StateUniversityCorvallis OR USA 1987
[23] M Wu and D D Gajski ldquoHypertool a programming aid formessage-passing systemsrdquo IEEE Transactions on Parallel andDistributed Systems vol 1 no 3 pp 330ndash343 1990
[24] V Sarkar Partitioning and Scheduling Parallel Programs forMultiprocessors MIT Press Cambridge MA USA 1989
[25] S J Kim and J C Browne ldquoA General Approach to Mappingof Parallel Computation upon Multiprocessor Architecturerdquo inProceedings of the International Conference on Parallel Process-ing vol 2 pp 1ndash8 1988
[26] R Rajak C P Katti and N Rajak ldquoAModified Task SchedulingAlgorithm of Task Graph without Communication TimerdquoInternational Journal of New Computer Architectures and theirApplications (IJNCAA) vol 3 no 4 pp 88ndash93 2013
[27] A Radulescu andA J C VanGemund ldquoLow-cost task schedul-ing for distributed-memory machinesrdquo IEEE Transactions onParallel and Distributed Systems vol 13 no 6 pp 648ndash6582002
[28] M I Daoud andNKharma ldquoA high performance algorithm forstatic task scheduling in heterogeneous distributed computingsystemsrdquo Journal of Parallel and Distributed Computing vol 68no 4 pp 399ndash409 2008
[29] N A Bahnasawy M A Koutb M Mosa and F Omara ldquoAnew algorithm for static task scheduling for heterogeneousdistributed computing systemsrdquoAfrican Journal of Mathematicsand Computer Science Research vol 3 no 6 pp 221ndash234 2011
[30] A A Nasr N A El-Bahnasawy and A El-Sayed ldquoTaskscheduling algorithm for high performance heterogeneous dis-tributed computing systemsrdquo International Journal of ComputerApplications vol 110 no 16 pp 23ndash29 2015
[31] Y Wen H Xu and J Yang ldquoA heuristic-based hybrid genetic-variable neighborhood search algorithm for task schedulingin heterogeneous multiprocessor systemrdquo Information Sciencesvol 181 no 3 pp 567ndash581 2011
[32] P Hansen and N Mladenovic ldquoVariable neighborhood searchprinciples and applicationsrdquo European Journal of OperationalResearch vol 130 no 3 pp 449ndash467 2001
[33] P Chitra R Rajaram and P Venkatesh ldquoApplication andcomparison of hybrid evolutionarymultiobjective optimizationalgorithms for solving task scheduling problem on heteroge-neous systemsrdquo Applied Soft Computing vol 11 no 2 pp 2725ndash2734 2011
[34] R Rajak ldquoA Novel Approach for Task Scheduling in Multipro-cessor Systemrdquo International Journal of Computer Applicationsvol 44 no 11 pp 12ndash16 2012
[35] M Akbari H Rashidi and S H Alizadeh ldquoAn enhancedgenetic algorithm with new operators for task scheduling inheterogeneous computing systemsrdquo Engineering Applications ofArtificial Intelligence vol 61 pp 35ndash46 2017
[36] M Akbari and H Rashidi ldquoA multi-objectives schedulingalgorithm based on cuckoo optimization for task allocationproblem at compile time in heterogeneous systemsrdquo ExpertSystems with Applications vol 60 pp 234ndash248 2016
[37] H M Ghader D KeyKhosravi and A HosseinAliPour ldquoDAGscheduling on heterogeneous distributed systems using learn-ing automatardquo in Proceedings of the Asian Conference on Intel-ligent Information and Database Systems pp 247ndash257 SpringerBerlin Heidelberg 2010
[38] T Davidovic and T G Crainic ldquoBenchmark-problem instancesfor static scheduling of task graphs with communication delayson homogeneous multiprocessor systemsrdquo Computers amp Oper-ations Research vol 33 no 8 pp 2155ndash2177 2006
[39] K S Shin M J Cha M S Jang J Jung W Yoon and S ChoildquoTask scheduling algorithm using minimized duplications inhomogeneous systemsrdquo Journal of Parallel and DistributedComputing vol 68 no 8 pp 1146ndash1156 2008
[40] Z Jovanovic and S Maric ldquoA heuristic algorithm for dynamictask scheduling in highly parallel computing systemsrdquo FutureGeneration Computer Systems vol 17 no 6 pp 721ndash732 2001
[41] I J ShapiroThe Use of Stochastic Automata in Adaptive Control[PhD Thesis] Dep Eng and Applied Sci Yale Univ NewHaven Conn USA 1969
[42] X Jiang and S Li ldquoBAS beetle antennae search algorithm foroptimization problemsrdquo 2017 httpsarxivorgabs171010724
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom
Computer Games Technology
International Journal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom
Journal ofEngineeringVolume 2018
Advances in
FuzzySystems
Hindawiwwwhindawicom
Volume 2018
International Journal of
ReconfigurableComputing
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Applied Computational Intelligence and Soft Computing
thinspAdvancesthinspinthinsp
thinspArtificial Intelligence
Hindawiwwwhindawicom Volumethinsp2018
Hindawiwwwhindawicom Volume 2018
Civil EngineeringAdvances in
Hindawiwwwhindawicom Volume 2018
Electrical and Computer Engineering
Journal of
Journal of
Computer Networks and Communications
Hindawiwwwhindawicom Volume 2018
Hindawi
wwwhindawicom Volume 2018
Advances in
Multimedia
International Journal of
Biomedical Imaging
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Engineering Mathematics
International Journal of
RoboticsJournal of
Hindawiwwwhindawicom Volume 2018
Hindawiwwwhindawicom Volume 2018
Computational Intelligence and Neuroscience
Hindawiwwwhindawicom Volume 2018
Mathematical Problems in Engineering
Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018
Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom
The Scientific World Journal
Volume 2018
Hindawiwwwhindawicom Volume 2018
Human-ComputerInteraction
Advances in
Hindawiwwwhindawicom Volume 2018
Scientic Programming
Submit your manuscripts atwwwhindawicom