ABSTRACT
We introduce a non-blocking full/empty bit primitive, or NB-FEB for short, as a promising synchronization primitive for parallel programming on may-core architectures. We show that the NB-FEB primitive is universal, scalable and feasible. NB-FEB, together with registers, can solve the consensus problem for an arbitrary number of processes (universality). NB-FEB is combinable, namely its memory requests to the same memory location can be combined into only one memory request, which consequently mitigates performance degradation due to synchronization "hot spots" (scalability). Since NB-FEB is a variant of the original full/empty bit that always returns a value instead of waiting for a conditional flag, it is as feasible as the original full/empty bit, which has been implemented in many computer systems (feasibility).
- Krste Asanovic et al. The landscape of parallel computing research: A view from berkeley. Technical Report No. UCB/EECS-2006-183, University of California, Berkeley, 2006.Google Scholar
- Guy E. Blelloch, Phillip B. Gibbons, and S. Harsha Vardhan. Combinable memory-block transactions. In Proc. of the ACM Symp. on Parallel Algorithms and Architectures (SPAA), pages 23--34, 2008. Google Scholar
Digital Library
- David E. Culler, Jaswinder Pal Singh, and Anoop Gupta. Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, 1998. Google Scholar
Digital Library
- Maurice Herlihy. Wait-free synchronization. ACM Transaction on Programming and Systems, 11(1):124--149, January 1991. Google Scholar
Digital Library
- Clyde P. Kruskal, Larry Rudolph, and Marc Snir. Efficient synchronization of multiprocessors with shared memory. ACM Trans. Program. Lang. Syst., 10(4):579--601, 1988. Google Scholar
Digital Library
- M. M. Michael and M. L. Scott. Implementation of atomic primitives on distributed shared memory multiprocessors. In Proc. of the IEEE Symp. on High-Performance Computer Architecture, pages 222--231, 1995.Google Scholar
Cross Ref
- Srinivas Sridharan, Arun Rodrigues, and Peter Kogge. Evaluating synchronization techniques for light-weight multithreaded/multicore architectures. In Proc. of the ACM Symp. on Parallel Algorithms and Architectures (SPAA), pages 57--58, 2007. Google Scholar
Digital Library
Index Terms
Preliminary results on nb-feb, a synchronization primitive for parallel programming
Recommendations
Preliminary results on nb-feb, a synchronization primitive for parallel programming
PPoPP '09We introduce a non-blocking full/empty bit primitive, or NB-FEB for short, as a promising synchronization primitive for parallel programming on may-core architectures. We show that the NB-FEB primitive is universal, scalable and feasible. NB-FEB, ...
NB-FEB: A Universal Scalable Easy-to-Use Synchronization Primitive for Manycore Architectures
OPODIS '09: Proceedings of the 13th International Conference on Principles of Distributed SystemsThis paper addresses the problem of universal synchronization primitives that can support <em>scalable</em> thread synchronization for large-scale manycore architectures. The universal synchronization primitives that have been deployed widely in ...
A methodology for creating fast wait-free data structures
PPoPP '12: Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel ProgrammingLock-freedom is a progress guarantee that ensures overall program progress. Wait-freedom is a stronger progress guarantee that ensures the progress of each thread in the program. While many practical lock-free algorithms exist, wait-free algorithms are ...







Comments