Proceedings of the Twenty-Third Annual ACM Symposium on Principles of Distributed Computing 2004
DOI: 10.1145/1011767.1011773
|View full text |Cite
|
Sign up to set email alerts
|

Bringing practical lock-free synchronization to 64-bit applications

Abstract: Many lock-free data structures in the literature exploit techniques that are possible only because state-of-the-art 64-bit processors are still running 32-bit operating systems and applications. As software catches up to hardware, "64-bitclean" lock-free data structures, which cannot use such techniques, are needed.We present several 64-bit-clean lock-free implementations: load-linked/store-conditional variables of arbitrary size, a FIFO queue, and a freelist. In addition to being portable to 64-bit software, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
28
0

Year Published

2005
2005
2009
2009

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 28 publications
(28 citation statements)
references
References 19 publications
0
28
0
Order By: Relevance
“…Current and emerging 64-bit architectures do not provide atomic access to more than 64-bit quantities, thus it is no longer possible to pack a large reference counter along with pointer-wide values in 64-bit applications. When application software exploiting these 64-bit capabilities becomes widespread [2], their algorithm will be of limited use. Tsigas and Zhang [15] proposed the first practical non-blocking FIFO queue based on a circular array using single word synchronization primitives found on all modern architectures and suitable for 64-bit applications.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…Current and emerging 64-bit architectures do not provide atomic access to more than 64-bit quantities, thus it is no longer possible to pack a large reference counter along with pointer-wide values in 64-bit applications. When application software exploiting these 64-bit capabilities becomes widespread [2], their algorithm will be of limited use. Tsigas and Zhang [15] proposed the first practical non-blocking FIFO queue based on a circular array using single word synchronization primitives found on all modern architectures and suitable for 64-bit applications.…”
Section: Related Workmentioning
confidence: 99%
“…Doherty et al [2] present the first link-based FIFO queue that is population-oblivious and has a space consumption depending only on the number of queued items and the number of threads currently accessing the queue. However, their algorithm introduces significant overheads and trades memory space for computational time.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…In the following we explain (i) what it means for SC to succeed or fail, and (ii) the rule for determining the SC's success or failure. [1,2,6,11,14,16,17]. Most of this research is focused on implementing small LL/SC objects, i.e., LL/SC objects whose value fits in a single machine word (which is 64-bits in the case of most machines) [2,6,11,14,16,17].…”
Section: Introductionmentioning
confidence: 99%
“…[1,2,6,11,14,16,17]. Most of this research is focused on implementing small LL/SC objects, i.e., LL/SC objects whose value fits in a single machine word (which is 64-bits in the case of most machines) [2,6,11,14,16,17]. However, many existing applications [1,4,12,13] need large LL/SC objects, i.e., LL/SC objects whose value does not fit in a single machine word.…”
Section: Introductionmentioning
confidence: 99%