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

Title: Deadlock prevention in processor self-scheduling for parallel nested loops

Conference ·
OSTI ID:5768508

Processor self-scheduling is an effective distributed dynamic scheduling scheme for parallel nested loops in multiprocessor systems. A parallel nested loop structure can be considered as a task system. A task is an interation (or several iterations) of an innermost loop body and the execution order of tasks is determined by a precedence relation. Data dependences among statements are enforced either by the precedence relation or by explicit synchronization. Since self-scheduling is non-preemptive and uses busy-waiting as the basic technique for task synchronization, deadlocks may possibly arise. This paper identifies conditions that allow deadlock-free processor self-scheduling. It uses control tokens and data tokens to model the precedence relation and data dependences. Both control tokens and data tokens, together with processors, are regarded as three kinds of resources needed by tasks. Based on this resource model, we study three possible self-scheduling schemes with different degrees of parallelism, and propose to use appropriate scheduling priority for allocating processors to prevent deadlocks. 12 refs., 7 figs.

Research Organization:
Illinois Univ., Urbana (USA). Center for Supercomputing Research and Development; Wichita State Univ., KS (USA). Dept. of Computer Science
DOE Contract Number:
FG02-85ER25001
OSTI ID:
5768508
Report Number(s):
DOE/ER/25001-39; CONF-870831-5; CSRD-626; ON: DE88003573
Resource Relation:
Conference: International conference on parallel processing, St. Charles, IL, USA, 17 Aug 1987; Other Information: Portions of this document are illegible in microfiche products
Country of Publication:
United States
Language:
English