Title :
Control abstraction in parallel programming languages
Author :
Crowl, Lawrence A. ; LeBlanc, Thomas J.
Author_Institution :
Dept. of Comput. Sci., Oregon State Univ., Corvallis, OR, USA
Abstract :
Control abstraction is the process by which programmers define new control constructs, specifying a statement ordering separately from an implementation of that ordering. It is argued that control abstraction can and should play a central role in parallel programming. Control abstraction can be used to build new control constructs for the expression of parallelism. A control construct can have several implementations, representing the varying degrees of parallelism to be exploited on different architectures. Control abstraction also reduces the need for explicit synchronization, since it admits a precise specification of control flow. Several examples are used to illustrate the benefits of control abstraction. It is also shown that one can efficiently implement a parallel programming language based on control abstraction. It is argued that, because of the enormous benefits and reasonable costs of control abstraction, it should be included in explicitly parallel programming languages
Keywords :
parallel languages; parallel programming; programming theory; control abstraction; control flow; explicit synchronization; new control constructs; parallel programming language; precise specification; statement ordering; Centralized control; Computer languages; Computer science; Contracts; Costs; History; Parallel processing; Parallel programming; Process control; Programming profession;
Conference_Titel :
Computer Languages, 1992., Proceedings of the 1992 International Conference on
Conference_Location :
Oakland, CA
Print_ISBN :
0-8186-2585-6
DOI :
10.1109/ICCL.1992.185467