skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Self-scheduling, data synchronization, and program transformation for multiprocessor systems

Miscellaneous ·
OSTI ID:5814859

This dissertation first concentrates on two important software issues for large multiprocessor systems: processor scheduling and data synchronization. Self-scheduling, and efficient dynamic heuristic scheduling, is a practical solution to the scheduling problem of multiprocessor systems. The author proposes several self-scheduling schemes which can be used by a compiler to generate self-scheduling object codes for parallel programs. Since busy-waiting is used to enforce cross-iteration data dependences, deadlocks in self-scheduling are possible. He identifies the conditions that allow deadlock-free self-scheduling for different self-scheduling models and propose the use of an appropriate scheduling order for allocating processors to prevent deadlocks. Self-scheduling order has significant impact on the performance of parallel loops with cross-iteration data dependences. He proposes the shortest-delay self-scheduling (SDSS) order based on Doacross delays determined by cross-iteration data dependences. He shows by simulation that SDSS can offer near-optimal performance in most cases. A compile-time program transformation for SDSS is also presented. Data synchronization is necessary to enforce cross-iteration data dependences. He proposes a set of data-level synchronization instructions to support data synchronization. Compiler algorithms for generating these data-level synchronization instructions for different types of subscript functions are presented. The last part of the dissertation addresses an architecture issue of large multiprocessor systems: hot-spot contention.

Research Organization:
Illinois Univ., Urbana, IL (USA)
OSTI ID:
5814859
Resource Relation:
Other Information: Thesis (Ph. D.)
Country of Publication:
United States
Language:
English