Abstract
ParC is an extension of the C programming language with block-oriented parallel constructs that allow the programmer to express fine-grain parallelism in a shared-memory model. It is suitable for the expression of parallel shared-memory algorithms, and also conducive for the parallelization of sequential C programs. In addition, performance enhancing transformations can be applied within the language, without resorting to low-level programming. The language includes closed constructs to create parallelism, as well as instructions to cause the termination of parallel activities and to enforce synchronization. The parallel constructs are used to define the scope of shared variables, and also to delimit the sets of activities that are influenced by termination or synchronization instructions. The semantics of parallelism are discussed, especially relating to the discrepancy between the limited number of physical processors and the potentially much larger number of parallel activities in a program.
Original language | English |
---|---|
Pages (from-to) | 581-612 |
Number of pages | 32 |
Journal | Software - Practice and Experience |
Volume | 26 |
Issue number | 5 |
DOIs | |
State | Published - May 1996 |
Keywords
- Forced termination
- ParC language
- Parallel programming
- Semantics of parallelism
- Shared memory
ASJC Scopus subject areas
- Software