A major issue in the operation of parallel computing systems is that of scheduling, which
is an important problem in areas like manufacturing, process control, economics, and
operation research, to name a few. To schedule is to simply allocate a set of tasks or
jobs to resources such that the optimum performance is obtained (Ramamoorthy, 1972).
If these tasks are not interdependent, the problem is known as task allocation. However,
if tasks are dependent, then output of one task may become input to another task. In
such cases, precedence relation among tasks is defined and Direct Acyclic Graph (DAG)
is drawn. In a parallel processor system, one would expect linear improvement with
increase in the number of processors used. However, this is generally not the case due
to factors such as communication overhead, control overhead and precedence
constraints between tasks (Adams, 1974; and Chow and Kohler, 1979).
|