Semi-granules and schielding for off-line scheduling
Abstract
In the framework of parallel programming, we use a type of directed graph, which we call the pin-graph, as a model for various applications : the vertices represent the elementary tasks ; the arcs represent the internal dependences ; and the pins represent communication with the outside. The connectivity of pins-graphs is studied in order to classify them into two classes. A pin-graph in the first class is called a semi-granule. The elementary tasks of a semi-granule can be ordered into a sequential scheduled such that no dead-lock due to this sequential schedule can appear ; a schedule that has this last property is called a circuit-consistent schedule. A pin-graph that is not a semi-granule does not have any so scheduled. A partition into semi-granules of a pin-graph in this class is computed. The tasks of every so obtained semi-granule are well-ordered into a circuit-consistent schedule ; and the composition of these schedules builds up a circuit-consistent schedule of the whole pin-graph, which thus cannot generate any dead-lock, whatever the context. Algorithms partitioning pin-graphs into semi-granules are surveyed.