Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1378533.1378583acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

RingSTM: scalable transactions with a single atomic instruction

Published: 14 June 2008 Publication History
  • Get Citation Alerts
  • Abstract

    Existing Software Transactional Memory (STM) designs attach metadata to ranges of shared memory; subsequent runtime instructions read and update this metadata in order to ensure that an in-flight transaction's reads and writes remain correct. The overhead of metadata manipulation and inspection is linear in the number of reads and writes performed by a transaction, and involves expensive read-modify-write instructions, resulting in substantial overheads.
    We consider a novel approach to STM, in which transactions represent their read and write sets as Bloom filters, and transactions commit by enqueuing a Bloom filter onto a global list. Using this approach, our RingSTM system requires at most one read-modify-write operation for any transaction, and incurs validation overhead linear not in transaction size, but in the number of concurrent writers who commit. Furthermore, RingSTM is the first STM that is inherently livelock-free and privatization-safe while at the same time permitting parallel writeback by concurrent disjoint transactions.We evaluate three variants of the RingSTM algorithm, and find that it offers superior performance and/or stronger semantics than the state-of-the-art TL2 algorithm under a number of workloads.

    References

    [1]
    L. Baugh and C. Zilles. An Analysis of I/O and Syscalls in Critical Sections and Their Implications for Transactional Memory. In Proceedings of the 2nd ACM SIGPLAN Workshop on Transactional Computing, Portland, OR, Aug. 2007.
    [2]
    B. H. Bloom. Space/Time Trade-offs in Hash Coding with Allowable Errors.Communications of the ACM}, 13(7):422--426, 1970.
    [3]
    C. Blundell, J. Devietti, E. C. Lewis, and M. Martin. Making the Fast Case Common and the Uncommon Case Simple in Unbounded Transactional Memory. In Proceedings of the 34th International Symposium on Computer Architecture, San Diego, CA, June 2007.
    [4]
    J. Bobba, K. E. Moore, H. Volos, L. Yen, M. D. Hill, M. M. Swift, and D. A. Wood. Performance Pathologies in Hardware Transactional Memory. In Proceedings of the 34th International Symposium on Computer Architecture, San Diego, CA, June 2007.
    [5]
    L. Ceze, J. Tuck, J. Torrellas, and C. Cascaval. Bulk Disambiguation of Speculative Threads in Multiprocessors. In Proceedings of the 33rd International Symposium on Computer Architecture, pages 227--238, Boston, MA, June 2006.
    [6]
    D. Dice, O. Shalev, and N. Shavit. Transactional Locking II. In Proceedings of the 20th International Symposium on Distributed Computing, Stockholm, Sweden, Sept. 2006.
    [7]
    R. Ennals. Software Transactional Memory Should Not Be Lock Free. Technical Report IRC-TR-06-052, Intel Research Cambridge, 2006.
    [8]
    K. Fraser. Practical Lock-Freedom. Technical Report UCAM-CL-TR-579, Cambridge University Computer Laboratory, Feb. 2004.
    [9]
    R. Guerraoui, M. Herlihy, and B. Pochon. Polymorphic Contention Management in SXM. In Proceedings of the 19th International Symposium on Distributed Computing, Cracow, Poland, Sept. 2005.
    [10]
    T. Harris, M. Plesko, A. Shinar, and D. Tarditi. Optimizing Memory Transactions. In Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation, Ottawa, ON, Canada, June 2006.
    [11]
    M. P. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer III. Software Transactional Memory for Dynamic-sized Data Structures. In Proceedings of the 22nd ACM Symposium on Principles of Distributed Computing, Boston, MA, July 2003.
    [12]
    O. S. Hofmann, D. E. Porter, C. J. Rossbach, H. E. Ramadan, and E. Witchel. Solving Difficult HTM Problems Without Difficult Hardware. In Proceedings of the 2nd ACM SIGPLAN Workshop on Transactional Computing, Portland, OR, Aug. 2007.
    [13]
    R. L. Hudson, B. Saha, A.-R. Adl-Tabatabai, and B. Hertzberg. A Scalable Transactional Memory Allocator. In Proceedings of the 2006 International Symposium on Memory Management, Ottawa, ON, Canada, June 2006.
    [14]
    J. R. Larus and R. Rajwar. Transactional Memory. Synthesis Lectures on Computer Architecture. Morgan & Claypool, 2007.
    [15]
    V. J. Marathe, W. N. Scherer III, and M. L. Scott. Adaptive Software Transactional Memory. In Proceedings of the 19th International Symposium on Distributed Computing, Cracow, Poland, Sept. 2005.
    [16]
    V. J. Marathe, M. F. Spear, C. Heriot, A. Acharya, D. Eisenstat, W. N. Scherer III, and M. L. Scott. Lowering the Overhead of Nonblocking Software Transactional Memory. In Proceedings of the 1st ACM Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, June 2006.
    [17]
    C. C. Minh, M. Trautmann, J. Chung, A. McDonald, N. Bronson, J. Casper, C. Kozyrakis, and K. Olukotun. An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees. In Proceedings of the 34th International Symposium on Computer Architecture, pages 69--80, San Diego, CA, June 2007.
    [18]
    U. of Rochester. Rochester Software Transactional Memory. http://www.cs.rochester.edu/research/synchronization/rstm/.
    [19]
    M. Olszewski, J. Cutler, and J. G. Steffan. JudoSTM: A Dynamic Binary-Rewriting Approach to Software Transactional Memory. In Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques, Brasov, Romania, Sept. 2007.
    [20]
    R. Rajwar, M. Herlihy, and K. Lai. Virtualizing Transactional Memory. In Proceedings of the 32nd International Symposium on Computer Architecture, Madison, WI, June 2005.
    [21]
    T. Riegel, P. Felber, and C. Fetzer. A Lazy Snapshot Algorithm with Eager Validation. In Proceedings of the 20th International Symposium on Distributed Computing, Stockholm, Sweden, Sept. 2006.
    [22]
    T. Riegel, C. Fetzer, and P. Felber. Time-Based Transactional Memory with Scalable Time Bases. In Proceedings of the 19th ACM Symposium on Parallelism in Algorithms and Architectures, San Diego, California, June 2007.
    [23]
    B. Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. C. Minh, and B. Hertzberg. McRT-STM: A High Performance Software Transactional Memory System For A Multi-Core Runtime. In Proceedings of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 187--197, New York, NY, Mar. 2006.
    [24]
    B. Saha, A.-R. Adl-Tabatabai, and Q. Jacobson. Architectural Support for Software Transactional Memory. In Proceedings of the 39th IEEE/ACM International Symposium on Microarchitecture, pages 185--196, Orlando, FL, Dec. 2006.
    [25]
    W. N. Scherer III and M. L. Scott. Advanced Contention Management for Dynamic Software Transactional Memory. In Proceedings of the 24th ACM Symposium on Principles of Distributed Computing, pages 240--248, Las Vegas, NV, July 2005.
    [26]
    N. Shavit and D. Touitou. Software Transactional Memory. In Proceedings of the 14th ACM Symposium on Principles of Distributed Computing, pages 204--213, Ottawa, ON, Canada, Aug. 1995.
    [27]
    A. Shriraman, M. F. Spear, H. Hossain, S. Dwarkadas, and M. L. Scott. An Integrated Hardware-Software Approach to Flexible Transactional Memory. In Proceedings of the 34th International Symposium on Computer Architecture, San Diego, CA, June 2007.
    [28]
    M. F. Spear, V. J. Marathe, L. Dalessandro, and M. L. Scott. Privatization Techniques for Software Transactional Memory. Technical Report TR 915, Department of Computer Science, University of Rochester, Feb. 2007.
    [29]
    M. F. Spear, V. J. Marathe, W. N. Scherer III, and M. L. Scott. Conflict Detection and Validation Strategies for Software Transactional Memory. In Proceedings of the 20th International Symposium on Distributed Computing, Stockholm, Sweden, Sept. 2006.
    [30]
    M. F. Spear, M. M. Michael, and M. L. Scott. Inevitability Mechanisms for Software Transactional Memory. In Proceedings of the 3rd ACM SIGPLAN Workshop on Transactional Computing, Salt Lake City, UT, Feb. 2008.
    [31]
    M. F. Spear, A. Shriraman, L. Dalessandro, S. Dwarkadas, and M. L. Scott. Nonblocking Transactions Without Indirection Using Alert-on-Update. In Proceedings of the 19th ACM Symposium on Parallelism in Algorithms and Architectures, San Diego, CA, June 2007.
    [32]
    C. von Praun, L. Ceze, and C. Cascaval. Implicit Parallelism with Ordered Transactions. In Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Jose, CA, Mar. 2007.
    [33]
    C. Wang, W.-Y. Chen, Y. Wu, B. Saha, and A.-R. Adl-Tabatabai. Code Generation and Optimization for Transactional Memory Constructs in an Unmanaged Language. In Proceedings of the 2007 International Symposium on Code Generation and Optimization, San Jose, CA, Mar. 2007.
    [34]
    L. Yen, J. Bobba, M. R. Marty, K. E. Moore, H. Volos, M. D. Hill, and M. M. S. D. A. Wood. LogTM-SE: Decoupling Hardware Transactional Memory from Caches. In Proceedings of the 13th International Symposium on High-Performance Computer Architecture, Phoenix, AZ, Feb. 2007.
    [35]
    C. Zilles and R. Rajwar. Transactional memory and the birthday paradox (brief announcement). In Proceedings of the 19th ACM Symposium on Parallelism in Algorithms and Architectures, San Diego, CA, June 2007.

    Cited By

    View all
    • (2023)A Prediction System ServiceProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575714(48-60)Online publication date: 27-Jan-2023
    • (2023)Separating Mechanism from Policy in STM2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT58117.2023.00031(279-296)Online publication date: 21-Oct-2023
    • (2022)HyTM-AP Hybrid Transactional Memory Scheme Using Abort Prediction and Adaptive Retry Policy for Multi-Core In-Memory DatabasesJournal of Database Management10.4018/JDM.29955533:1(1-22)Online publication date: 1-Jan-2022
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SPAA '08: Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
    June 2008
    380 pages
    ISBN:9781595939739
    DOI:10.1145/1378533
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 14 June 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. atomicity
    2. software transactional memory
    3. synchronization

    Qualifiers

    • Research-article

    Conference

    SPAA08

    Acceptance Rates

    Overall Acceptance Rate 447 of 1,461 submissions, 31%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 30 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)A Prediction System ServiceProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575714(48-60)Online publication date: 27-Jan-2023
    • (2023)Separating Mechanism from Policy in STM2023 32nd International Conference on Parallel Architectures and Compilation Techniques (PACT)10.1109/PACT58117.2023.00031(279-296)Online publication date: 21-Oct-2023
    • (2022)HyTM-AP Hybrid Transactional Memory Scheme Using Abort Prediction and Adaptive Retry Policy for Multi-Core In-Memory DatabasesJournal of Database Management10.4018/JDM.29955533:1(1-22)Online publication date: 1-Jan-2022
    • (2020)Brief Announcement: On Implementing Software Transactional Memory in the C++ Memory ModelProceedings of the 39th Symposium on Principles of Distributed Computing10.1145/3382734.3405746(224-226)Online publication date: 31-Jul-2020
    • (2020)Nonblocking Persistent Software Transactional Memory2020 IEEE 27th International Conference on High Performance Computing, Data, and Analytics (HiPC)10.1109/HiPC50609.2020.00042(283-293)Online publication date: Dec-2020
    • (2019)Dynamic one-to-one mapping of ownership records for STM using versioned weak referencesProceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3357390.3361020(37-49)Online publication date: 21-Oct-2019
    • (2019)FPGA-Accelerated Optimistic Concurrency Control for Transactional MemoryProceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3352460.3358270(911-923)Online publication date: 12-Oct-2019
    • (2019)Optimizing Persistent Transactions (Brief Announcement)The 31st ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3323165.3323176(169-170)Online publication date: 17-Jun-2019
    • (2018)General-Purpose Graphics Processor ArchitecturesSynthesis Lectures on Computer Architecture10.2200/S00848ED1V01Y201804CAC04413:2(1-140)Online publication date: 21-May-2018
    • (2018)NemoProceedings of the 47th International Conference on Parallel Processing10.1145/3225058.3225123(1-10)Online publication date: 13-Aug-2018
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media