New constructs for synchronization in parallel programming languages are presented for shared memory multiprocessors. The motivation behind the design of these new constructs is to relieve programmers from the burden of imposing synchronization, requiring them only to specify the necessary constraints. Statement tags are introduced. Synchronization is specified by means of regular expressions of statement tags, termed synchronization expressions. Unlike path expressions, the synchronization expressions demand no structural changes on the base language and allow much more complicated synchronization constraints to be expressed and expressed easily. This is due to the use of statement tags and the presence of guards in the latter. Examples are presented to demonstrate the simplicity and the power of synchronization expressions. >
['Ramaswamy Govindarajan', 'Lifu Guo', 'Sheng Yu', 'Peng Wang']
ParC project: practical constructs for parallel programming languages