A methodology for implementing highly concurrent data objects

Author:

Herlihy Maurice1

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)

Subject

Software

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

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3