Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/ISORC.2010.10guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Understanding and Effectively Preventing the ABA Problem in Descriptor-Based Lock-Free Designs

Published: 05 May 2010 Publication History

Abstract

An increasing number of modern real-time systems and the nowadays ubiquitous multicore architectures demand the application of programming techniques for reliable and efficient concurrent synchronization. Some recently developed Compare-And-Swap (CAS) based nonblocking techniques hold the promise of delivering practical and safer concurrency. The ABA problem is a fundamental problem to many CAS-based designs. Its significance has increased with the suggested use of CAS as a core atomic primitive for the implementation of portable lock-free algorithms. The ABA problem's occurrence is due to the intricate and complex interactions of the application's concurrent operations and, if not remedied, ABA can significantly corrupt the semantics of a nonblocking algorithm. The current state of the art leaves the elimination of the ABA hazards to the ingenuity of the software designer. In this work we provide the first systematic and detailed analysis of the ABA problem in lock-free Descriptor-based designs. We study the semantics of Descriptor-based lock-free data structures and propose a classification of their operations that helps us better understand the ABA problem and subsequently derive an effective ABA prevention scheme. Our ABA prevention approach outperforms by a large factor the use of the alternative CAS-based ABA prevention schemes. It offers speeds comparable to the use of the architecture-specific CAS2 instruction used for version counting. We demonstrate our ABA prevention scheme by integrating it into an advanced nonblocking data structure, a lock-free dynamically resizable array.

Cited By

View all
  • (2023)Efficient Synchronization-Light Work StealingProceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3558481.3591099(39-49)Online publication date: 17-Jun-2023
  • (2023)Releasing Memory with Optimistic Access: A Hybrid Approach to Memory Reclamation and Allocation in Lock-Free ProgramsProceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3558481.3591089(177-186)Online publication date: 17-Jun-2023
  • (2022)Towards highly-concurrent leaderless state machine replication for distributed systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2022.102516127:COnline publication date: 1-Jun-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ISORC '10: Proceedings of the 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing
May 2010
256 pages
ISBN:9780769540375

Publisher

IEEE Computer Society

United States

Publication History

Published: 05 May 2010

Author Tags

  1. ABA problem
  2. lock-free programming techniques
  3. nonblocking synchronization

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Efficient Synchronization-Light Work StealingProceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3558481.3591099(39-49)Online publication date: 17-Jun-2023
  • (2023)Releasing Memory with Optimistic Access: A Hybrid Approach to Memory Reclamation and Allocation in Lock-Free ProgramsProceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3558481.3591089(177-186)Online publication date: 17-Jun-2023
  • (2022)Towards highly-concurrent leaderless state machine replication for distributed systemsJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2022.102516127:COnline publication date: 1-Jun-2022
  • (2020)DQEMU: A Scalable Emulator with Retargetable DBT on Distributed PlatformsProceedings of the 49th International Conference on Parallel Processing10.1145/3404397.3404403(1-11)Online publication date: 17-Aug-2020
  • (2019)A lock-free coalescing-capable mechanism for memory managementProceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management10.1145/3315573.3329982(79-88)Online publication date: 23-Jun-2019
  • (2019)Efficient and Scalable Execution of Fine-Grained Dynamic Linear PipelinesACM Transactions on Architecture and Code Optimization10.1145/330741116:2(1-26)Online publication date: 18-Apr-2019
  • (2019)FunctionFlowFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-016-6286-813:1(73-85)Online publication date: 1-Feb-2019
  • (2015)A scalable multi-producer multi-consumer wait-free ring bufferProceedings of the 30th Annual ACM Symposium on Applied Computing10.1145/2695664.2695924(1321-1328)Online publication date: 13-Apr-2015
  • (2013)Pragmatic primitives for non-blocking data structuresProceedings of the 2013 ACM symposium on Principles of distributed computing10.1145/2484239.2484273(13-22)Online publication date: 22-Jul-2013

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media