Where academic tradition
meets the exciting future

Composable Hierarchical Synchronization Support for REPLICA

Jari-Matti Mäkelä, Ville Leppänen, Martti Forsell, Composable Hierarchical Synchronization Support for REPLICA. In: Kiss Ákos (Ed.), 13th Symposium on Programming Languages and Software Tools, 230–244, University of Szeged, 2013.

Abstract:

Synchronization is a key concept in parallel programming. General purpose languages and architectures often assume a restricted form of synchronicity with the focus on asynchronous execution. The most notable trend during the recent years against asynchrony has been the raise of GPGPU devices with support of tightly synchronous regions in programs. Our REPLICA architecture continues this trend for chip multi-processors with the aim to provide an execution platform for the rich algorithm theory of synchronous shared memory algorithms.

In a simplified multi-threaded computational model with unit time amortized instruction execution cost, step-wise inter-thread synchronicity can be realized. However, the synchronicity does not trivially extend to higher level abstractions. A procedural language Fork introduces means for maintaining hierarchical synchronicity on block basis. The block level synchronicity invariant is maintained with explicit annotations. Control statements for synchronicity mode transitions are explicit.

We focus on a new chip multi-processor architecture REPLICA, employing step-wise synchronization along with fine-grained requirements for special thread group based parallel operations. A new hierarchical, composable, control flow synchronization analysis method is proposed. Our annotations capture the intent better and can be partly inferred. We demonstrate the method's potential with comparisons to existing systems. Our Replica compiler contains an initial implementation.

BibTeX entry:

@INPROCEEDINGS{inpMaLeFo13a,
  title = {Composable Hierarchical Synchronization Support for REPLICA},
  booktitle = {13th Symposium on Programming Languages and Software Tools},
  author = {Mäkelä, Jari-Matti and Leppänen, Ville and Forsell, Martti},
  editor = {Ákos, Kiss},
  publisher = {University of Szeged},
  pages = {230–244},
  year = {2013},
}

Belongs to TUCS Research Unit(s): Software Development Laboratory (SwDev)

Edit publication