TY - JOUR
T1 - ParC - An extension of C for shared memory parallel processing
AU - Ben-Asher, Yosi
AU - Feitelson, Dror G.
AU - Rudolph, Larry
PY - 1996/5
Y1 - 1996/5
N2 - 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.
AB - 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.
KW - Forced termination
KW - ParC language
KW - Parallel programming
KW - Semantics of parallelism
KW - Shared memory
UR - http://www.scopus.com/inward/record.url?scp=0030145336&partnerID=8YFLogxK
U2 - 10.1002/(sici)1097-024x(199605)26:5<581::aid-spe53>3.0.co;2-p
DO - 10.1002/(sici)1097-024x(199605)26:5<581::aid-spe53>3.0.co;2-p
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0030145336
SN - 0038-0644
VL - 26
SP - 581
EP - 612
JO - Software - Practice and Experience
JF - Software - Practice and Experience
IS - 5
ER -