Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2451116.2451174acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

Volition: scalable and precise sequential consistency violation detection

Published: 16 March 2013 Publication History

Abstract

Sequential Consistency (SC) is the most intuitive memory model, and SC Violations (SCVs) produce unintuitive, typically incorrect executions. Most prior SCV detection schemes have used data races as proxies for SCVs, which is highly imprecise. Other schemes that have targeted data-race cycles are either too conservative or are designed only for two-processor cycles and snoopy-based systems.
This paper presents Volition, the first hardware scheme that detects SCVs in a relaxed-consistency machine precisely, in a scalable manner, and for an arbitrary number of processors in the cycle. Volition leverages cache coherence protocol transactions to dynamically detect cycles in memory-access orders across threads. When a cycle is about to occur, an exception is triggered. Volition can be used in both directory- and snoopy-based coherence protocols. Our simulations of Volition in a 64-processor multicore with directory-based coherence running SPLASH-2 and Parsec programs shows that Volition induces negligible traffic and execution overhead. In addition, it can detect SCVs with several processors. Volition is suitable for on-the-fly use.

References

[1]
CheckFence at SourceForge. http://sourceforge.net/projects/checkfence/.
[2]
A. Agarwal, R. Simoni, J. Hennessy, and M. Horowitz. An Evaluation of Directory Schemes for Cache Coherence. In International Symposium on Computer Architecture, May 1988.
[3]
C. Blundell, M. M. Martin, and T. F. Wenisch. InvisiFence: Performance-Transparent Memory Ordering in Conventional Multiprocessors. In Int. Symp. on Computer Architecture, 2009.
[4]
F. Bonomi et al. An Improved Construction for Counting Bloom Filters. In Ann. Euro. Symp. on Algo., Sep 2006.
[5]
S. Burckhardt, R. Alur, and M. M. K. Martin. CheckFence: Checking Consistency of Concurrent Data Types on Relaxed Memory Models. In Programming Language Design and Implementation, Jun 2007.
[6]
S. Burckhardt and M. Musuvathi. Effective Program Verification for Relaxed Memory Models. In Computer Aided Verification, Jul 2008.
[7]
J. Burnim, K. Sen, and C. Stergiou. Sound and Complete Monitoring of Sequential Consistency for Relaxed Memory Models. In Tools and Algo. for the Const. and Ana. of Sys., July 2011.
[8]
L. Ceze, J. M. Tuck, P. Montesinos, and J. Torrellas. BulkSC: Bulk Enforcement of Sequential Consistency. In International Symposium on Computer Architecture, June 2007.
[9]
Y. Chen, L. Yi, W. Hu, T. Chen, H. Shen, P. Wang, and H. Pan. Fast Complete Memory Consistency Verification. In International Symposium on High Performance Computer Architecture, Feb 2009.
[10]
A. Deorio, I.Wagner, and V. Bertacco. DACOTA: Post-silicon Validation of the Memory Subsystem in Multi-core Designs. In International Symposium on High Performance Computer Architecture, Feb 2009.
[11]
Y. Duan, X. Feng, L. Wang, C. Zhang, and P.-C. Yew. Detecting and Eliminating Potential Violations of Sequential Consistency for Concurrent C/C++ Programs. In Code Gen. and Opt., Mar 2009.
[12]
J. Erickson, M. Musuvathi, S. Burckhardt, and K. Olynyk. Effective Data-race Detection for the Kernel. In Operating System Design and Implementation, Feb 2010.
[13]
X. Fang, J. Lee, and S. P. Midkiff. Automatic Fence Insertion for Shared Memory Multiprocessing. In International Conference on SuperComputing, Jun 2003.
[14]
K. Gharachorloo and P. B. Gibbons. Detecting Violations of Sequential Consistency. In Symp. on Par. Alg. and Arch., Jul 1991.
[15]
C. Gniady, B. Falsafi, and T. N. Vijaykumar. Is SC + ILP = RC? In International Symposium on Computer Architecture, May 1999.
[16]
A. Krishnamurthy and K. Yelick. Analyses and Optimizations for Shared Address Space Programs. Jour. Paral. Dist. Comp., Nov 1996.
[17]
L. Lamport. How to Make a Multiprocessor Computer that Correctly Executes Multiprocess Programs. IEEE Tran. on Comp., July 1979.
[18]
J. Lee and D. A. Padua. Hiding Relaxed Memory Consistency with a Compiler. IEEE Trans. Comput., Aug 2001.
[19]
C. Lin, V. Nagarajan, and R. Gupta. Efficient Sequential Consistency using Conditional Fences. In Parallel Architecture and Compilation Techniques, Sep 2010.
[20]
C. Lin, V. Nagarajan, R. Gupta, and B. Rajaram. Efficient Sequential Consistency via Conflict Ordering. In Architectural Support for Programming Languages and Operating Systems, Mar 2012.
[21]
B. Lucia, L. Ceze, K. Strauss, S. Qadeer, and H.-J. Boehm. Conflict Exceptions: Simplifying Concurrent Language Semantics with Precise Hardware Exceptions for Data-races. In International Symposium on Computer Architecture, Jun 2010.
[22]
D. Marino, A. Singh, T. Millstein, M. Musuvathi, and S. Narayanasamy. DRFx: A Simple and Efficient Memory Model for Concurrent Programming Languages. In Programming Language Design and Implementation, June 2010.
[23]
A. Meixner and D. J. Sorin. Dynamic Verification of Sequential Consistency. In Int. Symp. on Comp. Arch., Jun 2005.
[24]
A. Muzahid, S. Qi, and J. Torrellas. Vulcan: Hardware Support for Detecting Sequential Consistency Violations Dynamically. In International Symposium on Microarchitecture, December 2012.
[25]
S. Narayanasamy, Z.Wang, J. Tigani, A. Edwards, and B. Calder. Automatically Classifying Benign and Harmful Data Races using Replay Analysis. In Prog. Lang. Des. and Impl., Jun 2007.
[26]
J. Renau, B. Fraguela, J. Tuck, W. Liu, M. Prvulovic, L. Ceze, S. Sarangi, P. Sack, K. Strauss, and P. Montesinos. SESC Simulator, January 2005. http://sesc.sourceforge.net.
[27]
D. C. Schmidt and T. Harrison. Double-Checked Locking: An Optimization Pattern for Efficiently Initializing and Accessing Thread-safe Objects. In Patt. Lang. of Prog. Des. Conf., 1996.
[28]
D. Shasha and M. Snir. Efficient and Correct Execution of Parallel Programs that Share Memory. ACM Transactions on Programming Languages and Systems, 10(2):282--312, April 1988.
[29]
Z. Sura, X. Fang, C.-L. Wong, S. P. Midkiff, J. Lee, and D. Padua. Compiler Techniques for High Performance Sequentially Consistent Java programs. In Prin. and Pract. of Para. Prog., Jun 2005.
[30]
J. Sevc1k. Safe Optimisations for Shared-memory Concurrent Programs. In Prog. Lang. Des. and Impl., Jun 2011.
[31]
T. F.Wenisch, A. Ailamaki, B. Falsafi, and A. Moshovos. Mechanisms for Store-wait-free Multiprocessors. In International Symposium on Computer Architecture, June 2007.

