{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,13]],"date-time":"2026-05-13T03:46:47Z","timestamp":1778644007890,"version":"3.51.4"},"reference-count":188,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2022,3,24]],"date-time":"2022-03-24T00:00:00Z","timestamp":1648080000000},"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":[[2022,6,30]]},"abstract":"<jats:p>This article introduces the first open-source FPGA-based infrastructure, MetaSys, with a prototype in a RISC-V system, to enable the rapid implementation and evaluation of a wide range of cross-layer techniques in real hardware. Hardware-software cooperative techniques are powerful approaches to improving the performance, quality of service, and security of general-purpose processors. They are, however, typically challenging to rapidly implement and evaluate in real hardware as they require full-stack changes to the hardware, system software, and instruction-set architecture (ISA).<\/jats:p>\n          <jats:p>MetaSys implements a rich hardware-software interface and lightweight metadata support that can be used as a common basis to rapidly implement and evaluate new cross-layer techniques. We demonstrate MetaSys\u2019s versatility and ease-of-use by implementing and evaluating three cross-layer techniques for: (i) prefetching in graph analytics; (ii) bounds checking in memory unsafe languages, and (iii) return address protection in stack frames; each technique requiring only ~100 lines of Chisel code over MetaSys.<\/jats:p>\n          <jats:p>\n            Using MetaSys, we perform the first detailed experimental study to quantify the performance overheads of using a\n            <jats:italic>single<\/jats:italic>\n            metadata management system to enable multiple cross-layer optimizations in CPUs. We identify the key sources of bottlenecks and system inefficiency of a general metadata management system. We design MetaSys to minimize these inefficiencies and provide increased versatility compared to previously proposed metadata systems. Using three use cases and a detailed characterization, we demonstrate that a common metadata management system can be used to efficiently support diverse cross-layer techniques in CPUs. MetaSys is completely and freely available at\n            <jats:ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xlink:href=\"https:\/\/github.com\/CMU-SAFARI\/MetaSys\">https:\/\/github.com\/CMU-SAFARI\/MetaSys<\/jats:ext-link>\n            .\n          <\/jats:p>","DOI":"10.1145\/3505250","type":"journal-article","created":{"date-parts":[[2022,3,25]],"date-time":"2022-03-25T06:51:19Z","timestamp":1648191079000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["MetaSys: A Practical Open-source Metadata Management System to Implement and Evaluate Cross-layer Optimizations"],"prefix":"10.1145","volume":"19","author":[{"given":"Nandita","family":"Vijaykumar","sequence":"first","affiliation":[{"name":"University of Toronto, Toronto, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5333-5726","authenticated-orcid":false,"given":"Ataberk","family":"Olgun","sequence":"additional","affiliation":[{"name":"ETH Zurich, TOBB ETU, Z\u00fcrich, Switzerland, Turkey"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Konstantinos","family":"Kanellopoulos","sequence":"additional","affiliation":[{"name":"ETH Zurich, Z\u00fcrich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"F. Nisa","family":"Bostanci","sequence":"additional","affiliation":[{"name":"ETH Zurich, TOBB ETU, Z\u00fcrich, Switzerland, Turkey"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hasan","family":"Hassan","sequence":"additional","affiliation":[{"name":"ETH Zurich, Z\u00fcrich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mehrshad","family":"Lotfi","sequence":"additional","affiliation":[{"name":"Max Plank Institute, Saarbr\u00fccken, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6967-2735","authenticated-orcid":false,"given":"Phillip B.","family":"Gibbons","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, Pittsburgh, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0075-2312","authenticated-orcid":false,"given":"Onur","family":"Mutlu","sequence":"additional","affiliation":[{"name":"ETH Zurich, Z\u00fcrich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2022,3,24]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/1102120.1102165"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2015.7056046"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694381"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2750386"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/2925426.2926254"},{"key":"e_1_3_2_7_2","volume-title":"Proceedings of the ASPLOS","author":"Ainsworth Sam","unstructured":"Sam Ainsworth et\u00a0al. 2018An event-triggered programmable prefetcher for irregular workloads. In Proceedings of the ASPLOS."},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2003.1238005"},{"key":"e_1_3_2_9_2","unstructured":"Aleph One. 1996. Smashing The Stack For Fun And Profit. Retrieved from https:\/\/inst.eecs.berkeley.edu\/cs161\/fa08\/papers\/stack_smashing.pdf."},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/379240.379251"},{"key":"e_1_3_2_11_2","article-title":"The Rocket Chip Generator","author":"Asanovi\u0107 Krste","year":"2016","unstructured":"Krste Asanovi\u0107 et\u00a0al. 2016. The Rocket Chip Generator. Technical Report: UCB\/EECS-2016-17.","journal-title":"Technical Report: UCB\/EECS-2016-17"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/178243.178446"},{"key":"e_1_3_2_13_2","unstructured":"AVNET. 2021. Zynq-7000 Zedboard. Retrieved from http:\/\/zedboard.org\/product\/zedboard."},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228584"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/125826.125932"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2018.00021"},{"key":"e_1_3_2_17_2","volume-title":"Proceedings of the ATEC","author":"Baratloo Arash","year":"2000","unstructured":"Arash Baratloo et\u00a0al. 2000. Transparent run-time defense against stack smashing attacks. In Proceedings of the ATEC."},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2019.00020"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2019.00051"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.1999.765939"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/3466752.3480114"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3352460.3358325"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2004.09.004"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/3307650.3322207"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/1966913.1966919"},{"key":"e_1_3_2_26_2","volume-title":"Proceedings of the MICRO","author":"Bourgeat Thomas","year":"2009","unstructured":"Thomas Bourgeat et\u00a0al. 2009. MI6: Secure enclaves in a speculative out-of-order processor. In Proceedings of the MICRO."},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/2491894.2466482"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/195473.195579"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/1866307.1866370"},{"key":"e_1_3_2_30_2","volume-title":"Proceedings of the TC","author":"Chen Tien-Fu","year":"1995","unstructured":"Tien-Fu Chen et\u00a0al. 1995. Effective hardware-based data prefetching for high-performance processors. In Proceedings of the TC."},{"key":"e_1_3_2_31_2","volume-title":"Proceedings of the MICRO","author":"Luk Chi-Keung","year":"1998","unstructured":"Chi-Keung Luk et\u00a0al. 1998. Cooperative prefetching: Compiler and hardware support for effective instruction prefetching in modern processors. In Proceedings of the MICRO."},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512554"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/602770.602853"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2007.39"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-71316-6_35"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605427"},{"key":"e_1_3_2_37_2","volume-title":"Proceedings of the USENIX Security","author":"Cowan Crispin","year":"1998","unstructured":"Crispin Cowan et\u00a0al. 1998. StackGuard: Automatic adaptive detection and prevention of buffer-overflow attacks. In Proceedings of the USENIX Security."},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/1187976.1187977"},{"key":"e_1_3_2_39_2","unstructured":"CWE MITRE. 2019. CWE-123: Write-what-where Condition. Retrieved from https:\/\/cwe.mitre.org\/data\/definitions\/123.html."},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/2714576.2714635"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2013.6522311"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451157"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2012.6263925"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346295"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694383"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/2611765.2611773"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134309"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/2901318.2901344"},{"key":"e_1_3_2_49_2","doi-asserted-by":"publisher","DOI":"10.1145\/1736020.1736058"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2009.4798232"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/SecDev.2018.00015"},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISPASS.2007.363741"},{"key":"e_1_3_2_53_2","volume-title":"Proceedings of the 1st JILP Data Prefetching Championship","author":"Ferdman Michael","year":"2009","unstructured":"Michael Ferdman et\u00a0al. 2009. Spatial memory streaming with rotated patterns. In Proceedings of the 1st JILP Data Prefetching Championship."},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1973.5009130"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.1145\/115952.115959"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.1992.697004"},{"key":"e_1_3_2_57_2","unstructured":"Mel Gorman. 2007. Physical Page Allocation. Retrieved from https:\/\/www.kernel.org\/doc\/gorman\/html\/understand\/understand009.html."},{"key":"e_1_3_2_58_2","unstructured":"SAFARI Research Group. 2021. MetaSys. Retrieved from https:\/\/github.com\/CMU-SAFARI\/MetaSys."},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-89740-8_15"},{"key":"e_1_3_2_60_2","volume-title":"Proceedings of the ICML","author":"Hashemi Milad","year":"2018","unstructured":"Milad Hashemi et\u00a0al. 2018. Learning memory access patterns. In Proceedings of the ICML."},{"key":"e_1_3_2_61_2","volume-title":"Proceedings of the USENIX","author":"Hastings Reed","year":"1991","unstructured":"Reed Hastings et\u00a0al. 1991. Purify: Fast detection of memory leaks and access errors. In Proceedings of the USENIX."},{"key":"e_1_3_2_62_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2003.1183549"},{"key":"e_1_3_2_63_2","volume-title":"Proceedings of the CARVV","author":"Huang Bowen","year":"2017","unstructured":"Bowen Huang et\u00a0al. 2017. Labeled RISC-V: A new perspective on software-defined architecture. In Proceedings of the CARVV."},{"key":"e_1_3_2_64_2","unstructured":"Intel. 2019. Control-flow Enforcement Technology Specification. Retrieved from www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/white-papers\/virtualization-enabling-intel-virtualization-technology-features-and-benefits-paper.pdf"},{"key":"e_1_3_2_65_2","doi-asserted-by":"publisher","DOI":"10.1145\/1542275.1542349"},{"key":"e_1_3_2_66_2","doi-asserted-by":"publisher","DOI":"10.1145\/2540708.2540730"},{"key":"e_1_3_2_67_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2001.968607"},{"key":"e_1_3_2_68_2","volume-title":"Proceedings of the ATEC","author":"Jim Trevor","year":"2002","unstructured":"Trevor Jim et\u00a0al. 2002. Cyclone: A safe dialect of C. In Proceedings of the ATEC."},{"key":"e_1_3_2_69_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCD.2017.112"},{"key":"e_1_3_2_70_2","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555806"},{"key":"e_1_3_2_71_2","doi-asserted-by":"publisher","DOI":"10.1145\/264107.264207"},{"key":"e_1_3_2_72_2","volume-title":"Proceedings of the ISCA","author":"Jouppi Norman P.","year":"1990","unstructured":"Norman P. Jouppi. 1990. Improving direct-mapped cache performance by the addition of a small fully associative cache and prefetch buffers. In Proceedings of the ISCA."},{"key":"e_1_3_2_73_2","doi-asserted-by":"publisher","DOI":"10.1145\/3352460.3358286"},{"key":"e_1_3_2_74_2","volume-title":"Proceedings of the HPCA","author":"Karlsson Magnus","year":"2000","unstructured":"Magnus Karlsson et\u00a0al. 2000. A prefetching technique for irregular accesses to linked data structures. In Proceedings of the HPCA."},{"key":"e_1_3_2_75_2","doi-asserted-by":"publisher","DOI":"10.1145\/3316781.3317903"},{"key":"e_1_3_2_76_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2016.7783763"},{"key":"e_1_3_2_77_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.51"},{"key":"e_1_3_2_78_2","doi-asserted-by":"publisher","DOI":"10.1145\/365628.365655"},{"key":"e_1_3_2_79_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-68697-5_9"},{"key":"e_1_3_2_80_2","unstructured":"Clemens Kolbitsch et\u00a0al. 2011. Extending Mondrian Memory Protection. Retrieved from https:\/\/www.sto.nato.int\/publications\/STO%20Meeting%20Proceedings\/RTO-MP-IST-091\/MP-IST-091-10.pdf."},{"key":"e_1_3_2_81_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2018.00018"},{"key":"e_1_3_2_82_2","doi-asserted-by":"publisher","DOI":"10.1145\/3352460.3358280"},{"key":"e_1_3_2_83_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.1998.694794"},{"key":"e_1_3_2_84_2","volume-title":"Proceedings of the OSDI","author":"Kuznetsov Volodymyr","year":"2014","unstructured":"Volodymyr Kuznetsov et\u00a0al. 2014. Code-pointer integrity. In Proceedings of the OSDI."},{"key":"e_1_3_2_85_2","volume-title":"Proceedings of the CCS","author":"Kwon Albert","unstructured":"Albert Kwon et\u00a0al. 2103. Low-fat pointers: Compact encoding and efficient gate-level implementation of fat pointers for spatial safety and capability-based security. In Proceedings of the CCS."},{"key":"e_1_3_2_86_2","doi-asserted-by":"publisher","DOI":"10.5555\/538134"},{"key":"e_1_3_2_87_2","volume-title":"Proceedings of the USENIX Security","author":"Liljestrand Hans","year":"2018","unstructured":"Hans Liljestrand et\u00a0al. 2018. PAC it up: Towards pointer integrity using ARM pointer authentication. In Proceedings of the USENIX Security."},{"key":"e_1_3_2_88_2","doi-asserted-by":"publisher","DOI":"10.1145\/1950365.1950391"},{"key":"e_1_3_2_89_2","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168864"},{"key":"e_1_3_2_90_2","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815988"},{"key":"e_1_3_2_91_2","doi-asserted-by":"publisher","DOI":"10.1145\/1815961.1815987"},{"key":"e_1_3_2_92_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2008.4"},{"key":"e_1_3_2_93_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2014.50"},{"key":"e_1_3_2_94_2","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694382"},{"key":"e_1_3_2_95_2","volume-title":"Proceedings of the Workshop on Architectures and Systems for Big Data","author":"Maas Martin","year":"2016","unstructured":"Martin Maas et\u00a0al. 2016. Grail quest: A new proposal for hardware-assisted garbage collection. In Proceedings of the Workshop on Architectures and Systems for Big Data."},{"key":"e_1_3_2_96_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2018.00022"},{"key":"e_1_3_2_97_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2016.7446101"},{"key":"e_1_3_2_98_2","doi-asserted-by":"publisher","DOI":"10.1145\/2810103.2813676"},{"key":"e_1_3_2_99_2","doi-asserted-by":"publisher","DOI":"10.1145\/3092627.3092629"},{"key":"e_1_3_2_100_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2016.7446087"},{"key":"e_1_3_2_101_2","doi-asserted-by":"publisher","DOI":"10.1145\/3052973.3053014"},{"key":"e_1_3_2_102_2","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2015.23271"},{"key":"e_1_3_2_103_2","unstructured":"Ingo Molnar. 2007. Modular Scheduler Core and Completely Fair Scheduler. Retrieved from https:\/\/web.archive.org\/web\/20070419102054http:\/\/kerneltrap.org\/node\/8059."},{"key":"e_1_3_2_104_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2018.00010"},{"key":"e_1_3_2_105_2","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872363"},{"key":"e_1_3_2_106_2","volume-title":"Proceedings of the MICRO","year":"2011","unstructured":"Muralidhara et\u00a0al. 2011. Reducing memory interference in multicore systems via application-aware memory channel partitioning. In Proceedings of the MICRO."},{"key":"e_1_3_2_107_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2007.21"},{"key":"e_1_3_2_108_2","doi-asserted-by":"publisher","DOI":"10.1145\/1394608.1382128"},{"key":"e_1_3_2_109_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2010.32"},{"key":"e_1_3_2_110_2","doi-asserted-by":"publisher","DOI":"10.1145\/2366231.2337181"},{"key":"e_1_3_2_111_2","volume-title":"Proceedings of the CGO","author":"Nagarakatte Santosh","year":"2014","unstructured":"Santosh Nagarakatte et\u00a0al. 2014. WatchdogLite: Hardware-accelerated compiler-based pointer checking. In Proceedings of the CGO."},{"key":"e_1_3_2_112_2","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542504"},{"key":"e_1_3_2_113_2","doi-asserted-by":"publisher","DOI":"10.1145\/1065887.1065892"},{"key":"e_1_3_2_114_2","doi-asserted-by":"publisher","DOI":"10.1145\/2611354.2611365"},{"key":"e_1_3_2_115_2","doi-asserted-by":"publisher","DOI":"10.1145\/3219617.3219662"},{"key":"e_1_3_2_116_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA45697.2020.00021"},{"key":"e_1_3_2_117_2","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807625"},{"key":"e_1_3_2_118_2","doi-asserted-by":"publisher","DOI":"10.1145\/2464996.2465443"},{"key":"e_1_3_2_119_2","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451137"},{"key":"e_1_3_2_120_2","volume-title":"Proceedings of the AADEBUG","author":"Patil Harish","year":"1995","unstructured":"Harish Patil et\u00a0al. 1995. Efficient run-time monitoring using shadow processing. In Proceedings of the AADEBUG."},{"key":"e_1_3_2_121_2","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2749473"},{"key":"e_1_3_2_122_2","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2749473"},{"key":"e_1_3_2_123_2","article-title":"A Neural Network Memory Prefetcher Using Semantic Locality","author":"Peled Leeor","year":"2018","unstructured":"Leeor Peled et\u00a0al. 2018. A Neural Network Memory Prefetcher Using Semantic Locality. Retrieved from https:\/\/arXiv:1804.00478.","journal-title":"Retrieved from https:\/\/arXiv:1804.00478"},{"key":"e_1_3_2_124_2","doi-asserted-by":"publisher","DOI":"10.1145\/1028176.1006720"},{"key":"e_1_3_2_125_2","unstructured":"Louis Pouchet. 2015. Polybench: The polyhedral benchmark suite. Retrieved from http:\/\/web.cse.ohio-state.edu\/pouchet.2\/software\/polybench\/."},{"key":"e_1_3_2_126_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2014.6835971"},{"key":"e_1_3_2_127_2","doi-asserted-by":"publisher","DOI":"10.1145\/1254766.1254809"},{"key":"e_1_3_2_128_2","doi-asserted-by":"publisher","DOI":"10.1145\/192007.192062"},{"key":"e_1_3_2_129_2","unstructured":"RISC-V. 2019. RISC-V Proxy Kernel. Retrieved from https:\/\/github.com\/riscv\/riscv-pk."},{"key":"e_1_3_2_130_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2018.00066"},{"key":"e_1_3_2_131_2","doi-asserted-by":"publisher","DOI":"10.1145\/201059.201065"},{"key":"e_1_3_2_132_2","doi-asserted-by":"publisher","DOI":"10.1145\/291069.291034"},{"key":"e_1_3_2_133_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.1999.765944"},{"key":"e_1_3_2_134_2","volume-title":"Proceedings of the NDSS","author":"Ruwase Olatunji","year":"2004","unstructured":"Olatunji Ruwase et\u00a0al. 2004. A practical dynamic buffer overflow detector. In Proceedings of the NDSS."},{"key":"e_1_3_2_135_2","doi-asserted-by":"publisher","DOI":"10.1145\/3352460.3358314"},{"key":"e_1_3_2_136_2","doi-asserted-by":"publisher","DOI":"10.1145\/2644808"},{"key":"e_1_3_2_137_2","doi-asserted-by":"publisher","DOI":"10.1145\/2628071.2628083"},{"key":"e_1_3_2_138_2","doi-asserted-by":"publisher","DOI":"10.1109\/INTERACT.2005.7"},{"key":"e_1_3_2_139_2","doi-asserted-by":"publisher","DOI":"10.1145\/2749469.2750379"},{"key":"e_1_3_2_140_2","article-title":"Multi-Lookahead Offset Prefetching","author":"Shakerinava Mehran","year":"2019","unstructured":"Mehran Shakerinava et\u00a0al. 2019. Multi-Lookahead Offset Prefetching. In Proceedings of the 3rd Data Prefetching Championship.","journal-title":"Proceedings of the 3rd Data Prefetching Championship"},{"key":"e_1_3_2_141_2","doi-asserted-by":"publisher","DOI":"10.1145\/2830772.2830793"},{"key":"e_1_3_2_142_2","volume-title":"Proceedings of the NeurIPS","author":"Shi Zhan","year":"2019","unstructured":"Zhan Shi et\u00a0al. 2019. A neural hierarchical sequence model for irregular data prefetching. In Proceedings of the NeurIPS."},{"key":"e_1_3_2_143_2","doi-asserted-by":"publisher","DOI":"10.1145\/3445814.3446752"},{"key":"e_1_3_2_144_2","article-title":"Learning Execution Through Neural Code Fusion","author":"Shi Zhan","year":"2019","unstructured":"Zhan Shi et\u00a0al. 2019. Learning Execution Through Neural Code Fusion. Retrieved from https:\/\/arXiv:1906.07181.","journal-title":"Retrieved from https:\/\/arXiv:1906.07181"},{"key":"e_1_3_2_145_2","unstructured":"Anand Lal Shimpi. 2012. Dual Core\/GT2 Ivy Bridge Die Measured: 121mm2. Retrieved from https:\/\/www.anandtech.com\/show\/5875\/dual-coregt2-ivy-bridge-die-measured-121mm2."},{"key":"e_1_3_2_146_2","doi-asserted-by":"publisher","DOI":"10.1145\/2442516.2442530"},{"key":"e_1_3_2_147_2","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2010.15"},{"key":"e_1_3_2_148_2","doi-asserted-by":"publisher","DOI":"10.1145\/1555754.1555766"},{"key":"e_1_3_2_149_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2006.38"},{"key":"e_1_3_2_150_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2016.9"},{"key":"e_1_3_2_151_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2007.346185"},{"key":"e_1_3_2_152_2","doi-asserted-by":"publisher","DOI":"10.1145\/1519144.1519145"},{"key":"e_1_3_2_153_2","doi-asserted-by":"publisher","DOI":"10.1145\/2830772.2830803"},{"key":"e_1_3_2_154_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2013.6522356"},{"key":"e_1_3_2_155_2","doi-asserted-by":"publisher","DOI":"10.1145\/1024393.1024404"},{"key":"e_1_3_2_156_2","unstructured":"Synopsys. 2021. Synopsys Design Compiler. Retrieved from https:\/\/www.synopsys.com\/support\/training\/rtl-synthesis\/design-compiler-rtl-synthesis.html."},{"key":"e_1_3_2_157_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2013.13"},{"key":"e_1_3_2_158_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA51647.2021.00061"},{"key":"e_1_3_2_159_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-23644-0_7"},{"key":"e_1_3_2_160_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.1995.476816"},{"key":"e_1_3_2_161_2","unstructured":"Arjan van de Ven. 2004. New Security Enhancements in Red Hat Enterprise Linux: v.3 update 3. Retrieved from https:\/\/static.redhat.com\/legacy\/f\/pdf\/rhel\/WHP0006US_Execshield.pdf."},{"key":"e_1_3_2_162_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2007.346205"},{"key":"e_1_3_2_163_2","volume-title":"Enhancing Programmability, Portability, and Performance with Rich Cross-layer Abstractions","author":"Vijaykumar Nandita","year":"2019","unstructured":"Nandita Vijaykumar. 2019. Enhancing Programmability, Portability, and Performance with Rich Cross-layer Abstractions. Ph. D. Dissertation."},{"key":"e_1_3_2_164_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2018.00074"},{"key":"e_1_3_2_165_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2018.00027"},{"key":"e_1_3_2_166_2","volume-title":"Proceedings of the IBM Austin CAS Center for Advanced Studies Conference","author":"Wang Zhenlin","year":"2004","unstructured":"Zhenlin Wang et\u00a0al. 2004. Combining cooperative software\/hardware prefetching and cache replacement. In Proceedings of the IBM Austin CAS Center for Advanced Studies Conference."},{"key":"e_1_3_2_167_2","volume-title":"Proceedings of the PACT","author":"Wang Zhenlin","year":"2002","unstructured":"Zhenlin Wang et\u00a0al. 2002. Using the compiler to improve cache replacement decisions. In Proceedings of the PACT."},{"key":"e_1_3_2_168_2","doi-asserted-by":"publisher","DOI":"10.1145\/3307650.3322229"},{"key":"e_1_3_2_169_2","volume-title":"Proceedings of the USENIX Security","author":"M. Watson Robert N.","year":"2010","unstructured":"Robert N. M. Watson et\u00a0al. 2010. Capsicum: Practical capabilities for UNIX. In Proceedings of the USENIX Security."},{"key":"e_1_3_2_170_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2009.4798239"},{"key":"e_1_3_2_171_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2010.21"},{"key":"e_1_3_2_172_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2005.50"},{"key":"e_1_3_2_173_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-39864-6_26"},{"key":"e_1_3_2_174_2","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605429"},{"key":"e_1_3_2_175_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2014.6853201"},{"key":"e_1_3_2_176_2","doi-asserted-by":"publisher","DOI":"10.1145\/3352460.3358300"},{"key":"e_1_3_2_177_2","doi-asserted-by":"publisher","DOI":"10.1145\/3307650.3322225"},{"key":"e_1_3_2_178_2","doi-asserted-by":"publisher","DOI":"10.1145\/1029894.1029913"},{"key":"e_1_3_2_179_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2018.00042"},{"key":"e_1_3_2_180_2","volume-title":"Proceedings of the LCPC","author":"Yang Hongbo","year":"2003","unstructured":"Hongbo Yang et\u00a0al. 2003. Compiler-assisted cache replacement: Problem formulation and performance evaluation. In Proceedings of the LCPC."},{"key":"e_1_3_2_181_2","doi-asserted-by":"publisher","DOI":"10.1145\/940071.940113"},{"key":"e_1_3_2_182_2","volume-title":"Proceedings of the MICRO","author":"Yu Xiangyao","unstructured":"Xiangyao Yu et\u00a0al. IMP: Indirect memory prefetcher. In Proceedings of the MICRO."},{"key":"e_1_3_2_183_2","volume-title":"Proceedings of the OSDI","author":"Zeldovich Nickolai","year":"2008","unstructured":"Nickolai Zeldovich et\u00a0al. 2008. Hardware enforcement of application security policies using tagged memory. In Proceedings of the OSDI."},{"key":"e_1_3_2_184_2","volume-title":"Proceedings of the OSDI","author":"Zeldovich Nickolai","year":"2008","unstructured":"Nickolai Zeldovich et\u00a0al. 2008. Hardware enforcement of application security policies using tagged memory. In Proceedings of the OSDI."},{"key":"e_1_3_2_185_2","volume-title":"Proceedings of the MEMSYS","author":"Zeng Yuan","year":"2007","unstructured":"Yuan Zeng et\u00a0al. 2007. Long short-term memory based hardware prefetcher: A case study. In Proceedings of the MEMSYS."},{"key":"e_1_3_2_186_2","doi-asserted-by":"publisher","DOI":"10.1145\/3173162.3173197"},{"key":"e_1_3_2_187_2","doi-asserted-by":"publisher","DOI":"10.1145\/3075564.3075570"},{"key":"e_1_3_2_188_2","doi-asserted-by":"publisher","DOI":"10.1145\/859618.859663"},{"key":"e_1_3_2_189_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2007.346191"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3505250","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3505250","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:31:26Z","timestamp":1750188686000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3505250"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,24]]},"references-count":188,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2022,6,30]]}},"alternative-id":["10.1145\/3505250"],"URL":"https:\/\/doi.org\/10.1145\/3505250","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,3,24]]},"assertion":[{"value":"2021-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-03-24","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}