Decoupling parallel and sequential codes: the pyramid approach

A multiparadigm parallel programming system is described in this paper. The system supports a specification language that can conveniently encode a fork-join graph by which many parallel applications are representable. The language, called parScript, mandates the separation of parallel control from sequential codes that perform the actual computation, resulting in a program that is concise, portable, and yet efficient. We investigate the feasibility of this approach by building a prototype system on a NUMA multiprocessor. Experimental data shows that the performance of parScript programs can be comparable to that of their C counterparts, both on uniprocessors and on NUMA multiprocessors.<<ETX>>