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.
- 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. Google ScholarDigital Library
- U. Aydonat and T. Abdelrahman. Hardware Support for Relaxed Concurrency Control in Transactional Memory. In International Symposium on Microarchitecture, 2010. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- L. Ceze, J. Tuck, C. Cascaval, and J. Torrellas. Bulk Disambiguation of Speculative Threads in Multiprocessors. In International Symposium on Computer Architecture, June 2006. Google ScholarDigital Library
- L. Ceze, J. M. Tuck, P. Montesinos, and J. Torrellas. BulkSC: Bulk Enforcement of Sequential Consistency. In International Symposium on Computer Architecture, June 2007. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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.Google ScholarCross Ref
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- H. Ramadan, C. Rossbach, and E. Witchel. Dependence-Aware Transactional Memory for Increased Concurrency. In International Symposium on Microarchitecture, 2008. Google ScholarDigital Library
- A. Shairaman, S. Dwarkadas, and M. L. Scott. Flexible Decoupled Transactional Memory Support. In International Symposium on Computer Architecture, June 2008. Google ScholarDigital Library
- G. Sohi, S. Breach, and T. Vijaykumar. Multiscalar Processors. In International Symposium on Computer Architecture, June 1995. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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.Google Scholar
- T. F. Wenisch, A. Ailamaki, B. Falsafi, and A. Moshovos. Mechanisms for Store-wait-free Multiprocessors. In International Symposium on Computer Architecture, June 2007. Google ScholarDigital Library
Index Terms
- BulkCommit: scalable and fast commit of atomic blocks in a lazy multiprocessor environment
Recommendations
Managing Resource Limitation of Best-Effort HTM
SPAA '15: Proceedings of the 27th ACM symposium on Parallelism in Algorithms and ArchitecturesThe first release of hardware transactional memory (HTM) as commodity processor posed the question of how to efficiently handle its best-effort nature. In this paper we present Part-HTM, the first hybrid transactional memory protocol that solves the ...
Language constructs for transactional memory
POPL '09Building concurrent shared-memory data structures is a notoriously difficult problem, and so the widespread move to multi-core and multi-processor hardware has led to increasing interest in language constructs that may make concurrent programming ...
Language constructs for transactional memory
POPL '09: Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesBuilding concurrent shared-memory data structures is a notoriously difficult problem, and so the widespread move to multi-core and multi-processor hardware has led to increasing interest in language constructs that may make concurrent programming ...
Comments