Cited By

View all

Index Terms

  1. Volition: scalable and precise sequential consistency violation detection

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ASPLOS '13: Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
    March 2013
    574 pages
    ISBN:9781450318709
    DOI:10.1145/2451116
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 48, Issue 4
      ASPLOS '13
      April 2013
      540 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2499368
      Issue’s Table of Contents
    • cover image ACM SIGARCH Computer Architecture News
      ACM SIGARCH Computer Architecture News  Volume 41, Issue 1
      ASPLOS '13
      March 2013
      540 pages
      ISSN:0163-5964
      DOI:10.1145/2490301
      Issue’s Table of Contents
    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: 16 March 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. memory consistency
    2. parallel programming
    3. sequential consistency
    4. shared-memory multiprocessors

    Qualifiers

    • Research-article

    Conference

    ASPLOS '13

    Acceptance Rates

    Overall Acceptance Rate 535 of 2,713 submissions, 20%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)7
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2018)Probabilistic programming with programmable inferenceACM SIGPLAN Notices10.1145/3296979.319240953:4(603-616)Online publication date: 11-Jun-2018
    • (2018)Verifying that web pages have accessible layoutACM SIGPLAN Notices10.1145/3296979.319240753:4(1-14)Online publication date: 11-Jun-2018
    • (2018)DarwinACM SIGPLAN Notices10.1145/3296957.317319353:2(199-213)Online publication date: 19-Mar-2018
    • (2018)SOFRITASACM SIGPLAN Notices10.1145/3296957.317319253:2(286-300)Online publication date: 19-Mar-2018
    • (2018)Test-Based Security Certification of Composite ServicesACM Transactions on the Web10.1145/326746813:1(1-43)Online publication date: 4-Dec-2018
    • (2018)Smartphone-based Acoustic Indoor Space MappingProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/32142782:2(1-26)Online publication date: 5-Jul-2018
    • (2018)AROMAProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/32142772:2(1-16)Online publication date: 5-Jul-2018
    • (2018)SOFRITASProceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3173162.3173192(286-300)Online publication date: 19-Mar-2018
    • (2017)Heads-up limit hold'em poker is solvedCommunications of the ACM10.1145/313128460:11(81-88)Online publication date: 24-Oct-2017
    • (2017)The heat method for distance computationCommunications of the ACM10.1145/313128060:11(90-99)Online publication date: 24-Oct-2017
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media