DocumentCode :
3163583
Title :
Compile-time partitioning of a non-strict language into sequential threads
Author :
Hoch, J.E. ; Davenport, D.M. ; Grafe, V.G. ; Steele, K.M.
Author_Institution :
Sandia Nat. Labs., Albuquerque, NM, USA
fYear :
1991
fDate :
2-5 Dec 1991
Firstpage :
180
Lastpage :
189
Abstract :
Presents a practical algorithm for partitioning a program into sequential threads. A thread is a sequence of instructions, possibly including branches, that can be scheduled as an indivisible unit on a von Neumann-like processor. The primary target of the proposed compilation strategy is large-scale parallel systems that rely on multithreading at the processor level to tolerate long communication latencies. As such, the algorithm incorporates a mechanism to balance the desire to maximize thread length with the desire to expose useful high-level parallelism. It can also exploit known dependency information (gathered through subscript analysis, for example). Although this paper focuses on non-strict (but not lazy) language semantics, the partitioning analysis is equally well suited to a non-strict language on a sequential machine or a strict language on a parallel multithreaded machine
Keywords :
parallel programming; program compilers; compilation strategy; non-strict language; sequential threads; Data structures; Delay; Information analysis; Laboratories; Large-scale systems; Multithreading; Partitioning algorithms; Processor scheduling; Switches; Yarn;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel and Distributed Processing, 1991. Proceedings of the Third IEEE Symposium on
Conference_Location :
Dallas, TX
Print_ISBN :
0-8186-2310-1
Type :
conf
DOI :
10.1109/SPDP.1991.218281
Filename :
218281
Link To Document :
بازگشت