Solutions to Parallel and Distributed Computing Problems: Lessons from Biological Sciences
by Albert Y. Zomaya, Fikret Ercal, Stephan Olariu
9.4 SCHEDULING TASKS TO A HOMOGENEOUS SYSTEM
In this section, we introduce a parallel genetic algorithm for scheduling tasks to homogeneous systems. Throughout this section, we assume the target architecture is homogeneous; that is, a task takes the same amount of time to execute on any processor. Heterogeneity is discussed in Section 9.5.
We formulate the scheduling problem in a genetic search framework based on the observation that if the tasks of a parallel program are arranged properly in a list, an optimal schedule can be obtained by scheduling the tasks one by one according to their order in the list. With this concept, we encode each chromosome to be a valid scheduling list, one in which the precedence constraints among tasks are preserved. We also introduce two genetic operators: the order crossover and mutation. These operators effectively combine the good features of existing scheduling lists to form better lists. This scheduling algorithm, called parallel genetic scheduling (PGS), is a parallel genetic algorithm. Parallelization is done by partitioning the population into multiple disjoint subpopulations that communicate periodically to exchange the best chromosomes. Using random task graphs for which optimal schedules are known, we have found that the PGS algorithm can generate optimal solutions for a majority of the test cases. Below we describe below the detailed algorithm characteristics and the performance.
9.4.1 Genetic Formulation
Although it has not been proved ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access