Hardware Multithreaded Transactions

作者: Jordan Fix , Nayana P. Nagendra , Sotiris Apostolakis , Hansen Zhang , Sophie Qiu

DOI: 10.1145/3173162.3173172

关键词:

摘要: Speculation with transactional memory systems helps pro- grammers and compilers produce profitable thread-level parallel programs. Prior work shows that supporting transactions can span multiple threads, rather than requiring be contained within a single thread, enables new types of speculative parallelization techniques for both programmers parallelizing compilers. Unfortunately, software support multi-threaded (MTXs) comes significant additional inter-thread communication overhead speculation validation. This make otherwise good unprofitable programs sizeable read write sets. Some using these prior MTXs overcame this problem through efforts by expert to minimize sets optimize communication, capabilities which compiler technology has been unable equivalently achieve. Instead, paper makes less laborious more feasible low-overhead validation, presenting the first complete design, implementation, evaluation hardware MTXs. Even maximal validation every load store inside tens hundreds millions instructions, complex achieved. Across 8 benchmarks, system achieves geomean speedup 99% over sequential execution on multicore machine 4 cores.

参考文章(36)
Ravi Rajwar, Maurice Herlihy, Konrad Lai, Virtualizing Transactional Memory ACM SIGARCH Computer Architecture News. ,vol. 33, pp. 494- 505 ,(2005) , 10.1145/1080695.1070011
Milos Prvulovic, María Jesús Garzarán, Lawrence Rauchwerger, Josep Torrellas, None, Removing architectural bottlenecks to the scalability of speculative parallelization international symposium on computer architecture. ,vol. 29, pp. 204- 215 ,(2001) , 10.1145/379240.379264
Luis Ceze, James Tuck, Josep Torrellas, Calin Cascaval, Bulk Disambiguation of Speculative Threads in Multiprocessors ACM SIGARCH Computer Architecture News. ,vol. 34, pp. 227- 238 ,(2006) , 10.1145/1150019.1136506
T.N. Vijaykumar, S. Gopal, J.E. Smith, G. Sohi, Speculative Versioning Cache IEEE Transactions on Parallel and Distributed Systems. ,vol. 12, pp. 1305- 1317 ,(2001) , 10.1109/71.970565
Hanjun Kim, ASAP: Automatic speculative acyclic parallelization for clusters Princeton, NJ : Princeton University. ,(2013)
Weihaw Chuang, Satish Narayanasamy, Ganesh Venkatesh, Jack Sampson, Michael Van Biesbrouck, Gilles Pokam, Brad Calder, Osvaldo Colavin, Unbounded page-based transactional memory Proceedings of the 12th international conference on Architectural support for programming languages and operating systems - ASPLOS-XII. ,vol. 41, pp. 347- 358 ,(2006) , 10.1145/1168857.1168901
Lance Hammond, Mark Willey, Kunle Olukotun, Data speculation support for a chip multiprocessor architectural support for programming languages and operating systems. ,vol. 32, pp. 58- 69 ,(1998) , 10.1145/291069.291020
Hanjun Kim, Nick P. Johnson, Jae W. Lee, Scott A. Mahlke, David I. August, Automatic speculative DOALL for clusters symposium on code generation and optimization. pp. 94- 103 ,(2012) , 10.1145/2259016.2259029
Tushar Krishna, Somayeh Sardashti, Rathijit Sen, Korey Sewell, Muhammad Shoaib, Nilay Vaish, Mark D. Hill, David A. Wood, Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K. Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R. Hower, The gem5 simulator ACM SIGARCH Computer Architecture News. ,vol. 39, pp. 1- 7 ,(2011) , 10.1145/2024716.2024718
Arun Raman, Hanjun Kim, Thomas R. Mason, Thomas B. Jablin, David I. August, Speculative parallelization using software multi-threaded transactions architectural support for programming languages and operating systems. ,vol. 38, pp. 65- 76 ,(2010) , 10.1145/1735971.1736030