2001
DOI: 10.1007/3-540-45414-4_21
|View full text |Cite
|
Sign up to set email alerts
|

A Pragmatic Implementation of Non-blocking Linked-lists

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

1
358
0
2

Year Published

2002
2002
2020
2020

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 300 publications
(364 citation statements)
references
References 8 publications
1
358
0
2
Order By: Relevance
“…5. There are several solutions to this problem, e.g., [24], and the latest method introduced by Harris [25] is to use a deletion mark. This deletion mark is updated atomically together with the next pointer, see the definition of the union Link in Fig.…”
Section: The New Lock-free Algorithmmentioning
confidence: 99%
“…5. There are several solutions to this problem, e.g., [24], and the latest method introduced by Harris [25] is to use a deletion mark. This deletion mark is updated atomically together with the next pointer, see the definition of the union Link in Fig.…”
Section: The New Lock-free Algorithmmentioning
confidence: 99%
“…These transitions are summarized in Figure 1. Finally, a thread can check whether a value v is injail by invoking IsInJail(v); if this invocation returns true, then v was injail at some point during the invocation 5 (the converse is not necessarily true, as explained later). An ROP solution does not implement the functionality of the Arrest action-this is application-specific-but ROP must be aware of arrests to know when a free value becomes injail.…”
Section: The Repeat Offender Problemmentioning
confidence: 99%
“…This definition precludes the use of locks to protect the data structure because a thread can take an unbounded number of steps without completing an operation if some other thread is delayed or fails while holding a lock that the first thread requires. The difficulty of designing lock-free data structures is reflected in numerous papers in the literature describing clever and subtle algorithms for implementing relatively mundane data structures such as stacks [13], queues [10], and linked lists [14,5].…”
Section: Introductionmentioning
confidence: 99%
“…It is for instance impossible to use the remove and put operations of a hash table to obtain a concurrent move operation that can be used to rebalance the table after a resize [5]. Indeed, the difficulty of composing lock-free operations [6], [7] is a major limitation of the java.util.concurrent package [8] of the JDK. For example, the size method of the ConcurrentSkipListMap class is known to not be atomic, forcing the user to explicitly lock existing sequential data structures in a coarse-grained manner, which then severely hampers concurrency.…”
Section: Introductionmentioning
confidence: 99%