Static scheduling of parallel program graphs including loops

A static scheduling strategy based on task replication was previously proposed by the authors (1990). This method allowed the possibility that certain nodes of the directed acyclic graph (DAG) could vary their execution times within a range of known values. The present work extends that scheduling strategy using a new representation model of a parallel program, the directed graph model. This model allows the inclusion of loops and conditionals explicitly in the topology of the graph. The extension of the model takes advantage of the explicit parallelism existing within loops and conditional structures that is hidden in the DAG model. The task replication strategy is adapted to the new situation to obtain a static assignment that reproduces the dynamic behavior of the graphs without task migration during application run time.<<ETX>>