Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

On synchronization and scheduling for multiprocessors

Thesis/Dissertation ·
OSTI ID:5918933

Although multiprocessors with hundreds of processors are commercially available, programming these machines for effective utilization of the available hardware is a nontrivial problem. The major problems include the decomposition of a program into processes, and the synchronizing and scheduling of these tasks. In this dissertation techniques are developed for the synchronization and scheduling of computations. An efficient algorithm to reduce synchronization costs in the parallel execution of an imperative program is also presented. In the first part of the dissertation an efficient algorithm to remove the redundant dependences are determined by determining redundant dependences at a node. Redundancy is not necessarily uniform in a doubly nested loop. A sufficient condition for uniformity of redundancy in a doubly nested loop is developed. The second part of the dissertation develops a run-time dependence analysis algorithm to determine all data-dependences in a program. This algorithm executes a skeleton of the program in parallel and generates the reference pattern to each array element. The reference pattern generated is useful in synchronization and scheduling of processes. A synchronization scheme is presented that uses run-time dependence analysis if necessary. The third part of the dissertation focuses on the scheduling of processes. A dynamic scheduling scheme called pre-synchronized scheduling is developed. This scheme is evaluated on an Encore multiprocessor and a Cray-XMP supercomputer.

Research Organization:
Ohio State Univ., Columbus, OH (United States)
OSTI ID:
5918933
Country of Publication:
United States
Language:
English