Preliminary results on nb-feb, a synchronization primitive for parallel programming
Paper in proceeding, 2009

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).

combinability.

non-blocking synchronization

many-core architectures

full/empty bit

universal primitives

Author

Phuong Ha

University of Tromsø – The Arctic University of Norway

Philippas Tsigas

Chalmers, Computer Science and Engineering (Chalmers), Networks and Systems (Chalmers)

Otto Anshus

University of Tromsø – The Arctic University of Norway

Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming

295-296
978-1-60558-397-6 (ISBN)

Subject Categories

Computer Engineering

Software Engineering

Computer Science

DOI

10.1145/1504176.1504222

ISBN

978-1-60558-397-6

More information

Latest update

8/27/2018