Parallel programming languages for shared memory architectures have followed a consistent pattern in their evolution. This pattern attempts to extend sequential language constructs and semantics into parallel language constructs and semantics. The trend has been to incrementally refine the parallel semantics to factor out common idioms, which can then be combined in more flexible control structures. In this paper we will present an evolutionary overview of common parallel control structures and lead into a new design which attempts to factor the parallel loop into more primitive constructs which are better suited to irregular problems.
Back to the MSPLS'2000 schedule, homepage.