ABSTRACT
The adoption of transactional memory is hindered by the high overhead of software transactional memory and the intrusive design changes required by previously proposed TM hardware. We propose that hardware to accelerate software transactional memory (STM) can reside outside an unmodified commodity processor core, thereby substantially reducing implementation costs. This paper introduces Transactional Memory Acceleration using Commodity Cores (TMACC), a hardware-accelerated TM system that does not modify the processor, caches, or coherence protocol.
We present a complete hardware implementation of TMACC using a rapid prototyping platform. Using this hardware, we implement two unique conflict detection schemes which are accelerated using Bloom filters on an FPGA. These schemes employ novel techniques for tolerating the latency of fine-grained asynchronous communication with an out-of-core accelerator. We then conduct experiments to explore the feasibility of accelerating TM without modifying existing system hardware. We show that, for all but short transactions, it is not necessary to modify the processor to obtain substantial improvement in TM performance. In these cases, TMACC outperforms an STM by an average of 69% in applications using moderate-length transactions, showing maximum speedup within 8% of an upper bound on TM acceleration. Overall, we demonstrate that hardware can substantially accelerate the performance of an STM on unmodified commodity processors.
- A.-R. Adl-Tabatabai, B. Lewis, V. Menon, B. R. Murphy, B. Saha, and T. Shpeisman. Compiler and runtime support for efficient software transactional memory. In PLDI '06: ACM SIGPLAN Conference on Programming Language Design and Implementation, 2006. Google Scholar
Digital Library
- W. Baek, C. Cao Minh, M. Trautmann, C. Kozyrakis, and K. Olukotun. The Open™ transactional application programming interface. In PACT '07: 16th Internation Conference on Parallel Architecture and Compilation Techniques, 2007. Google Scholar
Digital Library
- B. Bloom. Space/time trade-offs in hash coding with allowable errors. Communications of ACM, 1970. Google Scholar
Digital Library
- C. Blundell, J. Devietti, E. C. Lewis, and M. M. K. Martin. Making the fast case common and the uncommon case simple in unbounded transactional memory. In ISCA '07: 34th International Symposium on Computer Architecture, 2007. Google Scholar
Digital Library
- J. Bobba, N. Goyal, M. Hill, M. Swift, and D. Wood. Tokentm: Efficient execution of large transactions with hardware transactional memory. In ISCA '08: 35th International Symposium on Computer Architecture, 2008. Google Scholar
Digital Library
- C. Cao Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford transactional applications for multi-processing. In IISWC '08: Proc. The IEEE International Symposium on Workload Characterization, 2008.Google Scholar
- C. Cao 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 ISCA '07: 34th International Symposium on Computer Architecture, 2007. Google Scholar
Digital Library
- J. L. Carter and M. N. Wegman. Universal classes of hash functions. Journal of Computer and System Sciences, 18(2), 1979.Google Scholar
Cross Ref
- C. Cascaval, C. Blundell, M. Michael, H. W. Cain, P. Wu, S. Chiras, and S. Chatterjee. Software transactional memory: Why is it only a research toy? Queue, 6(5), 2008. Google Scholar
Digital Library
- L. Ceze, J. Tuck, P. Montesinos, and J. Torrellas. BulkSC: bulk enforcement of sequential consistency. In ISCA '07: 34th International Symposium on Computer architecture, 2007. Google Scholar
Digital 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 HPCA '07: 13th International Symposium on High Performance Computer Architecture, 2007. Google Scholar
Digital Library
- S. Chaudhry, R. Cypher, M. Ekman, M. Karlsson, A. Landin, S. Yip, H. Zeffer, and M. Tremblay. Simultaneous speculative threading: a novel pipeline architecture implemented in sun's rock processor. In ISCA '09: 36th Intl. Symposium on Computer Architecture, 2009. Google Scholar
Digital Library
- L. Dalessandro, M. F. Spear, and M. L. Scott. NOrec: streamlining S™ by abolishing ownership records. In PPoPP '10: 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '10, 2010. Google Scholar
Digital Library
- P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In ASPLOS '06: 12th Internation Conference on Architectural Support for Programming Languages and Operating Systems, October 2006. Google Scholar
Digital Library
- D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In DISC '06: 20th Internation Symposium on Distributed Computing, 2006. Google Scholar
Digital Library
- A. Dragojević, R. Guerraoui, and M. Kapalka. Stretching transactional memory. In PLDI '09: ACM SIGPLAN Conference on Programming Language Design and Implementation, 2009. Google Scholar
Digital 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 ISCA '04: 31st International Symposium on Computer Architecture, 2004. Google Scholar
Digital Library
- T. Harris and K. Fraser. Language support for lightweight transactions. In OOPSLA '03: 18th ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, 2003. Google Scholar
Digital Library
- M. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In ISCA '93: 20th International Symposium on Computer Architecture, 1993. Google Scholar
Digital Library
- O. S. Hofmann, C. J. Rossbach, and E. Witchel. Maximum benefit from a minimal H™. In ASPLOS '09: 14th International Conference on Architectural Support for Programming Languages and Operating Systems, 2009. Google Scholar
Digital Library
- S. Hong, T. Oguntebi, J. Casper, N. Bronson, C. Kozyrakis, and K. Olukotun. Eigenbench: A simple exploration tool for orthogonal tm characteristics. In IISWC '10: International Symposium on Workload Characterization, 2010. Google Scholar
Digital Library
- S. Kumar, M. Chu, C. J. Hughes, P. Kundu, and A. Nguyen. Hybrid transactional memory. In PPoPP '06: 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2006. Google Scholar
Digital Library
- J. Larus and R. Rajwar. Transactional Memory. Morgan Claypool Synthesis Series, 2006.Google Scholar
- M. Lupon, G. Magklis, and A. González. FAS™: A log-based hardware transactional memory with fast abort recovery. In PACT '09: 18th International Conference on Parallel Architecture and Compilation Techniques, 2009. Google Scholar
Digital Library
- V. J. Marathe, W. N. Scherer III, and M. L. Scott. Adaptive Software Transactional Memory. In DISC '05: 19th International Symposium on Distributed Computing, 2005. Google Scholar
Digital Library
- S. S. Mukherjee, B. Falsafi, M. D. Hill, and D. A. Wood. Coherent network interfaces for fine-grain communication. In ISCA '96: 23rd International Symposium on Computer Architecture, 1996. Google Scholar
Digital Library
- T. Oguntebi, S. Hong, J. Casper, N. Bronson, C. Kozyrakis, and K. Olukotun. FARM: A prototyping environment for tightly-coupled, heterogeneous architectures. In FCCM '10: 18th Symposium on Field-Programmable Custom Computing Machines, 2010. Google Scholar
Digital Library
- M. Olszewski, J. Cutler, and J. G. Steffan. JudoS™: A dynamic binary-rewriting approach to software transactional memory. In PACT '07: 16th International Conference on Parallel Architecture and Compilation Techniques. Google Scholar
Digital Library
- H. E. Ramadan, C. J. Rossbach, D. E. Porter, O. S. Hofmann, A. Bhandari, and E. Witchel. Metatm/txlinux: transactional memory for an operating system. SIGARCH Computer Architecture News, 35(2), 2007. Google Scholar
Digital Library
- B. Saha, A. Adl-Tabatabai, and Q. Jacobson. Architectural support for software transactional memory. In MICRO '06: International Symposium on Microarchitecture, 2006. Google Scholar
Digital Library
- B. Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. Cao Minh, and B. Hertzberg. McRT-S™: A high performance software transactional memory system for a multi-core runtime. In PPoPP '06: 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2006. Google Scholar
Digital Library
- T. Shpeisman, V. Menon, A.-R. Adl-Tabatabai, S. Balensiefer, D. Grossman, R. L. Hudson, K. Moore, and B. Saha. Enforcing isolation and ordering in stm. In PLDI '07: Conference on Programming Language Design and Implementation, 2007. Google Scholar
Digital Library
- A. Shriraman, S. Dwarkadas, and M. L. Scott. Flexible decoupled transactional memory support. In ISCA '08: 35th International Symposium on Computer Architecture, 2008. Google Scholar
Digital Library
- A. Shriraman, M. F. Spear, H. Hossain, V. J. Marathe, S. Dwarkadas, and M. L. Scott. An integrated hardware-software approach to flexible transactional memory. SIGARCH Computer Architecture News, 35, June 2007. Google Scholar
Digital Library
- M. F. Spear. Lightweight, robust adaptivity for software transactional memory. In SPAA '10: 22nd ACM Symposium on Parallelism in Algorithms and Architectures, 2010. Google Scholar
Digital Library
- M. F. Spear, M. M. Michael, and C. von Praun. RingS™: scalable transactions with a single atomic instruction. In SPAA '08: 20th Symposium on Parallelism in Algorithms and Architectures, 2008. Google Scholar
Digital Library
- STAMP: Stanford transactional applications for multi-processing. http://stamp.stanford.edu.Google Scholar
- F. Tabba, M. Moir, J. R. Goodman, A. Hay, and C. Wang. NZ™: Nonblocking zero-indirection transactional memory. In SPAA '09: 21st Symposium on Parallelism in Algorithms and Architectures, 2009. Google Scholar
Digital Library
- 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 CGO '07: International Symposium on Code Generation and Optimization, 2007. Google Scholar
Digital Library
- L. Yen, J. Bobba, M. R. Marty, K. E. Moore, H. Volos, M. D. Hill, M. M. Swift, and D. A. Wood. LogTM-SE: Decoupling Hardware Transactional Memory from Caches. In HPCA '07: 13th International Symposium on High Performance Computer Architecture, 2007. Google Scholar
Digital Library
- L. Yen, S. Draper, and M. Hill. Notary: Hardware techniques to enhance signatures. In MICRO '08: 41st International Symposium on Microarchitecture, 2008. Google Scholar
Digital Library
Index Terms
Hardware acceleration of transactional memory on commodity systems
Recommendations
Hardware acceleration of transactional memory on commodity systems
ASPLOS '11The adoption of transactional memory is hindered by the high overhead of software transactional memory and the intrusive design changes required by previously proposed TM hardware. We propose that hardware to accelerate software transactional memory (...
Hardware acceleration of transactional memory on commodity systems
ASPLOS '11The adoption of transactional memory is hindered by the high overhead of software transactional memory and the intrusive design changes required by previously proposed TM hardware. We propose that hardware to accelerate software transactional memory (...
An effective hybrid transactional memory system with strong isolation guarantees
ISCA '07: Proceedings of the 34th annual international symposium on Computer architectureWe propose signature-accelerated transactional memory (SigTM), ahybrid TM system that reduces the overhead of software transactions. SigTM uses hardware signatures to track the read-set and write-set forpending transactions and perform conflict ...








Comments