David M. Peixotto
Jun Shirako, David M. Peixotto, Vivek Sarkar, and William N.
Scherer III
ICS ’08: Proceedings of the 22nd annual international
conference on Supercomputing, 2008
Coordination and synchronization of parallel tasks is a major source of complexity in parallel programming. These constructs take many forms in practice including mutual exclusion in accesses to shared resources, termination detection of child tasks, collective barrier synchronization, and point-to-point synchronization. In this paper, we introduce phasers, a new coordination construct that unifies collective and point-to-point synchronizations. We establish two safety properties for phasers: deadlock-freedom and phase-ordering. Performance results obtained from a portable implementation of phasers on three different SMP platforms demonstrate that phasers can deliver superior performance to existing barrier implementations, in addition to the productivity benefits that result from their generality and safety properties.
@inproceedings{ShirakoPhasers, author = {Jun Shirako and David M. Peixotto and Vivek Sarkar and William N. Scherer}, title = {Phasers: a unified deadlock-free construct for collective and point-to-point synchronization}, booktitle = {ICS ’08: Proceedings of the 22nd annual international conference on Supercomputing}, year = {2008}, isbn = {978-1-60558-158-3}, pages = {277—288}, location = {Island of Kos, Greece}, doi = {http://doi.acm.org/10.1145/1375527.1375568}, publisher = {ACM}, address = {New York, NY, USA} }
You need the willingness to fail all the time. You have to generate many ideas and then you have to work very hard only to discover that they don't work. And you keep doing that over and over until you find one that does work.
-- John Backus