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

skip to main content
research-article

Efficient sequential consistency via conflict ordering

Published: 03 March 2012 Publication History

Abstract

Although the sequential consistency (SC) model is the most intuitive, processor designers often choose to support relaxed memory consistency models for higher performance. This is because SC implementations that match the performance of relaxed memory models require post-retirement speculation and its associated hardware costs. In this paper we propose an efficient approach for enforcing SC without requiring post-retirement speculation. While prior SC implementations guarantee SC by explicitly completing memory operations within a processor in program order, we guarantee SC by completing conflicting memory operations, within and across processors, in an order that is consistent with the program order. More specifically, we identify those conflicting memory operations whose ordering is critical for the maintenance of SC and explicitly order them. This allows us to safely (non-speculatively) complete memory operations past pending writes, thus reducing memory ordering stalls. Our experiments with SPLASH-2 programs show that SC can be achieved efficiently, with performance comparable to RMO (relaxed memory order).

References

[1]
Intel Single-Chip Cloud Computer. http://techresearch.intel.com/articles/Tera-Scale/1826.htm.
[2]
Telera Tile-Gx processor. http://www.tilera.com/products/processors.
[3]
S. V. Adve and H.-J. Boehm. Memory models: a case for rethinking parallel languages and hardware. Communications of the ACM, 53(8):90--101, 2010.
[4]
S. V. Adve and K. Gharachorloo. Shared memory consistency models: A tutorial. IEEE Computer, 29:66--76, 1995.
[5]
S. V. Adve and M. D. Hill. Weak ordering - a new definition. In Proceedings of the 17th Annual International Symposium on Computer Architecture, ISCA '90, pages 2--14, 1990.
[6]
C. Blundell, M. M. Martin, and T. F. Wenisch. InvisiFence: performance-transparent memory ordering in conventional multiprocessors. In Proceedings of the 36th Annual International Symposium on Computer Architecture, ISCA '09, pages 233--244, 2009.
[7]
L. Ceze, J. Tuck, P. Montesinos, and J. Torrellas. BulkSC: bulk enforcement of sequential consistency. In Proceedings of the 34th Annual International Symposium on Computer Architecture, ISCA '07, pages 278--289, 2007.
[8]
H. Chafi, J. Casper, B. D. Carlstrom, A. McDonald, C. C. Minh, W. Baek, C. Kozyrakis, and K. Olukotun. A scalable, non-blocking approach to transactional memory. In Proceedings of the IEEE 13th International Symposium on High Performance Computer Architecture, HPCA '07, pages 97--108, 2007.
[9]
T. Elmas, S. Qadeer, and S. Tasiran. Goldilocks: a race and transaction-aware java runtime. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '07, pages 245--255, 2007.
[10]
X. Fang, J. Lee, and S. P. Midkiff. Automatic fence insertion for shared memory multiprocessing. In Proceedings of the 17th Annual International Conference on Supercomputing, ICS '03, pages 285--294, 2003.
[11]
M. Galluzzi, E. Vallejo, A. Cristal, F. Vallejo, R. Beivide, P. Stenström, J. E. Smith, and M. Valero. Implicit transactional memory in kilo-instruction multiprocessors. In Asia-Pacific Computer Systems Architecture Conference, pages 339--353, 2007.
[12]
K. Gharachorloo, A. Gupta, and J. Hennessy. Two techniques to enhance the performance of memory consistency models. In Proceedings of the International Conference on Parallel Processing, ISCA '91, pages 355--364, 1991.
[13]
C. Gniady and B. Falsafi. Speculative sequential consistency with little custom storage. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, PACT '02, pages 179--188, 2002.
[14]
C. Gniady, B. Falsafi, and T. N. Vijaykumar. Is SC + ILP = RC? In Proceedings of the 26th Annual International Symposium on Computer Architecture, ISCA '99, pages 162--171, 1999.
[15]
L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In Proceedings of the 31st Annual International Symposium on Computer Architecture, ISCA '04, page 102, 2004.
[16]
M. D. Hill. Multiprocessors should support simple memory-consistency models. Computer, 31(8):28--34, 1998.
[17]
L. Lamport. How to make a multiprocessor computer that correctly executes multiprocess program. IEEE Transactions on Computers, 28(9):690--691, 1979.
[18]
J. Lee and D. A. Padua. Hiding relaxed memory consistency with a compiler. IEEE Transactions on Computers, 50(8):824--833, 2001.
[19]
C. Lin, V. Nagarajan, and R. Gupta. Efficient sequential consistency using conditional fences. In Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques, PACT '10, pages 295--306, 2010.
[20]
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 Proceedings of the 37th Annual International Symposium on Computer Architecture, ISCA '10, pages 210--221, 2010.
[21]
D. Marino, A. Singh, T. Millstein, M. Musuvathi, and S. Narayanasamy. DRFx: a simple and efficient memory model for concurrent programming languages. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '10, pages 351--362, 2010.
[22]
D. Marino, A. Singh, T. Millstein, M. Musuvathi, and S. Narayanasamy. A case for an SC-preserving compiler. In Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '11, pages 199--210, 2011.
[23]
P. Ranganathan, V. S. Pai, and S. V. Adve. Using speculative retirement and larger instruction windows to narrow the performance gap between memory consistency models. In Proceedings of the 9th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA '97, pages 199--210, 1997.
[24]
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.
[25]
K. G. Sarita, S. V. Adve, A. Gupta, J. L. Hennessy, and M. D. Hill. Specifying system requirements for memory consistency models. Technical Report CSL-TR-93--594, Stanford University, 1993.
[26]
C. Scheurich and M. Dubois. Correct memory operation of cache-based multiprocessors. In Proceedings of the 14th Annual International Symposium on Computer Architecture, ISCA '87, pages 234--243, 1987.
[27]
K. Sen. Race directed random testing of concurrent programs. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '08, pages 11--21, 2008.
[28]
P. Sewell, S. Sarkar, S. Owens, F. Z. Nardelli, and M. O. Myreen. x86-TSO: a rigorous and usable programmer's model for x86 multiprocessors. Communication of the ACM, 53(7):89--97, 2010.
[29]
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, 1988.
[30]
A. Singh, D. Marino, S. Narayanasamy, T. Millstein, and M. Musuvathi. Efficient processor support for DRFx, a memory model with exceptions. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '11, pages 53--66, 2011.
[31]
T. F. Wenisch, A. Ailamaki, B. Falsafi, and A. Moshovos. Mechanisms for store-wait-free multiprocessors. In Proceedings of the 34th Annual International Symposium on Computer Architecture, ISCA '07, pages 266--277, 2007.
[32]
S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH-2 programs: characterization and methodological considerations. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, ISCA '95, pages 24--36, 1995.
[33]
K. C. Yeager. The MIPS R10000 superscalar microprocessor. IEEE Micro, 16(2):28--40, 1996.

