Vis enkel innførsel

dc.contributor.authorTsigas, Philippas
dc.contributor.authorHa, Hoai Phuong
dc.contributor.authorAnshus, Otto J.
dc.date.accessioned2010-07-13T11:23:12Z
dc.date.available2010-07-13T11:23:12Z
dc.date.issued2008-10
dc.description.abstractThis 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, are the compare-and-swap (CAS) and load-linked/store-conditional (LL/SC) primitives. However, such synchronization primitives are expected to reach their scalability limits in the evolution to many-core architectures with thousands of cores. <br>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, 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). The original full/empty bit is well-known as a special-purpose primitive for fast producer-consumer synchronization and has been used extensively in the specific domain of applications. In this paper, we show that NB-FEB can be deployed easily as a general-purpose primitive. Using NB-FEB, we construct a non-blocking software transactional memory system called NBFEB-STM, which can be used to handle concurrent threads conveniently. NBFEB-STM is space efficient: the space complexity of each object updated by N concurrent threads/transactions is Θ(N), the optimal.en
dc.format.extent256860 bytes
dc.format.mimetypeapplication/pdf
dc.identifier.urihttps://hdl.handle.net/10037/2563
dc.identifier.urnURN:NBN:no-uit_munin_2310
dc.language.isoengen
dc.publisherUniversitetet i Tromsøen
dc.publisherUniversity of Tromsøen
dc.relation.ispartofseriesTechnical Report in Computing Science at University of Tromsø, no. 2008-69en
dc.rights.accessRightsopenAccess
dc.subjectVDP::Matematikk og naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Teoretisk databehandling, programmeringsspråk og -teori: 421en
dc.subjectVDP::Mathematics and natural science: 400::Information and communication science: 420::Theoretical computer science, programming languages and programming theory: 421en
dc.titleNB-FEB : an easy-to-use and scalable universal synchronization primitive for parallel programmingen
dc.typeResearch reporten
dc.typeForskningsrapporten


Tilhørende fil(er)

Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel