{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T07:39:59Z","timestamp":1740123599667,"version":"3.37.3"},"reference-count":35,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2021,6,2]],"date-time":"2021-06-02T00:00:00Z","timestamp":1622592000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,6,2]],"date-time":"2021-06-02T00:00:00Z","timestamp":1622592000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/501100004359","name":"Vetenskapsr\u00e5det","doi-asserted-by":"publisher","award":["2016-05086"],"award-info":[{"award-number":["2016-05086"]}],"id":[{"id":"10.13039\/501100004359","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100000781","name":"European Research Council","doi-asserted-by":"publisher","award":["819134"],"award-info":[{"award-number":["819134"]}],"id":[{"id":"10.13039\/501100000781","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100014440","name":"Ministerio de Ciencia, Innovaci\u00f3n y Universidades","doi-asserted-by":"publisher","award":["TI2018-098156-B-C53"],"award-info":[{"award-number":["TI2018-098156-B-C53"]}],"id":[{"id":"10.13039\/100014440","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2022,1]]},"DOI":"10.1007\/s11227-021-03897-z","type":"journal-article","created":{"date-parts":[[2021,6,2]],"date-time":"2021-06-02T08:03:06Z","timestamp":1622620986000},"page":"919-944","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Analysing software prefetching opportunities in hardware transactional memory"],"prefix":"10.1007","volume":"78","author":[{"given":"Marina","family":"Shimchenko","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9790-5011","authenticated-orcid":false,"given":"Rub\u00e9n","family":"Titos-Gil","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2337-4369","authenticated-orcid":false,"given":"Ricardo","family":"Fern\u00e1ndez-Pascual","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0935-4078","authenticated-orcid":false,"given":"Manuel E.","family":"Acacio","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8267-0232","authenticated-orcid":false,"given":"Stefanos","family":"Kaxiras","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5757-1064","authenticated-orcid":false,"given":"Alberto","family":"Ros","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8642-2447","authenticated-orcid":false,"given":"Alexandra","family":"Jimborean","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2021,6,2]]},"reference":[{"key":"3897_CR1","doi-asserted-by":"crossref","unstructured":"Ansari M, Khan B, Luj\u00e1n M, Kotselidis C, Kirkham C, Watson I (2010) Improving performance by reducing aborts in hardware transactional memory. In: High Performance Embedded Architectures and Compilers, pp 35\u201349","DOI":"10.1007\/978-3-642-11515-8_5"},{"key":"3897_CR2","doi-asserted-by":"crossref","unstructured":"Ansari M, Luj\u00e1n M, Kotselidis C, Jarvis K, Kirkham C, Watson I (2009) Steal-on-abort: improving transactional memory performance through dynamic transaction reordering. In: Proceedings of the High Performance Embedded Architectures and Compilers, pp 4\u201318","DOI":"10.1007\/978-3-540-92990-1_3"},{"key":"3897_CR3","unstructured":"ARM Ltd Transactional Memory Extension (TME) intrinsics. https:\/\/developer.arm.com\/documentation\/101028\/0011\/Transactional-Memory-Extension--TME--intrinsics"},{"issue":"2","key":"3897_CR4","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2024716.2024718","volume":"39","author":"N Binkert","year":"2011","unstructured":"Binkert N, Beckmann B, Black G, Reinhardt SK, Saidi A, Basu A, Hestness J, Hower DR, Krishna T, Sardashti S, Sen R, Sewell K, Shoaib M, Vaish N, Hill MD, Wood DA (2011) The gem5 simulator. Comput Arch News 39(2):1\u20137","journal-title":"Comput Arch News"},{"key":"3897_CR5","doi-asserted-by":"crossref","unstructured":"Dash A, Demsky B (2010) Automatically generating symbolic prefetches for distributed transactional memories. In: Middleware 2010. Lecture Notes in Computer Science, vol 6452","DOI":"10.1007\/978-3-642-16955-7_18"},{"issue":"8","key":"3897_CR6","doi-asserted-by":"publisher","first-page":"1284","DOI":"10.1109\/TPDS.2011.23","volume":"22","author":"A Dash","year":"2011","unstructured":"Dash A, Demsky B (2011) Integrating caching and prefetching mechanisms in a distributed transactional memory. IEEE Trans Parallel Distrib Syst 22(8):1284\u20131298","journal-title":"IEEE Trans Parallel Distrib Syst"},{"issue":"1","key":"3897_CR7","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3177962","volume":"15","author":"D Dice","year":"2018","unstructured":"Dice D, Herlihy M, Kogan A (2018) Improving parallelism in hardware transactional memory. ACM Trans Arch Code Optim 15(1):1\u201324","journal-title":"ACM Trans Arch Code Optim"},{"key":"3897_CR8","doi-asserted-by":"crossref","unstructured":"Diegues N, Romano P (2014) Time-warp: lightweight abort minimization in transactional memory. In: Proceedings of the Symposium on Principles and Practice of Parallel Programming, pp 167\u2013178","DOI":"10.1145\/2692916.2555259"},{"issue":"3","key":"3897_CR9","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3132036","volume":"35","author":"N Diegues","year":"2017","unstructured":"Diegues N, Romano P, Garbatov S (2017) Seer: probabilistic scheduling for hardware transactional memory. ACM Trans Comput Syst 35(3):1\u201341","journal-title":"ACM Trans Comput Syst"},{"key":"3897_CR10","unstructured":"Dragojevic A, Guerraoui R (2010) Predicting the scalability of an stm. In: 5th ACM SIGPLAN Workshop on Transactional Computing"},{"key":"3897_CR11","doi-asserted-by":"crossref","unstructured":"Harris T, Larus J, Rajwar R (2010) Transactional Memory, 2nd edn. Morgan & Claypool Publishers Series","DOI":"10.2200\/S00272ED1V01Y201006CAC011"},{"key":"3897_CR12","doi-asserted-by":"crossref","unstructured":"Jacobi C, Slegel T, Greiner D (2012) Transactional memory architecture and implementation for IBM system Z. In: Proceedings of the International Symposium on Microarchitecture, pp 25\u201336","DOI":"10.1109\/MICRO.2012.12"},{"key":"3897_CR13","doi-asserted-by":"crossref","unstructured":"Jimborean A, Koukos K, Spiliopoulos V, Black-Schaffer D, Kaxiras S (2014) Fix the code. Don\u2019t tweak the hardware: a new compiler approach to voltage-frequency scaling. In: Proceedings of the International Symposium on Code Generation and Optimization, pp 262\u2013272","DOI":"10.1145\/2544137.2544161"},{"key":"3897_CR14","unstructured":"Koukos K, Ekemark P, Zacharopoulos G, Spiliopoulos V, Kaxiras S, Jimborean A (2016) Daedal decoupled access-execute LLVM tools repository. https:\/\/github.com\/etascale\/daedal"},{"key":"3897_CR15","doi-asserted-by":"crossref","unstructured":"Koukos K, Ekemark P, Zacharopoulos G, Spiliopoulos V, Kaxiras S, Jimborean A (2016) Multiversioned decoupled access-execute: the key to energy-efficient compilation of general-purpose programs. In: Proceedings of the 25th International Conference on Compiler Construction, pp 121\u2013131","DOI":"10.1145\/2892208.2892209"},{"key":"3897_CR16","doi-asserted-by":"crossref","unstructured":"Lattner C, Adve V (2004) LLVM: a compilation framework for lifelong program analysis and transformation. In: Proceedings of the International Symposium on Code Generation and Optimization, pp 75\u201388","DOI":"10.1109\/CGO.2004.1281665"},{"issue":"1","key":"3897_CR17","doi-asserted-by":"publisher","first-page":"8:1","DOI":"10.1147\/JRD.2014.2380199","volume":"59","author":"HQ Le","year":"2015","unstructured":"Le HQ, Guthrie GL, Williams DE, Michael MM, Frey BG, Starke WJ, May C, Odaira R, Nakaike T (2015) Transactional memory support in the IBM POWER8 processor. IBM J Res Dev 59(1):8:1-8:14","journal-title":"IBM J Res Dev"},{"key":"3897_CR18","doi-asserted-by":"crossref","unstructured":"Litz H, Cheriton D, Firoozshahian A, Azizi O, Stevenson JP (2014) Si-TM: reducing transactional memory abort rates through snapshot isolation. In: Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, pp 383\u2013398","DOI":"10.1145\/2541940.2541952"},{"key":"3897_CR19","doi-asserted-by":"crossref","unstructured":"Maldonado W, Marlier P, Felber P, Suissa A, Hendler D, Fedorova A, Lawall JL, Muller G (2009) Scheduling support for transactional memory contention management. In: Proceedings of 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp 79\u201390","DOI":"10.1145\/1837853.1693465"},{"key":"3897_CR20","unstructured":"Minh CC, Chung J, Kozyrakis C, Olukotun K (2009) STAMP: Stanford transactional applications for multi-processing. In: Proceedings of The IEEE International Symposium on Workload Characterization, pp 35\u201346"},{"key":"3897_CR21","doi-asserted-by":"crossref","unstructured":"Moravan MJ, Bobba J, Moore KE, Yen L, Hill MD, Liblit B, Swift MM, Wood DA (2006) Supporting nested transactional memory in LogTM. In: Proceedings of the 12th international conference on Architectural Support for Programming Languages and Operating Systems, pp 359\u2013370","DOI":"10.1145\/1168857.1168902"},{"key":"3897_CR22","doi-asserted-by":"crossref","unstructured":"Nakaike T, Odaira R, Gaudet M, Michael MM, Tomari H (2015) Quantitative comparison of hardware transactional memory for Blue Gene\/Q, zEnterprise EC12, Intel Core, and POWER8. In: Proceedings of the 42nd Annual International Symposium on Computer Architecture, pp 144\u2013157","DOI":"10.1145\/2749469.2750403"},{"key":"3897_CR23","doi-asserted-by":"crossref","unstructured":"Negi A, Armejach A, Cristal A, Unsal OS, Stenstrom P (2012) Transactional prefetching: narrowing the window of contention in hardware transactional memory. In: Proceedings of the 21st international conference on Parallel architectures and compilation techniques, pp 181\u2013190","DOI":"10.1145\/2370816.2370844"},{"key":"3897_CR24","doi-asserted-by":"crossref","unstructured":"Negi A, Walliullah M, Stenstrom P (2010) Lv*: a low complexity lazy versioning htm infrastructure. In: Proceedings of the 25th International Conference on Embeded Computer Systems: Architectures, Modeling, and Simulation, pp 231\u2013240","DOI":"10.1109\/ICSAMOS.2010.5642062"},{"key":"3897_CR25","doi-asserted-by":"crossref","unstructured":"Nguyen D, Pingali K (2017) What scalable programs need from transactional memory. In: Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems, pp 105\u2013118","DOI":"10.1145\/3093315.3037750"},{"key":"3897_CR26","first-page":"271","volume":"2013","author":"C Ritson","year":"2013","unstructured":"Ritson C, Barnes F (2013) An evaluation of intel\u2019s restricted transactional memory for cpas. Commun Process Arch 2013:271\u2013292","journal-title":"Commun Process Arch"},{"key":"3897_CR27","doi-asserted-by":"crossref","unstructured":"Sui Y, Xue J (2016) SVF: interprocedural static value-flow analysis in LLVM. In: Proceedings of the 25th International Conference on Compiler Construction, pp 265\u2013266","DOI":"10.1145\/2892208.2892235"},{"issue":"2","key":"3897_CR28","doi-asserted-by":"publisher","first-page":"107","DOI":"10.1109\/TSE.2014.2302311","volume":"40","author":"Y Sui","year":"2014","unstructured":"Sui Y, Ye D, Xue J (2014) Detecting memory leaks statically with full-sparse value-flow analysis. IEEE Trans Softw Eng 40(2):107\u2013122","journal-title":"IEEE Trans Softw Eng"},{"key":"3897_CR29","doi-asserted-by":"publisher","first-page":"111","DOI":"10.1016\/j.jpdc.2020.06.009","volume":"145","author":"R Titos-Gil","year":"2020","unstructured":"Titos-Gil R, Fern\u00e1ndez-Pascual R, Ros A, Acacio ME (2020) PfTouch: Concurrent page-fault handling for Intel restricted transactional memory. J Parallel Distrib Comput 145:111\u2013123","journal-title":"J Parallel Distrib Comput"},{"key":"3897_CR30","doi-asserted-by":"crossref","unstructured":"Tran KA, Carlson TE, Koukos K, Sj\u00e4lander M, Spiliopoulos V, Kaxiras S, Jimborean A (2017) Clairvoyance: look-ahead compile-time scheduling. In: Proceedings of the 2017 International Symposium on Code Generation and Optimization, pp 171\u2013184","DOI":"10.1109\/CGO.2017.7863738"},{"key":"3897_CR31","doi-asserted-by":"crossref","unstructured":"Wang Q, Su P, Chabbi M, Liu X (2019) Lightweight hardware transactional memory profiling. In: Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming, pp 186\u2013200","DOI":"10.1145\/3293883.3295728"},{"key":"3897_CR32","unstructured":"Weiser M (1981) Program slicing. In: Proceedings of the 5th International Conference on Software Engineering, pp 439\u2013449"},{"key":"3897_CR33","doi-asserted-by":"publisher","first-page":"352","DOI":"10.1109\/TSE.1984.5010248","volume":"10","author":"M Weiser","year":"1984","unstructured":"Weiser M (1984) Program slicing. IEEE Trans Softw Eng 10:352\u2013357","journal-title":"IEEE Trans Softw Eng"},{"key":"3897_CR34","doi-asserted-by":"crossref","unstructured":"Xiang L, Scott ML (2015) Conflict reduction in hardware transactions using advisory locks. In: Proceedings of the Symposium on Parallelism in Algorithms and Architectures, pp 234\u2013243","DOI":"10.1145\/2755573.2755577"},{"key":"3897_CR35","doi-asserted-by":"crossref","unstructured":"Yoo R, Hughes C, Lai K, Rajwar R (2013) Performance evaluation of Intel transactional synchronization extensions for high performance computing. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, pp 1\u201311","DOI":"10.1145\/2503210.2503232"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-021-03897-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s11227-021-03897-z\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-021-03897-z.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,4]],"date-time":"2022-01-04T12:20:32Z","timestamp":1641298832000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s11227-021-03897-z"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,6,2]]},"references-count":35,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2022,1]]}},"alternative-id":["3897"],"URL":"https:\/\/doi.org\/10.1007\/s11227-021-03897-z","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"type":"print","value":"0920-8542"},{"type":"electronic","value":"1573-0484"}],"subject":[],"published":{"date-parts":[[2021,6,2]]},"assertion":[{"value":"13 May 2021","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"2 June 2021","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}