Preliminary results on nb-feb, a synchronization primitive for parallel programming
Paper in proceedings, 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).


non-blocking synchronization

many-core architectures

full/empty bit

universal primitives


Phuong Ha

Universitetet i Tromsö

Philippas Tsigas

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

Otto Anshus

Universitetet i Tromsö

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


Subject Categories

Computer Engineering

Software Engineering

Computer Science





More information

Latest update