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

non-blocking synchronization

universal primitives

combinability.

many-core architectures

full/empty bit

Författare

Phuong Ha

Universitetet i Tromso

Philippas Tsigas

Chalmers, Data- och informationsteknik, Nätverk och system

Otto Anshus

Universitetet i Tromso

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

295-296

Ämneskategorier

Datorteknik

Programvaruteknik

Datavetenskap (datalogi)

DOI

10.1145/1504176.1504222

ISBN

978-1-60558-397-6