Solutions to Parallel and Distributed Computing Problems: Lessons from Biological Sciences
by Albert Y. Zomaya, Fikret Ercal, Stephan Olariu
6.4 STATIC MATCHING AND SCHEDULING OF SUBTASKS
6.4.1 Introduction
This section discusses the GA-based approach found in [58] for the static mapping of subtasks. This section presents the details about the chromosome representation used, how population generation was performed, the mutation and crossover operators used, and comparisons with nonevolutionary approaches.
6.4.2 Chromosome Representation
Each chromosome consists of two parts: the matching string and the scheduling string. Let mat be the matching string, which is a vector of length |S|, such that mat(i) = mj, where 0 ≤ i < |S| and 0 ≤ j < |M|, i.e., subtask si is assigned to machine mj.
The scheduling string (ss) is a topological sort [12] of the SPDAG, i.e., a total ordering of the nodes (subtasks) in the SPDAG that obeys the precedence constraints. Define ss to be the scheduling string, which is a vector of length |S|, such that ss(k) = si, where 0 ≤ i, k < |S|, and each si appears only once in the vector, i.e., subtask si is the kth subtask in the scheduling string. Because it is a topological sort, if ss(k) is a consumer of a global data item produced by ss(j), then j < k. The scheduling string gives an ordering of the subtasks that is used by the evaluation step.
Then in this GA-based approach, a chromosome is represented by a two-tuple [mat, ss]. Thus, a chromosome represents the subtask-to-machine assignments (matching) and the execution ordering of the subtasks assigned to the same machine. The scheduling of the ...
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