{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,31]],"date-time":"2026-01-31T07:51:14Z","timestamp":1769845874339,"version":"3.49.0"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2023,7,19]],"date-time":"2023-07-19T00:00:00Z","timestamp":1689724800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National Science Foundation","award":["SHF-2217395, SHF-2114319, SHF-2114285, CNS-1909099"],"award-info":[{"award-number":["SHF-2217395, SHF-2114319, SHF-2114285, CNS-1909099"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2023,9,30]]},"abstract":"<jats:p>Cache management is important in exploiting locality and reducing data movement. This article studies a new type of programmable cache called the lease cache. By assigning leases, software exerts the primary control on when and how long data stays in the cache. Previous work has shown an optimal solution for an ideal lease cache.<\/jats:p>\n          <jats:p>This article develops and evaluates a set of practical solutions for a physical lease cache emulated in FPGA with the full suite of PolyBench benchmarks. Compared to automatic caching, lease programming can further reduce data movement by 10% to over 60% when the data size is 16 times to 3,000 times the cache size, and the techniques in this article realize over 80% of this potential. Moreover, lease programming can reduce data movement by another 0.8% to 20% after polyhedral locality optimization.<\/jats:p>","DOI":"10.1145\/3600090","type":"journal-article","created":{"date-parts":[[2023,5,31]],"date-time":"2023-05-31T11:24:30Z","timestamp":1685532270000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["Cache Programming for Scientific Loops Using Leases"],"prefix":"10.1145","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-1633-397X","authenticated-orcid":false,"given":"Benjamin","family":"Reber","sequence":"first","affiliation":[{"name":"University of Rochester"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-8105-1851","authenticated-orcid":false,"given":"Matthew","family":"Gould","sequence":"additional","affiliation":[{"name":"Rochester Institute of Technology"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-7063-9009","authenticated-orcid":false,"given":"Alexander H.","family":"Kneipp","sequence":"additional","affiliation":[{"name":"Rochester Institute of Technology"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0715-7313","authenticated-orcid":false,"given":"Fangzhou","family":"Liu","sequence":"additional","affiliation":[{"name":"University of Rochester"}]},{"ORCID":"https:\/\/orcid.org\/0009-0003-6020-2739","authenticated-orcid":false,"given":"Ian","family":"Prechtl","sequence":"additional","affiliation":[{"name":"Rochester Institute of Technology"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4968-6659","authenticated-orcid":false,"given":"Chen","family":"Ding","sequence":"additional","affiliation":[{"name":"University of Rochester"}]},{"ORCID":"https:\/\/orcid.org\/0009-0005-2100-1517","authenticated-orcid":false,"given":"Linlin","family":"Chen","sequence":"additional","affiliation":[{"name":"Rochester Institute of Technology"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-5671-9061","authenticated-orcid":false,"given":"Dorin","family":"Patru","sequence":"additional","affiliation":[{"name":"Rochester Institute of Technology"}]}],"member":"320","published-online":{"date-parts":[[2023,7,19]]},"reference":[{"key":"e_1_3_4_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/3446804.3446842"},{"key":"e_1_3_4_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/2688500.2688512"},{"key":"e_1_3_4_4_2","volume-title":"Compilers: Principles, Techniques, and Tools","author":"Aho Alfred V.","year":"2006","unstructured":"Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2nd ed.). Addison-Wesley."},{"key":"e_1_3_4_5_2","volume-title":"Optimizing Compilers for Modern Architectures: A Dependence-based Approach","author":"Allen Randy","year":"2001","unstructured":"Randy Allen and Ken Kennedy. 2001. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann Publishers."},{"key":"e_1_3_4_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/3158120"},{"key":"e_1_3_4_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2015.7056022"},{"key":"e_1_3_4_8_2","doi-asserted-by":"crossref","first-page":"283","DOI":"10.1007\/978-3-642-11970-5_16","volume-title":"Proceedings of the International Conference on Compiler Construction","volume":"6011","author":"Benabderrahmane Mohamed-Walid","year":"2010","unstructured":"Mohamed-Walid Benabderrahmane, Louis-No\u00ebl Pouchet, Albert Cohen, and C\u00e9dric Bastoul. 2010. The polyhedral model is more widely applicable than you think. In Proceedings of the International Conference on Compiler Construction, Vol. 6011. Springer, 283\u2013303."},{"key":"e_1_3_4_9_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2004.09.004"},{"key":"e_1_3_4_10_2","doi-asserted-by":"crossref","first-page":"101","DOI":"10.1145\/1375581.1375595","volume-title":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","author":"Bondhugula Uday","year":"2008","unstructured":"Uday Bondhugula, Albert Hartono, J. Ramanujam, and P. Sadayappan. 2008. A practical automatic polyhedral parallelizer and locality optimizer. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 101\u2013113."},{"key":"e_1_3_4_11_2","first-page":"150","volume-title":"Proceedings of the International Conference on Supercomputing","author":"Cascaval Calin","year":"2003","unstructured":"Calin Cascaval and David A. Padua. 2003. Estimating cache misses and locality using stack distances. In Proceedings of the International Conference on Supercomputing. 150\u2013159."},{"key":"e_1_3_4_12_2","first-page":"15","volume-title":"Proceedings of the ACM SIGPLAN International Symposium on Memory Management","author":"Chen Dong","year":"2021","unstructured":"Dong Chen, Chen Ding, Fangzhou Liu, Benjamin Reber, Wesley Smith, and Pengcheng Li. 2021. Uniform lease vs. LRU cache: Analysis and evaluation. In Proceedings of the ACM SIGPLAN International Symposium on Memory Management. ACM, 15\u201327."},{"key":"e_1_3_4_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192402"},{"key":"e_1_3_4_14_2","volume-title":"Operating Systems Theory","author":"Jr. Edward G. Coffman","year":"1973","unstructured":"Edward G. Coffman Jr. and Peter J. Denning. 1973. Operating Systems Theory. Prentice-Hall."},{"key":"e_1_3_4_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/363095.363141"},{"issue":"1","key":"e_1_3_4_16_2","article-title":"Working sets past and present","volume":"6","author":"Denning Peter J.","year":"1980","unstructured":"Peter J. Denning. 1980. Working sets past and present. IEEE Trans. Softw. Eng. SE-6, 1 (Jan. 1980).","journal-title":"IEEE Trans. Softw. Eng."},{"key":"e_1_3_4_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/3399709"},{"issue":"1","key":"e_1_3_4_18_2","article-title":"CARL: Compiler Assigned Reference Leasing","volume":"19","author":"Ding Chen","year":"2022","unstructured":"Chen Ding, Dong Chen, Fangzhou Liu, Benjamin Reber, and Wesley Smith. 2022. CARL: Compiler Assigned Reference Leasing. ACM Trans. Archit. Code Optim. 19, 1 (2022), 15:1\u201315:28.","journal-title":"ACM Trans. Archit. Code Optim."},{"key":"e_1_3_4_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2012.43"},{"key":"e_1_3_4_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3109482"},{"key":"e_1_3_4_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.1998.727179"},{"key":"e_1_3_4_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3314221.3314606"},{"key":"e_1_3_4_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3297858.3304067"},{"key":"e_1_3_4_24_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.92.0078"},{"key":"e_1_3_4_25_2","doi-asserted-by":"crossref","first-page":"594","DOI":"10.1145\/3314221.3314646","volume-title":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","author":"Mohammadi Mahdi Soltan","year":"2019","unstructured":"Mahdi Soltan Mohammadi, Tomofumi Yuki, Kazem Cheshmi, Eddie C. Davis, Mary W. Hall, Maryam Mehri Dehnavi, Payal Nandy, Catherine Olschanowsky, Anand Venkat, and Michelle Mills Strout. 2019. Sparse computation data dependence simplification for efficient compiler-generated inspectors. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 594\u2013609."},{"key":"e_1_3_4_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/3385412.3385989"},{"key":"e_1_3_4_27_2","unstructured":"Louis-No\u00ebl Pouchet. 2018. PolyBench\/C 4.0. Retrieved from http:\/\/polybench.sourceforge.net."},{"key":"e_1_3_4_28_2","first-page":"549","volume-title":"Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","author":"Pouchet Louis-No\u00ebl","year":"2011","unstructured":"Louis-No\u00ebl Pouchet, Uday Bondhugula, C\u00e9dric Bastoul, Albert Cohen, J. Ramanujam, P. Sadayappan, and Nicolas Vasilache. 2011. Loop transformations: Convexity, pruning and optimization. In Proceedings of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 549\u2013562."},{"key":"e_1_3_4_29_2","doi-asserted-by":"publisher","DOI":"10.13140\/RG.2.2.24423.60320"},{"key":"e_1_3_4_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/3422575.3422800"},{"key":"e_1_3_4_31_2","volume-title":"Programming Language Pragmatics","author":"Scott Michael L.","year":"2009","unstructured":"Michael L. Scott. 2009. Programming Language Pragmatics (3rd ed.). Morgan Kaufmann Publishers."},{"key":"e_1_3_4_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/12.2208"},{"key":"e_1_3_4_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/2737924.2738003"},{"key":"e_1_3_4_34_2","first-page":"487","volume-title":"Proceedings of the USENIX Annual Technical Conference","author":"Waldspurger Carl A.","year":"2017","unstructured":"Carl A. Waldspurger, Trausti Saemundsson, Irfan Ahmad, and Nohhyun Park. 2017. Cache modeling and optimization using miniature simulations. In Proceedings of the USENIX Annual Technical Conference. 487\u2013498. Retrieved from https:\/\/www.usenix.org\/conference\/atc17\/technical-sessions\/presentation\/waldspurger."},{"key":"e_1_3_4_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2019.00056"},{"key":"e_1_3_4_36_2","volume-title":"The RISC-V Instruction Set Manual: Volume I: User-level ISA","author":"Waterman Andrew","year":"2017","unstructured":"Andrew Waterman and Krste Asanovi\u0107. 2017. The RISC-V Instruction Set Manual: Volume I: User-level ISA. Version 2.2. https:\/\/riscv.org\/wp-content\/uploads\/2017\/05\/riscv-spec-v2.2.pdf."},{"key":"e_1_3_4_37_2","volume-title":"High Performance Compilers for Parallel Computing","author":"Wolfe M. J.","year":"1996","unstructured":"M. J. Wolfe. 1996. High Performance Compilers for Parallel Computing. Addison-Wesley, Redwood City, CA."},{"key":"e_1_3_4_38_2","doi-asserted-by":"publisher","DOI":"10.5555\/353939"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3600090","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3600090","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:36:50Z","timestamp":1750178210000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3600090"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,7,19]]},"references-count":37,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2023,9,30]]}},"alternative-id":["10.1145\/3600090"],"URL":"https:\/\/doi.org\/10.1145\/3600090","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,7,19]]},"assertion":[{"value":"2022-09-20","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-05-05","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-07-19","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}