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

Partitioning and scheduling parallel programs for execution on multiprocessors

Thesis/Dissertation ·
OSTI ID:7043298

There are three fundamental problems to be solved in the execution of a parallel program on a multiprocessor - identifying the parallelism in the program, partitioning the program into tasks, and scheduling the tasks on processors. Whereas the problem of identifying parallelism is a programming-language issue, the partitioning and scheduling problems are intimately related to parameters of the target multiprocessor, like the number of processors and synchronization and communication overhead. It is desirable for the partitioning and scheduling to be performed automatically, so that the same parallel program can execute efficiently on different multiprocessors. This dissertation presents two solutions to the partitioning and scheduling problems. The first approach is based on a macro-data flow model, where the program is partitioned into tasks at compile-time and the tasks are scheduled on processors at runtime. The second approach is based on a compile-time scheduling model, where the partitioning of the program and the scheduling of tasks on processors are both performed at compile-time.

Research Organization:
Stanford Univ., CA (USA)
OSTI ID:
7043298
Country of Publication:
United States
Language:
English