Title :
The MultiLoop programming construct
Author_Institution :
Cavedish Sch. of Comput. Sci., Westminster Univ., London, UK
Abstract :
This paper introduces a new high-level parallel programming construct called multiLoop that is designed to extend existing imperative languages such as C and Java. A multiLoop statement translates to SPMD specification of a named group of synchronous-iterative processes. For efficient iterative communication, multiLoop provides a new publish/subscribe model of shared variable access. Under this model the sequential consistency of shared memory is maintained by a new, simple and efficient adaptation of virtual time paradigm. Virtual time is a localised message tagging and queuing procedure that provides a highly efficient alternative to barrier calls. ML-C, a prototype implementation based on C has been developed. We describe the programming model, discuss its implementation and present some empirical data showing good performance obtained for an example of the target class of applications.
Keywords :
formal specification; message passing; parallel programming; programming languages; query languages; shared memory systems; ML-C; MultiLoop programming construct; SPMD specification; barrier calls; high-level parallel programming; imperative languages; iterative communication; message tagging; multiLoop statement; programming model; publish model; queuing procedure; sequential consistency; shared memory; shared variable access; subscribe model; synchronous-iterative processes; virtual time; Application software; Computer science; Concurrent computing; Java; Parallel languages; Parallel processing; Parallel programming; Physics computing; Prototypes; Tagging;
Conference_Titel :
High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings. Ninth International Workshop on
Print_ISBN :
0-7695-2151-7
DOI :
10.1109/HIPS.2004.1299185