{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T20:34:44Z","timestamp":1780346084738,"version":"3.54.1"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2023,3,6]],"date-time":"2023-03-06T00:00:00Z","timestamp":1678060800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2023,5,31]]},"abstract":"<jats:p>This article describes the algorithm, implementation, and deployment experience of CacheSack, the admission algorithm for Google datacenter flash caches. CacheSack minimizes the dominant costs of Google\u2019s datacenter flash caches: disk IO and flash footprint. CacheSack partitions cache traffic into disjoint categories, analyzes the observed cache benefit of each subset, and formulates a knapsack problem to assign the optimal admission policy to each subset. Prior to this work, Google datacenter flash cache admission policies were optimized manually, with most caches using the Lazy Adaptive Replacement Cache algorithm. Production experiments showed that CacheSack significantly outperforms the prior static admission policies for a 7.7% improvement of the total cost of ownership, as well as significant improvements in disk reads (9.5% reduction) and flash wearout (17.8% reduction).<\/jats:p>","DOI":"10.1145\/3582014","type":"journal-article","created":{"date-parts":[[2023,1,21]],"date-time":"2023-01-21T11:46:21Z","timestamp":1674301581000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["CacheSack: Theory and Experience of Google\u2019s Admission Optimization for Datacenter Flash Caches"],"prefix":"10.1145","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4337-2288","authenticated-orcid":false,"given":"Tzu-Wei","family":"Yang","sequence":"first","affiliation":[{"name":"Google, Mountain View, CA USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8758-2522","authenticated-orcid":false,"given":"Seth","family":"Pollen","sequence":"additional","affiliation":[{"name":"Google, Madison, WI USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7881-9046","authenticated-orcid":false,"given":"Mustafa","family":"Uysal","sequence":"additional","affiliation":[{"name":"Google, Mountain View, CA USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0913-1459","authenticated-orcid":false,"given":"Arif","family":"Merchant","sequence":"additional","affiliation":[{"name":"Google, Mountain View, CA USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7183-0349","authenticated-orcid":false,"given":"Homer","family":"Wolfmeister","sequence":"additional","affiliation":[{"name":"Google, Madison, WI USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9397-9398","authenticated-orcid":false,"given":"Junaid","family":"Khalid","sequence":"additional","affiliation":[{"name":"Google, Madison, WI USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,3,6]]},"reference":[{"key":"e_1_3_2_2_2","first-page":"91","volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201913)","author":"Albrecht Christoph","year":"2013","unstructured":"Christoph Albrecht, Arif Merchant, Murray Stokely, Muhammad Waliji, Fran\u00e7ois Labelle, Nate Coehlo, Xudong Shi, and C. Eric Schrock. 2013. Janus: Optimal flash provisioning for cloud storage workloads. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201913). USENIX Association, San Jose, CA, 91\u2013102. Retrieved from https:\/\/www.usenix.org\/conference\/atc13\/technical-sessions\/presentation\/albrecht."},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(79)90072-3"},{"key":"e_1_3_2_4_2","unstructured":"Jeff Barr. 2021. AQUA (Advanced Query Accelerator)\u2014A Speed Boost for Your Amazon Redshift Queries. (April2021). Retrieved from https:\/\/aws.amazon.com\/blogs\/aws\/new-aqua-advanced-query-accelerator-for-amazon-redshift\/."},{"key":"e_1_3_2_5_2","first-page":"389","volume-title":"Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201918)","author":"Beckmann Nathan","year":"2018","unstructured":"Nathan Beckmann, Haoxian Chen, and Asaf Cidon. 2018. LHD: Improving cache hit rate by maximizing hit density. In Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201918). USENIX Association, 389\u2013403. Retrieved from https:\/\/www.usenix.org\/conference\/nsdi18\/presentation\/beckmann."},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2017.43"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.52.0078"},{"key":"e_1_3_2_8_2","first-page":"753","volume-title":"Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201920)","author":"Berg Benjamin","year":"2020","unstructured":"Benjamin Berg, Daniel S. Berger, Sara McAllister, Isaac Grosof, Sathya Gunasekar, Jimmy Lu, Michael Uhlar, Jim Carrig, Nathan Beckmann, Mor Harchol-Balter, and Gregory R. Ganger. 2020. The CacheLib caching engine: Design and experiences at scale. In Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201920). USENIX Association, 753\u2013768. Retrieved from https:\/\/www.usenix.org\/conference\/osdi20\/presentation\/berg."},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/3286062.3286082"},{"key":"e_1_3_2_10_2","first-page":"499","volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201917)","author":"Blankstein Aaron","year":"2017","unstructured":"Aaron Blankstein, Siddhartha Sen, and Michael J. Freedman. 2017. Hyperbolic caching: Flexible caching for web applications. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201917). USENIX Association, 499\u2013511. Retrieved from https:\/\/www.usenix.org\/conference\/atc17\/technical-sessions\/presentation\/blankstein."},{"key":"e_1_3_2_11_2","volume-title":"Algorithms for Minimization Without Derivatives","author":"Brent R. P.","year":"1973","unstructured":"R. P. Brent. 1973. Algorithms for Minimization Without Derivatives. Prentice-Hall."},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/1365815.1365816"},{"key":"e_1_3_2_13_2","volume-title":"A Paging Experiment with the Multics System","author":"Corbat\u00f3 F. J.","year":"1968","unstructured":"F. J. Corbat\u00f3. 1968. A Paging Experiment with the Multics System. Massachusetts Institute of Technology. Retrieved from https:\/\/books.google.com\/books?id=5wDQNwAACAAJ."},{"key":"e_1_3_2_14_2","first-page":"261","volume-title":"Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201912)","author":"Corbett James C.","year":"2012","unstructured":"James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson Hsieh, Sebastian Kanthak, Eugene Kogan, Hongyi Li, Alexander Lloyd, Sergey Melnik, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Christopher Taylor, Ruth Wang, and Dale Woodford. 2012. Spanner: Google\u2019s globally distributed database. In Proceedings of the 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201912). USENIX Association, 261\u2013264. Retrieved from https:\/\/www.usenix.org\/conference\/osdi12\/technical-sessions\/presentation\/corbett."},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1287\/opre.5.2.266"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/3149371"},{"key":"e_1_3_2_17_2","first-page":"65","volume-title":"Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201919)","author":"Eisenman Assaf","year":"2019","unstructured":"Assaf Eisenman, Asaf Cidon, Evgenya Pergament, Or Haimovich, Ryan Stutsman, Mohammad Alizadeh, and Sachin Katti. 2019. Flashield: A hybrid key-value cache that controls flash write amplification. In Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201919). USENIX Association, 65\u201378. Retrieved from https:\/\/www.usenix.org\/conference\/nsdi19\/presentation\/eisenman."},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0022-0000(77)80014-7"},{"key":"e_1_3_2_19_2","unstructured":"Alex Gartrell. 2013. McDipper: A key-value cache for Flash storage. (March2013). Retrieved from https:\/\/engineering.fb.com\/2013\/03\/05\/web\/mcdipper-a-key-value-cache-for-flash-storage\/."},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/945445.945450"},{"key":"e_1_3_2_21_2","unstructured":"Dean Hildebrand and Denis Serenyi. 2021. Colossus under the hood: A peek into Google\u2019s scalable storage system. Retrieved from https:\/\/cloud.google.com\/blog\/products\/storage-data-transfer\/a-peek-behind-colossus-googles-file-system."},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/2737832"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2016.17"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/3239164"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC50251.2020.00013"},{"key":"e_1_3_2_26_2","first-page":"6237","volume-title":"Proceedings of the 37th International Conference on Machine Learning (ICML\u201920) (Proceedings of Machine Learning Research)","volume":"119","author":"Liu Evan Zheran","year":"2020","unstructured":"Evan Zheran Liu, Milad Hashemi, Kevin Swersky, Parthasarathy Ranganathan, and Junwhan Ahn. 2020. An imitation learning approach for cache replacement. In Proceedings of the 37th International Conference on Machine Learning (ICML\u201920) (Proceedings of Machine Learning Research), Vol. 119. PMLR, 6237\u20136247. Retrieved from http:\/\/proceedings.mlr.press\/v119\/liu20f.html."},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3477132.3483568"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.5555\/1090694.1090708"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043563"},{"key":"e_1_3_2_30_2","first-page":"12","volume-title":"Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST\u201912)","author":"Min Changwoo","year":"2012","unstructured":"Changwoo Min, Kangnyeon Kim, Hyunjin Cho, Sang-Won Lee, and Young Ik Eom. 2012. SFS: Random write considered harmful in solid state drives. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST\u201912). USENIX Association, 12."},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.5120\/17293-7771"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2006.49"},{"key":"e_1_3_2_33_2","volume-title":"Proceedings of the 7th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage\u201915)","author":"Santana Ricardo","year":"2015","unstructured":"Ricardo Santana, Steven Lyons, Ricardo Koller, Raju Rangaswami, and Jason Liu. 2015. To ARC or not to ARC. In Proceedings of the 7th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage\u201915). USENIX Association. Retrieved from https:\/\/www.usenix.org\/conference\/hotstorage15\/workshop-program\/presentation\/santana."},{"key":"e_1_3_2_34_2","volume-title":"Proceedings of the 5th International Conference on Learning Representations (ICLR\u201917)","author":"Seo Min Joon","year":"2017","unstructured":"Min Joon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hannaneh Hajishirzi. 2017. Bidirectional attention flow for machine comprehension. In Proceedings of the 5th International Conference on Learning Representations (ICLR\u201917). OpenReview.net. Retrieved from https:\/\/openreview.net\/forum?id=HJ0UKP9ge."},{"key":"e_1_3_2_35_2","volume-title":"Proc. VLDB Endow.","author":"Shute Jeff","year":"2013","unstructured":"Jeff Shute, Radek Vingralek, Bart Samwel, Ben Handy, Chad Whipkey, Eric Rollins, Mircea Oancea, Kyle Littlefield, David Menestrina, Stephan Ellner, John Cieslewicz, Ian Rae, Traian Stancescu, and Himani Apte. 2013. F1: A distributed SQL database that scales. Proc. VLDB Endow. 6, 11 (2013)."},{"key":"e_1_3_2_36_2","first-page":"529","volume-title":"Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201920)","author":"Song Zhenyu","year":"2020","unstructured":"Zhenyu Song, Daniel S. Berger, Kai Li, and Wyatt Lloyd. 2020. Learning relaxed belady for content distribution network caching. In Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201920). USENIX Association, 529\u2013544. Retrieved from https:\/\/www.usenix.org\/conference\/nsdi20\/presentation\/song."},{"key":"e_1_3_2_37_2","first-page":"373","volume-title":"Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST\u201915)","author":"Tang Linpeng","year":"2015","unstructured":"Linpeng Tang, Qi Huang, Wyatt Lloyd, Sanjeev Kumar, and Kai Li. 2015. RIPQ: Advanced photo caching on flash for Facebook. In Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST\u201915). USENIX Association, 373\u2013386. Retrieved from https:\/\/www.usenix.org\/conference\/fast15\/technical-sessions\/presentation\/tang."},{"key":"e_1_3_2_38_2","unstructured":"Rajesh Thallam. 2020. BigQuery explained: An overview of BigQuery\u2019s architecture. Retrieved from https:\/\/cloud.google.com\/blog\/products\/data-analytics\/new-blog-series-bigquery-explained-overview."},{"key":"e_1_3_2_39_2","volume-title":"Advances in Neural Information Processing Systems","author":"Vaswani Ashish","year":"2017","unstructured":"Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, \u0141ukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Advances in Neural Information Processing Systems, I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett (Eds.), Vol. 30. Curran Associates, Retrieved from https:\/\/proceedings.neurips.cc\/paper\/2017\/file\/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf."},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.5555\/3277332.3277335"},{"key":"e_1_3_2_41_2","first-page":"487","volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201917)","author":"Waldspurger Carl","year":"2017","unstructured":"Carl Waldspurger, Trausti Saemundsson, Irfan Ahmad, and Nohhyun Park. 2017. Cache modeling and optimization using miniature simulations. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC\u201917). USENIX Association, 487\u2013498. Retrieved from https:\/\/www.usenix.org\/conference\/atc17\/technical-sessions\/presentation\/waldspurger."},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/3225058.3225126"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/2485732.2485743"},{"key":"e_1_3_2_44_2","doi-asserted-by":"crossref","first-page":"350","DOI":"10.1007\/978-981-15-1967-3","volume-title":"Proceedings of Machine Learning and Systems","volume":"3","author":"Zhou Giulio","year":"2021","unstructured":"Giulio Zhou and Martin Maas. 2021. Learning on distributed traces for data center storage systems. In Proceedings of Machine Learning and Systems, A. Smola, A. Dimakis, and I. Stoica (Eds.), Vol. 3. 350\u2013364. Retrieved from https:\/\/proceedings.mlsys.org\/paper\/2021\/file\/82161242827b703e6acf9c726942a1e4-Paper.pdf."},{"key":"e_1_3_2_45_2","unstructured":"Huapeng Zhou Linpeng Tang Qi Huang and Wyatt Lloyd. 2016. The Evolution of Advanced Caching in the Facebook CDN. Retrieved from https:\/\/research.fb.com\/blog\/2016\/04\/the-evolution-of-advanced-caching-in-the-facebook-cdn\/."}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3582014","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3582014","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:46:44Z","timestamp":1750178804000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3582014"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,3,6]]},"references-count":44,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2023,5,31]]}},"alternative-id":["10.1145\/3582014"],"URL":"https:\/\/doi.org\/10.1145\/3582014","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,3,6]]},"assertion":[{"value":"2022-12-20","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-01-09","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-03-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}