{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,19]],"date-time":"2026-03-19T04:40:41Z","timestamp":1773895241189,"version":"3.50.1"},"reference-count":33,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2021,2,2]],"date-time":"2021-02-02T00:00:00Z","timestamp":1612224000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2021,11,30]]},"abstract":"<jats:p>The working set model for program behavior was invented in 1965. It has stood the test of time in virtual memory management for over 50 years. It is considered the ideal for managing memory in operating systems and caches. Its superior performance was based on the principle of locality, which was discovered at the same time; locality is the observed tendency of programs to use distinct subsets of their pages over extended periods of time. This tutorial traces the development of working set theory from its origins to the present day. We will discuss the principle of locality and its experimental verification. We will show why working set memory management resists thrashing and generates near-optimal system throughput. We will present the powerful, linear-time algorithms for computing working set statistics and applying them to the design of memory systems. We will debunk several myths about locality and the performance of memory systems. We will conclude with a discussion of the application of the working set model in parallel systems, modern shared CPU caches, network edge caches, and inventory and logistics management.<\/jats:p>","DOI":"10.1145\/3399709","type":"journal-article","created":{"date-parts":[[2021,2,2]],"date-time":"2021-02-02T17:15:06Z","timestamp":1612286106000},"page":"1-36","update-policy":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":14,"title":["Working Set Analytics"],"prefix":"10.1145","volume":"53","author":[{"ORCID":"https:\/\/2.zoppoz.workers.dev:443\/https\/orcid.org\/0000-0001-5278-2305","authenticated-orcid":false,"given":"Peter J.","family":"Denning","sequence":"first","affiliation":[{"name":"Naval Postgraduate School, Monterey, California"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,2,2]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/321623.321632"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.52.0078"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/363011.363155"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 44th IEEE International Conference on Parallel Processing. 749--758","author":"Brock J."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00265769"},{"key":"e_1_2_1_6_1","unstructured":"J. P. Buzen. 2015. Rethinking Randomness.  J. P. Buzen. 2015. Rethinking Randomness."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 8th ACM Symposium on Operating Systems Principles (SOSP\u201981)","author":"Carr R. W."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/363095.363141"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1476589.1476705"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/361268.361281"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/359588.359598"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/356733.356735"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1980.230464"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2880150"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/366786.366800"},{"key":"e_1_2_1_17_1","unstructured":"J. Gray and F. Putzolu. 1985. The 5 Minute Rule for Trading Memory for Disk Accesses. Tandem Corporation Technical Report 86.1.  J. Gray and F. Putzolu. 1985. The 5 Minute Rule for Trading Memory for Disk Accesses. Tandem Corporation Technical Report 86.1."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEC.1962.5219356"},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems, 243--256","author":"Li P."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341109"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/360051.360227"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.92.0078"},{"key":"e_1_2_1_24_1","volume-title":"Applying Working Set Heuristics to the Linux Kernel. Master's thesis","author":"McMenamin A."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/360051.360231"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/363095.363138"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/363626.363629"},{"key":"e_1_2_1_28_1","volume-title":"Proceedings of the American Federation of Information Processing Societies Conference 41 (AFIPS). AFIPS Press.","author":"Spirn J. R."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/CCGrid.2015.153"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685075"},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT\u201911)","author":"Xiaoya X."},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the Annual Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS\u201913)","author":"Xiang X."},{"key":"e_1_2_1_33_1","article-title":"Fast miss ratio curve modeling for storage cache","volume":"14","author":"Hu X.","year":"2018","journal-title":"ACM Trans. Stor."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3134437"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the International Workshop on Languages and Compilers for Parallel Computing (October), 61--69","author":"Yuan L."}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/10.1145\/3399709","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/pdf\/10.1145\/3399709","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:38:13Z","timestamp":1750199893000},"score":1,"resource":{"primary":{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/10.1145\/3399709"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,2,2]]},"references-count":33,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2021,11,30]]}},"alternative-id":["10.1145\/3399709"],"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1145\/3399709","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"value":"0360-0300","type":"print"},{"value":"1557-7341","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,2,2]]},"assertion":[{"value":"2019-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-02-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}