NB-FEB: An Easy-to-Use and Scalable Universal Synchronization Primitive for Parallel Programming
Phuong Hoai Ha, Philippas Tsigas, Otto J. Anshus

TL;DR
This paper introduces NB-FEB, a scalable, universal synchronization primitive for many-core architectures, enabling efficient, non-blocking thread synchronization and building a space-efficient transactional memory system.
Contribution
The paper presents NB-FEB, a novel non-blocking synchronization primitive that is universal, scalable, and feasible, and demonstrates its application in constructing an efficient transactional memory system.
Findings
NB-FEB can solve the consensus problem for any number of processes.
NB-FEB's combinability reduces performance issues caused by hot spots.
NBFEB-STM achieves space complexity of Θ(N) per object, which is optimal.
Abstract
This paper addresses the problem of universal synchronization primitives that can support scalable thread synchronization for large-scale many-core architectures. The universal synchronization primitives that have been deployed widely in conventional architectures like CAS and LL/SC are expected to reach their scalability limits in the evolution to many-core architectures with thousands of cores. 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, feasible and convenient to use. 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,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Interconnection Networks and Systems
