Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybridization

Embed Size (px)

Citation preview

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    1/12

    [email protected]

    HETEROGENEOUS MULTIPROCESSOR TASK SCHEDULING USING GENETIC AND

    SIMULATED ANNEALING ALGORITHMS AND THEIR HYBRIDIZATION

    MOHEB R. GIRGIS, AHMED A. A. RADWAN, ALAA I. EL-NASHAR & HAGAR M. AZZAM

    Department of Computer Science, Faculty of Science, Minia University, El-Minia, Egypt

    ABSTRACT

    In a heterogeneous multiprocessor system, a large program is decomposed into a set of tasks that have data

    dependencies. The most important problem, which is encountered in such systems, is task matching and scheduling.

    It consists of assigning tasks to processors, ordering task execution for each processor, and ordering interprocessor data

    transfers. The goal is to schedule all the tasks on the available processors so as to minimize the overall length of time

    required to execute the entire program without violating precedence constraints. This efficient scheduling reduces

    processing time and increases processor utilization, i.e. achieves high performance. This paper studies a previously

    developed problem-space genetic algorithm (PSGA)-based technique for task matching and scheduling on a heterogeneous

    multiprocessor system, and modifies it to mitigate its drawbacks. The modified algorithm is called MPSGA. Then, the

    paper presents a proposed Simulated Annealing (SA)-based task scheduling algorithm. Finally, it presents a proposed

    hybrid task scheduling algorithm that combines the proposed SA with MPSGA, which is called MPSGA_SA. Experiments

    have been conducted to evaluate the performance of the proposed scheduling techniques.

    KEYWORDS: Heterogeneous Computing, Matching, Scheduling, Genetic Algorithms, Simulated Annealing

    1. INTRODUCTION

    Although parallel processing approach is the most promising approach to meet the rising computational

    requirements, it poses a number of problems not encountered in traditional sequential processing [1][2], the most important

    of which is the multiprocessor scheduling issue. In the parallel processing approach, a large program is decomposed into a

    set of smaller tasks. These smaller tasks almost always have dependencies representing the precedence constraints,

    in which the results of other tasks are required before a particular task can be executed. Usually, these tasks dependencies

    are represented by a directed acyclic graph (DAG). The goal of a task scheduling algorithm is to schedule all the tasks on

    the available processors so as to minimize the overall length of time required to execute the entire program without

    violating precedence constraints. This efficient scheduling reduces processing time and increases processor utilization,

    i.e. achieves high performance.

    To solve the multiprocessor scheduling problem, many heuristic and metaheuristic methods have been presented.

    In all of these methods, the basic idea is to determine an order for tasks based on their execution priority. The approach of

    each method is different with regards to various aspects of input DAG (see e. g, [3], [4], [5], [6]). Each heuristic approach

    comprises two parts: firstly, finding an optimal order of tasks and secondly, allocating an appropriate processor to tasks.

    Several methods have been presented to solve this problem based on Genetic Algorithms (GAs) (see e.g, [7], [8], [9], [10],

    [11], [12]). Also, Simulated Annealing [13] has been used to solve various scheduling problems (see e.g, [14], [15], [16]).

    Shroff et al. [17] proposed a Genetic Simulated Annealing (GSA) based approach to perform scheduling in heterogeneous

    International Journal of Computer Science Engineering

    and Information Technology Research (IJCSEITR)

    ISSN(P): 2249-6831; ISSN(E): 2249-7943

    Vol. 4, Issue 6, Dec 2014, 51-62

    TJPRC Pvt. Ltd.

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    2/12

    52 Moheb R. Girgis, Ahmed A. A. Radwan, Alaa I. El-Nashar & Hagar M. Azzam

    Impact Factor (JCC): 6.8785 Index Copernicus Value (ICV): 3.0

    computing environments. GSA is a hybrid method which combines GA and SA. GSA-based scheduling uses a population

    of solutions and reproduction, crossover and mutation operations among population members (as in GA), but a selection

    mechanism based on a temperature cooling schedule (as in SA).

    Dhodhi et al [18] proposed a problem-space genetic algorithm (PSGA)-based technique for matching and

    scheduling of a program that can be represented by a DAG, onto a heterogeneous computing (DHC) system. PSGA

    combines the search capability of GAs with a known fast problem-specific heuristic to provide the best-possible solution to

    a problem in an efficient manner. Our study of PSGA has shown that it has two drawbacks. So, in this paper we have

    introduced some modifications to PSGA to mitigate these drawbacks, and we called the modified version MPSGA.

    Also, in this paper, we have proposed a SA-based task scheduling algorithm, and a hybrid task scheduling

    algorithm that combines the proposed SA with MPSGA, and called it MPSGA_SA.

    The paper is organized as follows: Section 2 presents the task matching and scheduling problem formulation.

    Section 3 describes the PSGA technique, and the modifications that we have introduced to it to mitigate its drawbacks.

    Section 4 describes the proposed SA-based task scheduling algorithm. Section 5 describes the proposed a hybrid task

    scheduling algorithm (MPSGA_SA). Section 6 presents the results of the experiments that we have conducted to evaluate

    the performance of the proposed scheduling techniques. Section 7 presents the conclusion of this research work.

    2. PROBLEM FORMULATION

    In a DHC system, a program is partitioned into a set of tasks modeled by a DAG and can be represented as G =

    (T,

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    3/12

    Heterogeneous Multiprocessor Task Scheduling Using Genetic and 53Simulated Annealing Algorithms and Their Hybridization

    [email protected]

    Task execution can start only after all the data have been received from its predecessor's tasks.

    All machines and inter-machine networks are available for exclusive use of the application program.

    Communication cost is zero when two tasks ti, tkare assigned to the same machine; otherwise data have to be

    transferred from the machine on which task ti is assigned to the machine where task tk is assigned. This data

    transfer incurs the communication cost (Comm Cost) given by [18]

    Where Di,k is equal to the amount of data to be transferred from task ti to tk and R[H(i), H(k)] represents

    bandwidth (data transfer rate) of the link between the machines onto which tasks ti, and tkhave been assigned.

    Table 1: The ECT Value of Each Task on Three Heterogeneous Machines Shown in Figure 1(b)

    Task H0 H1 H2t1 872 898 708

    t2 251 624 778

    t3 542 786 23

    t4 40 737 258

    t5 742 247 535

    t6 970 749 776

    t7 457 451 15

    The problem of static task matching and scheduling in a distributed heterogeneous computing environment

    assigns the set of tasks T onto a set of heterogeneous machines H, determines the start and the finish times of each task,

    and determines the start and the finish times of each inter-machine data transfer so that precedence constraints are

    maintained and the schedule length (SL), that is the overall program completion time, given by Eq. (2) is minimized.

    SL = max {F0, F1. Fm-1}, (2)

    Where Fjis the overall finish time of machine Hj, j = 0, . . . , m - 1. The finish time includes the computation time,

    the communication time and the waiting time because of the precedence constraints. This is an intractable combinatorial

    optimization problem with conflicting constraints.

    3. THE GA-BASED MATCHING AND SCHEDULING TECHNIQUE

    PSGA [18] is an evolutionary technique that is an embodiment of a GA and a problem-specific known fast

    heuristic. Firstly, the major components of PSGA are discussed in turn, and then the overall algorithm is presented. Finally,

    two drawbacks of PSGA are discussed along with the modifications that are introduced to PSGA to mitigate them.

    3.1 Chromosomal Representation and Initial Population

    One of the key differences between standard GAs and PSGA lies in the encoding of chromosomes.

    A chromosome in traditional GAs is often a string that represents a valid solution to the problem to be solved [19]. On the

    other hand, a chromosome in the PSGA represents some attribute of the problem data. This information is used by a

    problem specific decoding heuristic to generate a solution to the problem. Thus, the PSGA obtains a particular solution by

    applying the decoding heuristic on a chromosome [20]. Each position of a chromosome is called a gene. In the case of the

    scheduling problem, a gene i in the chromosome represents the priority of corresponding task ti. For the first chromosome,

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    4/12

    54 Moheb R. Girgis, Ahmed A. A. Radwan, Alaa I. El-Nashar & Hagar M. Azzam

    Impact Factor (JCC): 6.8785 Index Copernicus Value (ICV): 3.0

    the priority of a task (node) tiis its b_level (bottom level). The b_level of a task (node) tiis the length of the longest path

    from node tito an exit node. The b_level of a node is bounded by the critical path of the DAG. The b_level is calculated by

    summation of two parameters encountered on the path, which are each tasks average ECT value (AvgECT) taken over all

    machines and the communication cost (CommCost). If a task has no children its b_level is equal to its AvgECT.A procedure for calculating the b_levels is shown in Figure 2 [18].

    Another parameter called t_level (top level) for each task (node) is also calculated. The t_level of a task tiis the

    length of the longest path between this node and an entry node in the DAG excluding the ECT of t i. This level essentially

    determines the earliest start time of a node. A task that has no parent will have t_level= 0. A procedure for calculating the

    t_levels is shown in Figure 3 [18].

    Figure 2: A Procedure for Calculating the b_Levels Figure 3: A Procedure for Calculating the t_Levels

    The average ECT value and the b_, t_levels for each task of the example DAG shown in Figure 1(a) are given inTable 2. The AvgECT value of a task represents the average of the ECT values of a task over all the three machines shown

    in Figure 1(b). Note that the b_levels of tasks t6and t7are the same as the Avg ECT values because these tasks have no

    children. The t_levels of tasks t1and t2are 0 because these tasks have no parent (predecessors).

    As described before, the gene value (that is, priority) of a task ti,(GT1)i in the first chromosome is set to the

    b_level of a task ti. The gene values (priorities) of the rest of the chromosomes (that is, chromosome 2 to Np, where Npis

    the population size) in the initial population are generated by a random perturbation of the gene values of the first

    chromosome as given below:

    (GTj)

    i

    =(GT1)

    i

    + Uniform(t_level/2, - t_level/2); (3)

    where(GT1)iis the priority of a task tiin the first chromosome, i = 1, . . . , n. Uniform (t_level/2, -t_level/2) is a

    random number generated uniformly between t_level/2, and (t_level/2), and j = 2, . . . , N p.

    Table 2: The Avg ECT, b_Level and t_Level of Each Task for the DAG Shown in Figure 1

    Task AvgECT b_level t_level

    t1 826.0 3737.0 0.0

    t2 551.0 3159.0 0.0

    t3 450.33 2564.0 1173.0

    t4 345.67 927.33 2212.33

    t5 508.0 1542.67 2212.33

    t6 831.67 831.67 2212.33t7 307.67 307.67 3429.33

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    5/12

    Heterogeneous Multiprocessor Task Scheduling Using Genetic and 55Simulated Annealing Algorithms and Their Hybridization

    [email protected]

    Using the above rules, an initial population of size 6 for the DAG of Figure 1(a) is shown in Figure 4. Here, each

    chromosome has a different priority value for each task in different chromosomes. So each chromosome guides the

    heuristic to generate a different solution to the problem, which in this case will be a different schedule. Note that since the

    t_levels of tasks t1and t2 for the example DAG are 0, there is no perturbation in the priorities of these tasks. Thus, thepriorities of these two tasks for the example DAG remain the same for all the chromosomes in the initial population.

    Figure 4: An Initial Population of Six Chromosomes

    3.2 Decoding Heuristic

    The PSGA technique embeds a known problem-specific fast heuristic into the GA search. PSGA uses list

    scheduling [21] with the earliest finish time policy to design a decoding heuristic. The earliest finish time (EFT) heuristic

    schedules a candidate task onto a machine on which the finish time of the task is the earliest. The objective is to generate a

    matching and schedule from a given chromosome having a minimum schedule length. The pseudo code for the decoding

    heuristic is shown in Figure 5. By applying the EFT heuristic to each chromosome in the population, we can generate a

    different schedule corresponding to each chromosome. The solution generated for the first chromosome is shown in Figure

    6.

    Figure 5: The Pseudo Code for the EFT Heuristic

    3.3 Objective and Fitness Evaluation

    The main objective of the scheduling problem is to minimize the schedule length (SL) of a schedule. So, SL is

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    6/12

    56 Moheb R. Girgis, Ahmed A. A. Radwan, Alaa I. El-Nashar & Hagar M. Azzam

    Impact Factor (JCC): 6.8785 Index Copernicus Value (ICV): 3.0

    used as the objective function for evaluating the schedules corresponding to each chromosome. However, its value may

    vary from problem to problem. To maintain uniformity over various problem domains, the fitness is used to normalize the

    objective function values to a convenient range of 0 to 1. The following objective-to-fitness mapping function [19] is used:

    (4)

    Where f(i) is the fitness of chromosome i, SL(M) is the maximum schedule length of a solution corresponding to a

    chromosome in the current population, SL(i) is the schedule length corresponding to chromosome i, and N p is the

    population size.

    Figure 6: Matching and Schedule Corresponding to the First Chromosome (SL=2018)

    3.4 Selection, Crossover, and Mutation

    PSGA combines the exploitation of the past results by selecting parent chromosomes for reproduction based on

    their fitness with the exploration of new areas in the search space via crossover and mutation. Chromosomes with higher

    fitness values have a higher probability of contributing one or more offspring in the next generation. A roulette wheel,

    where each chromosome in the population has a slot sized in proportion to its fitness, performs the selection method. Each

    time an offspring is required, a simple spin of the weighted roulette wheel yields a parent chromosome. In this method,

    a random number u is generated between 0 and the sum of the fitness values. A population member j whose running sum

    of the fitness is greater than or equal to u is selected as a candidate for reproduction.

    During crossover, two parents (chromosomes) exchange chunks of genetic information to produce two new

    offspring. In PSGA, a two-point crossover operator is applied to the priorities in the chromosome. The crossover is applied

    with a certain crossover rate (Xr). In a two-point crossover operator, two cross sites are selected randomly and the values of

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    7/12

    Heterogeneous Multiprocessor Task Scheduling Using Genetic and 57Simulated Annealing Algorithms and Their Hybridization

    [email protected]

    the priorities between the cross sites are swapped among the two mating chromosomes. Mutation operator is used for

    finding new points in the search space so that population diversity can be maintained. It is performed on a gene-by-gene

    basis. In PSGA, mutation is done by selecting a gene at random with probability M r and perturbing its value in the

    range -(t_level/2) to (t_level/2), where t_level is the t_level of the selected node in the DAG. After perturbation, if thepriority value becomes more than b_level + t_level of the node, then the priority is assigned the value b_level + t_level.

    If the priority value becomes less than b_level, it is assigned the value b_level. The objective is to explore a wider space of

    priorities, but within the proximity of the original problem.

    3.5 The Overall PSGA Algorithm

    The outline of the PSGA algorithm is given in Figure 7. The PSGA technique can be divided into two phases.

    The first phase (Steps 13) is an initialization phase. In the second phase (Step 4), an iteration is carried out for selection

    of parent chromosomes for reproduction, crossover and mutation to obtain offspring from the selected parents for the new

    generation, assignment of the new population as the current population, application of decoding heuristic to obtainsolutions (schedules), and application of the evaluate function to calculate the fitness of each chromosomes solution.

    The iteration terminates when the stopping criterion is met (that is, a fixed number of generations have been evaluated).

    Figure 7: The PSGA-Based Task Matching and Figure 8: The pseudo code for Procedure Validate

    Scheduling Algorithm

    3.6 Modified PSGA (MPSGA)

    We have found that PSGA have two drawbacks. These drawbacks, and the modifications introduced to PSGA to

    mitigate them, are described below:

    PSGA does not check the validity of the generated chromosomes, i.e. whether they satisfy the task precedence

    condition or not. For example in Figure 3, the 6thchromosome is invalid, because the priority of t7is higher than

    the priority of t5, while t5must be executed before t7. So, we have modified the PSGA, by adding the procedure

    Validate, shown in Figure 8, which checks the validity of the newly generated chromosomes according to the

    tasks dependency in the DAG, and discarding any invalid chromosome.

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    8/12

    58 Moheb R. Girgis, Ahmed A. A. Radwan, Alaa I. El-Nashar & Hagar M. Azzam

    Impact Factor (JCC): 6.8785 Index Copernicus Value (ICV): 3.0

    We observed that sometimes the mutation method of PSGA prevents the algorithm from reaching the best

    schedule length. So, we modified the mutation method such that mutation is done by selecting a gene at random

    with probability Mrand perturbing its value by generating a random value in the range -(t_level) to (t_level) and

    then add this value to the b_level of that gene.

    4. A SIMULATED ANNEALING-BASED MATCHING AND SCHEDULING TECHNIQUE

    Simulated annealing (SA), developed by Metropolis et al. [13], is a generic probabilistic metaheuristic for

    locating a good approximation to the global optimum of a given function in a large search space. In SA, a solid is heated

    up to a liquid phase by increasing temperature and followed by slowly lowering the temperature for cooling. In SA,

    a system is initialized at a temperature T with some configuration whose energy is evaluated to be E. A new configuration

    is constructed by applying a random change, and the change in energy is computed. The new configuration is

    unconditionally accepted if it lowers the energy of the system. If the energy of the system is increased by the change,

    the new configuration is accepted with some random probability. In the original Metropolis scheme [13], the probability is

    given by the Boltzmann factor e-/kT

    . This process is repeated sufficient times (max_n) at the current temperature to sample

    the search space, and then the temperature is decreased. The process is repeated at the successively lower temperatures

    until a frozen state is achieved. The elements of the proposed SA algorithm for solving the scheduling problem are

    described below, and the whole algorithm is shown in Figure 9.

    Solution Representation and the Mutation Operator: In the proposed SA scheduling algorithm, the solution

    representation (chromosome) is the same as in PSGA, and the mutation operator is the same as in MPSGA.

    The Fitness or Objective Function: As in PSGA, the EFT heuristic is used to generate the SL for a given

    chromosome (E). Then, SL is used as the objective function for evaluating the schedules corresponding to that

    chromosome, and to maintain uniformity over various problem domains, the fitness functionf(E), defined by Eq. 4, is used.

    Initial Temperature and Annealing Schedule: The initial temperature T is set such that the initial acceptance

    probability for a candidate solution is nearest to 1.0, i.e, maximum. The annealing schedule may be generated by simply

    multiplying the current temperature by a constant (B) less than 1.0, called the temperature modifier. Thus temperature

    cooling is achieved. The probability of accepting unfavorable solutions is the Boltzmann factor e-/kT, with k=1. A neighbor

    of the current solution E is generated by applying the mutation operator to E. If the new solution is invalid, it is discarded

    and another one is generated. If the difference in fitness between the current and new solution is less than zero (i.e. the

    objective function is improved), then the new solution is selected. If 0, then accept the new solution with probabilitye-/T. This probabilistic acceptance is achieved by generating a random number in [0, 1] and comparing it against the

    probability e- /T. If e- /Tis greater than the generated random number then replace the current solution by the new one.

    5. THE HYBRID GENETIC ALGORITHM SIMULATED ANNEALING (MPSGA_SA) BASED

    SCHEDULING APPROACH

    GA and SA both independently are valid approaches toward problem solving. However they both have their own

    strengths and weaknesses. The hybrid MPSGA_SA based scheduling algorithm blends both these approaches into a single

    approach in order to retain the strengths of both. MPSGA_SA exploits the population-based model and crossover-mutation

    operator of GA by creating a multiplicity of candidate solutions. At the same time, MPSGA_SA employs the temperature

    gradient property of SA by using a local acceptance policy based on the fitness of a new solution compared to the current

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    9/12

    Heterogeneous Multiprocessor Task Scheduling Using Genetic and 59Simulated Annealing Algorithms and Their Hybridization

    [email protected]

    solution, and a probability based on a global temperature gradient. By using this approach, the algorithm maintains the

    diversity of GA while reducing the processing effort by following a temperature schedule as in SA. SA is applied on the

    best chromosome of every generation of the GA to improve it. The steps of the proposed MPSGA_SA scheduling

    algorithm are shown in Figure 10.

    6. EXPERIMENTAL RESULTS

    We have evaluated the performance of the PSGA, MPSGA, proposed SA, and proposed MPSGA-SA techniques

    for a set of randomly generated DAGs with different number of tasks (7, 10, 12, 15) onto DHC systems consisting of

    different number of machines (2, 3, 4, 5). For all the test cases, the results obtained by the considered algorithms used fixed

    values of the input parameters (Xr = 0.5, Mr = 0.25, Np = 6, and Ng = 20) for GA, and (an initial temperature T=0.9,

    max_n = 20, and B = 0.5) for SA.

    For each case, the 4 techniques were run 10 times. The average best SL for each technique in each case is

    compared with those of other techniques and with HEFT (the SL obtained when the EFT heuristic is applied to the first

    chromosome), as shown in Table 3. From this table, it can be seen that MPSGA-SA reached the best SL in all cases,

    MPSGA reached the best SL in 14 out of the 16 cases, SA reached the best SL in 14 out of the 16 cases, and both PSGA

    and HEFT reached the best SL in 3 out of the 16 cases. Table 3 shows also, for PSGA, MPSGA, and proposed

    MPSGA-SA, the generation number (Gen. No.) at which the best SL is reached. It can be seen that, in the cases where both

    MPSGA and proposed MPSGA-SA reached the best SL, MPSGA-SA achieved this in less number of generations than

    MPSGA. These results indicate that the proposed hybrid MPSGA-SA technique outperforms all the other techniques

    considered in the study. Also, the results indicate that, in all cases the schedule length decreases as the number of

    processors increases.

    Figure 9: The Proposed SA Scheduling Algorithm Figure 10: The Proposed MPSGA_SA Scheduling Algorithm

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    10/12

    60 Moheb R. Girgis, Ahmed A. A. Radwan, Alaa I. El-Nashar & Hagar M. Azzam

    Impact Factor (JCC): 6.8785 Index Copernicus Value (ICV): 3.0

    Table 3: Comparison of HEFT and the Best SL for the PSGA, MPSGA, SA,

    and MPSGA-SA Techniques for a Set of Randomly Generated Dags

    onto DHC Systems Consisting of Different Number of Machines

    n m HEFT PSGAGen.

    No.

    MPSGAGen.

    No.

    SAMPSG

    A-SA

    Gen.

    No.

    15

    2 3811 3697 2 3467 19 3522 3411 7

    3 2656 2645 1 2620 4 2620 2620 2

    4 2304 2304 0 2304 0 2304 2304 0

    5 2080 2022 2 2018 3 2018 2018 2

    12

    2 3372 3287 2 3172 15 3186 3164 2

    3 2520 2463 3 2412 7 2412 2412 2

    4 2689 2240 6 2102 8 2102 2102 2

    5 1878 1878 0 1878 0 1878 1878 0

    10

    2 3328 3253 2 3164 7 3164 3164 2

    3 2520 2446 2 2412 4 2412 2412 1

    4 2689 2398 2 2102 4 2102 2102 2

    5 1878 1878 0 1878 0 1878 1878 0

    7

    2 2752 2747 2 2701 6 2716 2701 4

    3 2096 2053 2 2018 9 2018 2018 4

    4 2238 2173 1 1913 4 1913 1913 2

    5 1689 1659 17 1539 9 1539 1539 1

    The number of times that each scheduling algorithm in the experiments produced better, equal, or worse SL

    compared to every other algorithm was counted [22] for the used 4 DAGs on the 4 different numbers of processors. Each

    cell in Table 4indicates the comparison results of the algorithm on the left with the algorithm on the top. The "combined"

    column shows the percentage of graphs in which the algorithm on the left gives a better, equal, or worse SL than all other

    algorithms together. The algorithms that gave better performance, based on occurrences of best results, are MPSGA-SA

    followed by MPSGA.

    Table 4: Pair-Wise Comparison of the Considered Scheduling Algorithms

    HEFT PSGA MPSGA SA MPSGA-SA Combination

    HEFT

    better

    -

    0 0 0 0 0%

    equal 3 3 3 3 18.75%

    worse 13 13 13 13 81.25%

    PSGA

    better 13

    -

    0 0 0 0%

    equal 3 3 3 3 18.75%

    worse 0 13 13 13 0%

    MPSGA

    better 13 13

    -

    3 0 0%

    equal 3 3 13 14 18.75%

    worse 0 0 0 2 0%

    SA

    better 13 13 0

    -

    0 0%

    equal 3 3 13 13 18.75%

    worse 0 0 3 3 0%

    MPSGA-SA

    better 13 13 2 3

    -

    12.5%

    equal 3 3 14 13 18.75%

    worse 0 0 0 0 0%

    7. CONCLUSIONS

    In this paper, we have studied a previously developed problem-space genetic algorithm (PSGA)-based technique

    for task matching and scheduling on a heterogeneous multiprocessor system, and modified it to mitigate its drawbacks.

    The modified PSGA is called MPSGA. Also, we have proposed a SA-based task scheduling algorithm, and a hybrid task

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    11/12

    Heterogeneous Multiprocessor Task Scheduling Using Genetic and 61Simulated Annealing Algorithms and Their Hybridization

    [email protected]

    scheduling algorithm that combines the proposed SA with MPSGA, and called it MPSGA_SA. In this hybrid algorithm,

    the proposed SA-based task scheduling algorithm is applied to the best solution of every generation of MPSGA to improve

    it. This hybridization causes considerable improvement in the efficiency of MPSGA.

    We have evaluated the performance of the PSGA, MPSGA, proposed SA, and proposed MPSGA-SA techniques

    for a set of randomly generated DAGs with different number of tasks (7, 10, 12, 15) onto DHC systems consisting of

    different number of machines (2, 3, 4, 5). The results of the experiments indicate that the proposed hybrid MPSGA-SA

    technique outperforms all the other techniques considered in the study. Also, the results indicate that, in all cases, the

    schedule length decreases as the number of processors increases.

    8. REFERENCES

    1. Culler, D, Singh, J, & Gupta, A. (1998). Parallel Computer Architecture: A Hardware/ Software Approach,

    Morgan Kaufmann Publisher, San Francisco.

    2.

    Hwang, K. (1993). Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill,

    Inc, New York, NY.

    3. Corbalan, J, Martorell, X. & Labarta, J. (2005). Performance-driven processor allocation. IEEE Trans. Parallel

    Distrib. Syst. 16(7), 599611.

    4.

    Kafil, M. & Ahmad, I. (1998). Optimal task assignment in heterogeneous distributed computing systems.

    IEEE Concurr. 6, 4251.

    5. Nissanke, N, Leulseged, A, & Chillara, S (2002)... Probabilistic performance analysis in multiprocessor

    scheduling. J. Comput. Contr. Eng. 13(4), 171179.

    6.

    Thanalapati, T. & Dandamudi, S. (2001). An efficient adaptive scheduling scheme for distributed memory

    multicomputer. IEEE Trans. Parallel Distrib. Syst. 12(7), 758768.

    7. Hou, E. S. H, Ansari, N, & Hong, R. (1994). A genetic algorithm for multiprocessor scheduling. IEEE Trans.

    Parallel Distrib. Syst. 5(2), 113120.

    8.

    Hwang, R. K. & Gen, M. (2004). Multiprocessor scheduling using genetic algorithm with priority-based coding.

    In: Proceedings of IEEE Conference on Electronics, Information and Systems.

    9.

    Lee, Y. H, Chen, C. (2003). A Modified genetic algorithm for task scheduling in multi processor systems. In: TheNinth Workshop on Compiler Techniques for High Performance Computing.

    10.

    Montazeri, F, Salmani-Jelodar, M, Fakhraie, S. N, & Fakhraie, S. M. (2006). Evolutionary multiprocessor task

    scheduling. In: Proceedings of the International Symposium on Parallel Computing in Electrical Engineering

    (PARELEC06).

    11. Wu, A. S, Yu, H, Jin, S, Lin, K.-C, & Schiavone, G. (2004). An incremental genetic algorithm approach to

    multiprocessor scheduling. IEEE Trans. Parallel Distrib. Syst. 15(9), 824834.

  • 8/10/2019 Heterogeneous Multiprocessor Task Scheduling Using Genetic and Simulated Annealing Algorithms and Their Hybri

    12/12

    62 Moheb R. Girgis, Ahmed A. A. Radwan, Alaa I. El-Nashar & Hagar M. Azzam

    Impact Factor (JCC): 6.8785 Index Copernicus Value (ICV): 3.0

    12. Wang, L, Siegel, H. J, Roychowdhury, V. P, & Maciejewski, A. A. (1997). Task Mapping and Scheduling in

    Heterogeneous Computing Environments Using a Genetic-Algorithm-Based Approach. Journal of Parallel and

    Distributed Computing, 47, 8-22.

    13.

    Metropolis, N, Rosenbluth, A. W, Rosenbluth, M. N, Teller, A. H, & Teller, E. (1953). Equations of state

    calculations by fast computing machines. The Journal of Chemical Physics, 21(6), 1087-1092.

    14. Tindell, Burns & Wellings. (1992). allocating hard real-time tasks: An NP-hard problem made easy. RTSYSTS:

    Real-Time Systems, 4.

    15.

    YarKhan, A. & Dongarra, J. J. (2002). Experiments with Scheduling Using Simulated Annealing in a Grid

    Environment. In Grid 2002.

    16. Young, L, McGough, S, Newhouse, S, & Darlington, J. (2003). Scheduling Architecture and Algorithms within

    the ICENI Grid Middleware. In UK e-Science All Hands Meeting, IOP Publishing Ltd, Bristol, UK, Nottingham,

    UK, Sep. 2003, 5-12.

    17.

    Shroff, P, Watson, D, Flann, N, & Freund R. (1996). Genetic simulated annealing for scheduling data dependent

    tasks in heterogeneous environments. 5th IEEE Heterogeneous Computing Workshop (HCW '96), 98-104.

    18. Dhodhi, Muhammad K, Ahmad, Imtiaz, Yatama, Anwar, & Ahmad, Ishfaq. (2002). An Integrated Technique for

    Task Matching and Scheduling onto Distributed Heterogeneous Computing Systems. Journal of Parallel and

    Distributed Computing, 62, 13381361.

    19.

    Goldberg D. E. (1989). Genetic Algorithms in Search, Optimization and Machine Learning. Addition-Wesley,

    Reading, MA.

    20. Storer, R. H, Wu, D. S, & Vaccari, R. (1992). New search spaces for sequencing problems with application to job

    shop scheduling. Manage. Sci, 38(10), 14951509.

    21.

    Liao, G, Altman, E. R, Agarwal, V. K, & Gao, G. R. (1994). A comparative study of multiprocessor list

    scheduling heuristics, in Proceedings of the Twenty-Seventh Annual Hawaii International Conference on System

    Sciences, 6877, January 1994.

    22. Topcuoglu, H, Hariri, S, & Wu, Min-You. (2002). Performance-effective and low-complexity task scheduling for

    heterogeneous computing. IEEE Transactions on Parallel and Distributed Systems, 13(3), 260274.