ABSTRACT

This chapter presents basic (but important) results on task graph scheduling. We start with a motivating example before providing a quick overview of models and complexity results.

Consider the following algorithm to solve the linear system Ax = b, where A is an n × n nonsingular lower triangular matrix and b is a vector with n components:

for i = 1 to n do Task Ti,i: xi ← bi/ai,i for j = i+ 1 to N do

Task Ti,j : bj ← bj − aj,i × xi

For a given value of i, 1 6 i 6 n, each task Ti,∗ represents some computations executed during the i-th iteration of the external loop. The computation of xi is performed first (task Ti,i). Then, each component bj of vector b such that j > i is updated (task Ti,j).