• Home
  • Search
  • Compiler‐driven approach for automating nonblocking synchronization in concurrent data abstractions
  • https://doi.org/10.1002/cpe.7935Copy DOI Icon

Compiler‐driven approach for automating nonblocking synchronization in concurrent data abstractions

Show More
  • Abstract
  • Literature Map
  • References
  • Similar Papers
Abstract

SummaryThis paper presents an extended version of our previous work on using compiler technology to automatically convert sequential C++ data abstractions, for example, queues, stacks, maps, and trees, to concurrent lock‐free implementations. A key difference between our work and existing research in software transactional memory (STM) is that our compiler‐based approach automatically selects the best state‐of‐the‐practice nonblocking synchronization method for the underlying sequential implementation of the data structure. The extended material includes a broader collection of the state‐of‐the‐practice lock‐free synchronization techniques, additional formal correctness proofs of the overall integration of the different synchronizations in our system, and a more comprehensive experimental study of the integrated techniques. We evaluate our compiler‐generated nonblocking data structures both by using a collection of micro‐benchmarks, including the Synchrobench suite, and by using a multi‐threaded application Dedup from PARSEC. Our automatically synchronized code attains performance competitive to that of concurrent data structures manually‐written by experts and much better performance than heavier‐weight support by STM.

Similar Papers
  • Book Chapter
  • Citations5

Lightweight Identification of Captured Memory for Software Transactional Memory

  • Jan 01, 2013
  • Fernando Miguel Carvalho +1
  • Research Article
  • Citations1

What Scalable Programs Need from Transactional Memory

  • Apr 04, 2017
  • ACM SIGPLAN Notices
  • Donald Nguyen +1
  • Research Article
  • Citations44

STMBench7

  • Mar 21, 2007
  • ACM SIGOPS Operating Systems Review
  • Rachid Guerraoui +2
  • Conference Article
  • Citations2

Transactional Composition of Nonblocking Data Structures

  • Jun 17, 2023
  • Wentao Cai +2
  • Research Article

Quantifying and reducing execution variance in STM via model driven commit optimization

  • Feb 10, 2018
  • ACM SIGPLAN Notices
  • Girish Mururu +2
  • Book Chapter
  • Citations995

Transactional Locking II

  • Jan 01, 2006
  • Dave Dice +2
  • Book Chapter
  • Citations1

FastLane Is Opaque – a Case Study in Mechanized Proofs of Opacity

  • Jan 01, 2018
  • Gerhard Schellhorn +4
  • Conference Article
  • Citations7

Optimization techniques for concurrent STM-based implementations: A concurrent binary heap as a case study

  • May 01, 2009
  • Kristijan Dragicevic +1
  • Conference Article
  • Citations12

StealthTest: Low Overhead Online Software Testing Using Transactional Memory

  • Sep 01, 2009
  • Jayaram Bobba +4
  • Conference Article
  • Citations44

Towards distributed software transactional memory systems

  • Sep 15, 2008
  • Paolo Romano +2
  • Conference Article
  • Citations3

Generic replication of software transactional memory

  • Nov 30, 2010
  • Nuno Carvalho
  • Research Article
  • Citations36

Virtual world consistency: A condition for STM systems (with a versatile protocol with invisible read operations)

  • Apr 27, 2012
  • Theoretical Computer Science
  • Damien Imbs +1
  • Book Chapter
  • Citations6

Lock‐Free Concurrent Data Structures

  • Jan 24, 2017
  • Daniel Cederman +5
  • Book Chapter
  • Citations2

Compiler-Assisted Selection of a Software Transactional Memory System

  • Jan 01, 2011
  • Martin Schindewolf +2
  • Conference Article
  • Citations2

Handling Conflicts with Compiler's Help in Software Transactional Memory Systems

  • Sep 01, 2010
  • Sandya Mannarswamy +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.