skip to main content
10.1145/2540708.2540740acmconferencesArticle/Chapter ViewAbstractPublication PagesmicroConference Proceedingsconference-collections
research-article

BulkCommit: scalable and fast commit of atomic blocks in a lazy multiprocessor environment

Published: 07 December 2013 Publication History

Abstract

To help improve the programmability and performance of shared-memory multiprocessors, there are proposals of architectures that continuously execute atomic blocks of instructions --- also called Chunks. To be competitive, these architectures must support chunk operations very efficiently. In particular, in a large manycore with lazy conflict detection, they must support efficient chunk commit.
This paper addresses the challenge of providing scalable and fast chunk commit for a large manycore in a lazy environment. To understand the problem, we first present a model of chunk commit in a distributed directory protocol. Then, to attain scalable and fast commit, we propose two general techniques: (1) Serialization of the write sets of output-dependent chunks to avoid squashes and (2) Full parallelization of directory module ownership by the committing chunks. Our simulation results with 64-threaded codes show that our combined scheme, called BulkCommit, eliminates most of the squash and commit stall times, speeding-up the codes by an average of 40% and 18% compared to previously-proposed schemes.

References

[1]
W. Ahn, S. Qi, J.-W. Lee, M. Nicolaides, X. Fang, J. Torrellas, D. Wong, and S. Midkiff. BulkCompiler: High-performance Sequential Consistency through Cooperative Compiler and Hardware Support. In International Symposium on Microarchitecture, Dec. 2009.
[2]
U. Aydonat and T. Abdelrahman. Hardware Support for Relaxed Concurrency Control in Transactional Memory. In International Symposium on Microarchitecture, 2010.
[3]
C. Blundell, M. M. Martin, and T. F. Wenisch. InvisiFence: Performance-transparent Memory Ordering in Conventional Multi-processors. In Int. Symposium on Computer Architecture, 2009.
[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 International Symposium on Computer architecture, 2007.
[5]
E. Borin, Y. Wu, C. Wang, and M. Breternitz. LAR-CC: Large Atomic Regions with Conditional Commits. In International Symposium on Code Generation and Optimization, April 2011.
[6]
L. Ceze, J. Tuck, C. Cascaval, and J. Torrellas. Bulk Disambiguation of Speculative Threads in Multiprocessors. In International Symposium on Computer Architecture, June 2006.
[7]
L. Ceze, J. M. Tuck, P. Montesinos, and J. Torrellas. BulkSC: Bulk Enforcement of Sequential Consistency. In International Symposium on Computer Architecture, June 2007.
[8]
H. Chafi, J. Casper, B. D. Carlstrom, A. McDonald, C. Cao Minh, W. Baek, C. Kozyrakis, and K. Olukotun. A Scalable, Non-blocking Approach to Transactional Memory. In International Symposium on High Performance Computer Architecture, February 2007.
[9]
R. Das, S. Eachempati, A. Mishra, V. Narayanan, and C. Das. Design and Evaluation of a Hierarchical On-chip Interconnect for Next-generation CMPs. In International Symposium on High Performance Computer Architecture, February 2009.
[10]
J. Devietti, B. Lucia, L. Ceze, and M. Oskin. DMP: Deterministic Shared Memory Multiprocessing. In Int. Conf. on Arch. Support for Programming Languages and Operating Systems, March 2009.
[11]
L. Hammond, M. Willey, and K. Olukotun. Data Speculation Support for a Chip Multiprocessor. In Int. Conf. on Architectural Support for Programming Languages and Operating Systems, October 1998.
[12]
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 International Symposium on Computer Architecture, June 2004.
[13]
V. Krishnan and J. Torrellas. Hardware and Software Support for Speculative Execution of Sequential Binaries on a Chip-Multiprocessor. In Int. Conference on Supercomputing, July 1998.
[14]
P. Montesinos, L. Ceze, and J. Torrellas. DeLorean: Recording and Deterministically Replaying Shared-Memory Multiprocessor Execution Efficiently. In International Symposium on Computer Architecture, June 2008.
[15]
N. Neelakantam, R. Rajwar, S. Srinivas, U. Srinivasan, and C. Zilles. Hardware Atomicity for Reliable Software Speculation. In International Symposium on Computer Architecture, June 2007.
[16]
S. Pugsley, M. Awasthi, N. Madan, N. Muralimanohar, and R. Balasubramonian. Scalable and Reliable Communication for Hardware Transactional Memory. In International Conference on Parallel Architectures and Compilation Techniques, September 2008.
[17]
X. Qian, W. Ahn, and J. Torrellas. ScalableBulk: Scalable Cache Coherence for Atomic Blocks in a Lazy Environment. In International Symposium on Microarchitecture, December 2010.
[18]
X. Qian, B. Sahelices, and J. Torrellas. BulkSMT: Designing SMT Processors for Atomic-Block Execution. In International Symposium on High-Performance Computer Architecture, February 2012.
[19]
H. Ramadan, C. Rossbach, and E. Witchel. Dependence-Aware Transactional Memory for Increased Concurrency. In International Symposium on Microarchitecture, 2008.
[20]
A. Shairaman, S. Dwarkadas, and M. L. Scott. Flexible Decoupled Transactional Memory Support. In International Symposium on Computer Architecture, June 2008.
[21]
G. Sohi, S. Breach, and T. Vijaykumar. Multiscalar Processors. In International Symposium on Computer Architecture, June 1995.
[22]
J. G. Steffan and T. C. Mowry. The Potential for Using Thread-Level Data Speculation to Facilitate Automatic Parallelization. In International Symposium on High-Performance Computer Architecture, February 1998.
[23]
S. Tomić, C. Perfumo, C. Kulkarni, A. Armejach, A. Cristal, O. Unsal, T. Harris, and M. Valero. EazyHTM: Eager-Lazy Hardware Transactional Memory. In Int. Symposium on Microarchitecture, 2009.
[24]
J. Torrellas, L. Ceze, J. Tuck, C. Cascaval, P. Montesinos, W. Ahn, and M. Prvulovic. The Bulk Multicore Architecture for Improved Programmability. Communications of the ACM, 52(12), 2009.
[25]
E. Vallejo, M. Galluzzi, A. Cristal, F. Vallejo, R. Beivide, P. Stenstrom, J. E. Smith, and M. Valero. Implementing Kilo-Instruction Multiprocessors. In Int. Conf. on Pervasive Systems, July 2005.
[26]
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
  • (2019)Distributed Logless Atomic Durability with Persistent MemoryProceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3352460.3358321(466-478)Online publication date: 12-Oct-2019
  • (2019)Forgive-TM: Supporting Lazy Conflict Detection In Eager Hardware Transactional MemoryProceedings of the International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT.2019.00023(192-204)Online publication date: 23-Sep-2019
  • (2016)SABResThe 49th Annual IEEE/ACM International Symposium on Microarchitecture10.5555/3195638.3195646(1-13)Online publication date: 15-Oct-2016

Index Terms

  1. BulkCommit: scalable and fast commit of atomic blocks in a lazy multiprocessor environment

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    MICRO-46: Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture
    December 2013
    498 pages
    ISBN:9781450326384
    DOI:10.1145/2540708
    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: 07 December 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. atomic blocks
    2. bulk operation
    3. cache coherence
    4. hardware transactions
    5. shared-memory multiprocessors

    Qualifiers

    • Research-article

    Conference

    MICRO-46
    Sponsor:

    Acceptance Rates

    MICRO-46 Paper Acceptance Rate 39 of 239 submissions, 16%;
    Overall Acceptance Rate 484 of 2,242 submissions, 22%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Distributed Logless Atomic Durability with Persistent MemoryProceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3352460.3358321(466-478)Online publication date: 12-Oct-2019
    • (2019)Forgive-TM: Supporting Lazy Conflict Detection In Eager Hardware Transactional MemoryProceedings of the International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT.2019.00023(192-204)Online publication date: 23-Sep-2019
    • (2016)SABResThe 49th Annual IEEE/ACM International Symposium on Microarchitecture10.5555/3195638.3195646(1-13)Online publication date: 15-Oct-2016

    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