Cited By

View all
  • (2020)Review of Conflict Resolution Methods for Manned and Unmanned AviationAerospace10.3390/aerospace70600797:6(79)Online publication date: 16-Jun-2020
  • (2019)Modelling multi level consistency in erasure code based storage systemsProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297294(122-129)Online publication date: 8-Apr-2019
  • (2015)Hybrid Static–Dynamic Analysis for Statically Bounded Region SerializabilityACM SIGPLAN Notices10.1145/2775054.269437950:4(561-575)Online publication date: 14-Mar-2015
  • Show More Cited By

Index Terms

  1. Efficient sequential consistency via conflict ordering

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 47, Issue 4
    ASPLOS '12
    April 2012
    453 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2248487
    Issue’s Table of Contents
    • cover image ACM Conferences
      ASPLOS XVII: Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
      March 2012
      476 pages
      ISBN:9781450307598
      DOI:10.1145/2150976
    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 03 March 2012
    Published in SIGPLAN Volume 47, Issue 4

    Check for updates

    Author Tags

    1. conflict ordering
    2. sequential consistency

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 19 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Review of Conflict Resolution Methods for Manned and Unmanned AviationAerospace10.3390/aerospace70600797:6(79)Online publication date: 16-Jun-2020
    • (2019)Modelling multi level consistency in erasure code based storage systemsProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297294(122-129)Online publication date: 8-Apr-2019
    • (2015)Hybrid Static–Dynamic Analysis for Statically Bounded Region SerializabilityACM SIGPLAN Notices10.1145/2775054.269437950:4(561-575)Online publication date: 14-Mar-2015
    • (2015)Hybrid Static–Dynamic Analysis for Statically Bounded Region SerializabilityProceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/2694344.2694379(561-575)Online publication date: 14-Mar-2015
    • (2014)Memory persistencyProceeding of the 41st annual international symposium on Computer architecuture10.5555/2665671.2665712(265-276)Online publication date: 14-Jun-2014
    • (2014)Memory persistencyACM SIGARCH Computer Architecture News10.1145/2678373.266571242:3(265-276)Online publication date: 14-Jun-2014
    • (2022)Memory Consistency Motivation and Sequential ConsistencyA Primer on Memory Consistency and Cache Coherence10.1007/978-3-031-01764-3_3(17-37)Online publication date: 28-Mar-2022
    • (2021)Systems-on-Chip with Strong OrderingACM Transactions on Architecture and Code Optimization10.1145/342815318:1(1-27)Online publication date: 20-Jan-2021
    • (2020)A Primer on Memory Consistency and Cache Coherence, Second EditionSynthesis Lectures on Computer Architecture10.2200/S00962ED2V01Y201910CAC04915:1(1-294)Online publication date: 4-Feb-2020
    • (2020)PeacenikProceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3373376.3378485(317-333)Online publication date: 9-Mar-2020
    • 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

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media