{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,31]],"date-time":"2026-01-31T05:11:52Z","timestamp":1769836312228,"version":"3.49.0"},"reference-count":47,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2018,3,22]],"date-time":"2018-03-22T00:00:00Z","timestamp":1521676800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2018,3,31]]},"abstract":"<jats:p>Today\u2019s hardware transactional memory (HTM) systems rely on existing coherence protocols, which implement a requester-wins strategy. This, in turn, leads to poor performance when transactions frequently conflict, causing them to resort to a non-speculative fallback path. Often, such a path severely limits parallelism. In this article, we propose very simple architectural changes to the existing requester-wins HTM implementations that enhance conflict resolution between hardware transactions and thus improve their parallelism. Our idea is compatible with existing HTM systems, requires no changes to target applications that employ traditional lock synchronization, and is shown to provide robust performance benefits.<\/jats:p>","DOI":"10.1145\/3177962","type":"journal-article","created":{"date-parts":[[2018,3,23]],"date-time":"2018-03-23T12:29:49Z","timestamp":1521808189000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Improving Parallelism in Hardware Transactional Memory"],"prefix":"10.1145","volume":"15","author":[{"given":"Dave","family":"Dice","sequence":"first","affiliation":[{"name":"Oracle Labs, MA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Maurice","family":"Herlihy","sequence":"additional","affiliation":[{"name":"Brown University and Oracle Labs"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alex","family":"Kogan","sequence":"additional","affiliation":[{"name":"Oracle Labs, MA, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,3,22]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993478.1993486"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2611462.2611482"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2005.41"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2541228.2555299"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250662.1250667"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250662.1250674"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2935764.2935796"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485942"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950373"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168900"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2851141.2851162"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2612669.2612696"},{"key":"e_1_2_1_13_1","doi-asserted-by":"crossref","unstructured":"Dave Dice Yossi Lev Mark Moir Daniel Nussbaum and Marek Olszewski. 2009. Early experience with a commercial hardware transactional memory implementation. Technical report Sun Labs.   Dave Dice Yossi Lev Mark Moir Daniel Nussbaum and Marek Olszewski. 2009. Early experience with a commercial hardware transactional memory implementation. Technical report Sun Labs.","DOI":"10.1145\/1508244.1508263"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1508244.1508263"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2628071.2628080"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908090"},{"key":"e_1_2_1_17_1","volume-title":"Transactional memory in GCC. Retrieved","author":"GNU.","year":"2015","unstructured":"GNU. 2015. Transactional memory in GCC. Retrieved August 3, 2015 from https:\/\/gcc.gnu.org\/wiki\/TransactionalMemory. GNU. 2015. Transactional memory in GCC. Retrieved August 3, 2015 from https:\/\/gcc.gnu.org\/wiki\/TransactionalMemory."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/949305.949340"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the Workshop on Duplicating, Deconstructing and Debunking (WDDD\u201912)","author":"Blake","unstructured":"Blake A. Hechtman and Daniel J. Sorin. 2012. The limits of concurrency in cache coherence . In Proceedings of the Workshop on Duplicating, Deconstructing and Debunking (WDDD\u201912) . Blake A. Hechtman and Daniel J. Sorin. 2012. The limits of concurrency in cache coherence. In Proceedings of the Workshop on Duplicating, Deconstructing and Debunking (WDDD\u201912)."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/165123.165164"},{"key":"e_1_2_1_21_1","volume-title":"Retrieved Novemenber 20","author":"Intel Corporation","year":"2017","unstructured":"Intel Corporation . 2017 . Intel Xeon Processor Scalable Family Technical Overview . Retrieved Novemenber 20 , 2017 from https:\/\/software.intel.com\/en-us\/articles\/intel-xeon-processor-scalable-family-technical-overview. Intel Corporation. 2017. Intel Xeon Processor Scalable Family Technical Overview. Retrieved Novemenber 20, 2017 from https:\/\/software.intel.com\/en-us\/articles\/intel-xeon-processor-scalable-family-technical-overview."},{"key":"e_1_2_1_22_1","volume-title":"Transactional Synchronization in Haswell. Retrieved","author":"Intel Corporation","year":"2012","unstructured":"Intel Corporation . 2012. Transactional Synchronization in Haswell. Retrieved September 8, 2012 from http:\/\/software.intel.com\/en-us\/blogs\/2012\/02\/07\/transactional-synchronization-in-haswell\/. Intel Corporation. 2012. Transactional Synchronization in Haswell. Retrieved September 8, 2012 from http:\/\/software.intel.com\/en-us\/blogs\/2012\/02\/07\/transactional-synchronization-in-haswell\/."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2012.12"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2576793"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the ACM SIGPLAN Workshop on Transactional Computing (TRANSACT\u201911)","author":"Liu Yujie","year":"2011","unstructured":"Yujie Liu and Michael Spear . 2011 . Toxic transactions . In Proceedings of the ACM SIGPLAN Workshop on Transactional Computing (TRANSACT\u201911) . Yujie Liu and Michael Spear. 2011. Toxic transactions. In Proceedings of the ACM SIGPLAN Workshop on Transactional Computing (TRANSACT\u201911)."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2755573.2755598"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2009.19"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694393"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the International Symposium on Workload Characterization (IISWC\u201908)","author":"Minh Chi Cao","year":"2008","unstructured":"Chi Cao Minh , JaeWoong Chung , Christos Kozyrakis , and Kunle Olukotun . 2008 . STAMP: stanford transactional applications for multi-processing . In Proceedings of the International Symposium on Workload Characterization (IISWC\u201908) . 35--46. Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis, and Kunle Olukotun. 2008. STAMP: stanford transactional applications for multi-processing. In Proceedings of the International Symposium on Workload Characterization (IISWC\u201908). 35--46."},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the IEEE Symposium on High-Performance Computer Architecture (HPCA\u201906)","author":"Moore Kevin E.","unstructured":"Kevin E. Moore , Jayaram Bobba , Michelle J. Moravan , Mark D. Hill , and David A. Wood . 2006. Logtm: Log-based transactional memory . In Proceedings of the IEEE Symposium on High-Performance Computer Architecture (HPCA\u201906) . 258--269. Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, and David A. Wood. 2006. Logtm: Log-based transactional memory. In Proceedings of the IEEE Symposium on High-Performance Computer Architecture (HPCA\u201906). 258--269."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168902"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2750403"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449780"},{"key":"e_1_2_1_34_1","volume-title":"Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA\u201916)","author":"Park S.","unstructured":"S. Park , M. Prvulovic , and C. J. Hughes . 2016. PleaseTM: Enabling transaction conflict management in requester-wins hardware transactional memory . In Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA\u201916) . 285--296. S. Park, M. Prvulovic, and C. J. Hughes. 2016. PleaseTM: Enabling transaction conflict management in requester-wins hardware transactional memory. In Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA\u201916). 285--296."},{"key":"e_1_2_1_35_1","volume-title":"Retrieved","author":"McKenney Paul E.","year":"2017","unstructured":"Paul E. McKenney . 2017 . Is Parallel Programming Hard, And, If So, What Can You Do About It ? Retrieved November 20, 2017 from https:\/\/www.kernel.org\/pub\/linux\/kernel\/people\/paulmck\/perfbook\/perfbook.2011.01.02a.pdf. Paul E. McKenney. 2017. Is Parallel Programming Hard, And, If So, What Can You Do About It? Retrieved November 20, 2017 from https:\/\/www.kernel.org\/pub\/linux\/kernel\/people\/paulmck\/perfbook\/perfbook.2011.01.02a.pdf."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/SBAC-PAD.2008.18"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the ACM\/IEEE International Symposium on Microarchitecture (MICRO\u201901)","author":"Rajwar Ravi","unstructured":"Ravi Rajwar and James R. Goodman . 2001. Speculative lock elision: Enabling highly concurrent multithreaded execution . In Proceedings of the ACM\/IEEE International Symposium on Microarchitecture (MICRO\u201901) . 294--305. Ravi Rajwar and James R. Goodman. 2001. Speculative lock elision: Enabling highly concurrent multithreaded execution. In Proceedings of the ACM\/IEEE International Symposium on Microarchitecture (MICRO\u201901). 294--305."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605399"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2003.1261395"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2005.54"},{"key":"e_1_2_1_41_1","volume-title":"January","author":"Renau Jose","year":"2005","unstructured":"Jose Renau , Basilio Fraguela , James Tuck , Wei Liu , Milos Prvulovic , Luis Ceze , Smruti Sarangi , Paul Sack , Karin Strauss , and Pablo Montesinos . 2005. SESC simulator , January 2005 . Retrieved from http:\/\/sesc.sourceforge.net. Jose Renau, Basilio Fraguela, James Tuck, Wei Liu, Milos Prvulovic, Luis Ceze, Smruti Sarangi, Paul Sack, Karin Strauss, and Pablo Montesinos. 2005. SESC simulator, January 2005. Retrieved from http:\/\/sesc.sourceforge.net."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/30350.30377"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2370816.2370836"},{"key":"e_1_2_1_44_1","volume-title":"Integer Hash Function","author":"Wang Thomas","year":"2007","unstructured":"Thomas Wang . 2015. Integer Hash Function , 2007 . Retrieved August 3, 2015 from http:\/\/web.archive.org\/web\/20071223173210http:\/\/www.concentric.net\/Ttwang\/tech\/inthash.htm. Thomas Wang. 2015. Integer Hash Function, 2007. Retrieved August 3, 2015 from http:\/\/web.archive.org\/web\/20071223173210http:\/\/www.concentric.net\/Ttwang\/tech\/inthash.htm."},{"key":"e_1_2_1_45_1","volume-title":"Design Methods for Reactive Systems: Yourdan, Statemate, and the UML","author":"Wieringa Roel","unstructured":"Roel Wieringa . 2003. Design Methods for Reactive Systems: Yourdan, Statemate, and the UML . Morgan Kaufmann Publishers , Boston . Roel Wieringa. 2003. Design Methods for Reactive Systems: Yourdan, Statemate, and the UML. Morgan Kaufmann Publishers, Boston."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2007.346204"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2503210.2503232"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3177962","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3177962","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:02:55Z","timestamp":1750215775000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3177962"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,3,22]]},"references-count":47,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2018,3,31]]}},"alternative-id":["10.1145\/3177962"],"URL":"https:\/\/doi.org\/10.1145\/3177962","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,3,22]]},"assertion":[{"value":"2017-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-03-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}