Affiliation:
1. Digital Equipment Corp., Cambridge, MA
Abstract
A
concurrent object
is a data structure shared by concurrent processes. Conventional techniques for implementing concurrent objects typically rely on
critical sections
; ensuring that only one process at a time can operate on the object. Nevertheless, critical sections are poorly suited for asynchronous systems: if one process is halted or delayed in a critical section, other, nonfaulty processes will be unable to progress. By contrast, a concurrent object implementation is
lock free
if it always guarantees that some process will complete an operation in a finite number of steps, and it is
wait free
if it guarantees that
each
process will complete an operation in a finite number of steps. This paper proposes a new methodology for constructing lock-free and wait-free implementations of concurrent objects. The object's representation and operations are written as stylized sequential programs, with no explicit synchronization. Each sequential operation is atutomatically transformed into a lock-free or wait-free operation using novel synchronization and memory management algorithms. These algorithms are presented for a multiple instruction/multiple data (MIMD) architecture in which
n
processes communicate by applying atomic
read, write, load_linked,
and
store_conditional
operations to a shared memory.
Publisher
Association for Computing Machinery (ACM)
Reference40 articles.
1. The performance of spin lock alternatives for shared-money multiprocessors
2. Concepts and Notations for Concurrent Programming
3. BAYER R. AND SCHKOLNICK M. 1977. Concurrency of operations on B-trees A~ta I f. 1 1 1 21. BAYER R. AND SCHKOLNICK M. 1977. Concurrency of operations on B-trees A~ta I f. 1 1 1 21.
Cited by
203 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Atlas: Automating Cross-Language Fuzzing on Android Closed-Source Libraries;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
2. A Lock-free Binary Trie;2024 IEEE 44th International Conference on Distributed Computing Systems (ICDCS);2024-07-23
3. History-Independent Concurrent Objects;Proceedings of the 43rd ACM Symposium on Principles of Distributed Computing;2024-06-17
4. Strongly Linearizable LL/SC from CAS;Proceedings of the 43rd ACM Symposium on Principles of Distributed Computing;2024-06-17
5. Efficient Learning-based Top-k Representative Similar Subtrajectory Query;2024 IEEE 40th International Conference on Data Engineering (ICDE);2024-05-13