Year: 1992
Type: article
Abstract: We describe a parallel extension of the C programming language designed for multiprocessors that provide a facility for sharing memory between processors. The programming model was initially developed on conventional shared memory machines with small processor counts such as the Sequent Balance and Alliant FX/8, but has more recently been used on a scalable massively parallel machine, the BBN TC2000. The programming model is split-join rather than fork-join. Concurrency is exploited to use a fixed number of processors more efficiently rather than to exploit more processors as in the fork‐join model. Team splitting, a mechanism to split the team of processors executing a code into subteams to handle parallel subtasks, is used to provide an efficient mechanism to exploit nested concurrency. We have found the split‐join programming model to have an inherent implementation advantage, compared to the fork‐join model, when the number of processors in a machine becomes large.
Source: Scientific Programming
DOI: 10.1155/1992/708085
Institution: Lawrence Livermore National Laboratory
Language: English
Subfield: Hardware and Architecture
Field: Computer Science
Domain: Physical Sciences
Open Access status: hybrid
Estimated APC paid: $2,000
Funder: U.S. Department of Energy
Awards: G1702950523, G660437508
OpenAlex ID: W1969300911
