Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Working Set Analytics

Published: 02 February 2021 Publication History
  • Get Citation Alerts
  • Abstract

    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.

    References

    [1]
    A. Aho, P. J. Denning, and J. Ullman. 1971. Principles of optimal page replacement. J. ACM 18, 1 (1971), 80--93.
    [2]
    L. A. Belady. 1966. A study of replacement algorithms for virtual storage computers. IBM Syst. J. 5, 2 (1966), 78--101.
    [3]
    L. A. Belady, R. A. Nelson, and G. S. Schedler. 1969. An anomaly in space-time characteristics of certain programs running in a paging machine. Commun. ACM 12, 6 (1969), 349--353.
    [4]
    J. Brock, C. Ye, C. Ding, Y. Li, X. Wang, and Y. Luo. 2015. Optimal cache partition sharing. In Proceedings of the 44th IEEE International Conference on Parallel Processing. 749--758.
    [5]
    J. P. Buzen. 1976. Fundamental operational laws of computer system performance. Acta Inf. 7, 2 (1976), 167--182.
    [6]
    J. P. Buzen. 2015. Rethinking Randomness.
    [7]
    R. W. Carr and J. Hennessy. 1981. WSCLOCK—A simple and effective algorithm for virtual memory management. In Proceedings of the 8th ACM Symposium on Operating Systems Principles (SOSP’81).
    [8]
    P. J. Denning. 1968. The working set model for program behavior. Commun. ACM 11, 5 (1968), 323--333.
    [9]
    P. J. Denning. 1968. Thrashing: its causes and prevention. In Proceedings of the Fall Joint Computer Conference (FJCC’68), part I.
    [10]
    P. J. Denning and S. C. Schwartz. 1972. Properties of the working set model. Commun. ACM 15, 3 (1972), 191--198.
    [11]
    P. J. Denning and D. L. Slutz. 1978. Generalized working sets for segment reference strings. Commun. ACM 21, 9 (1978), 750--759.
    [12]
    P. J. Denning and J. P. Buzen. 1978. The operational analysis of queueing network models. ACM Comput. Surv. 10, 3 (1978), 225--261.
    [13]
    P. J. Denning. 1980. Working sets past and present. IEEE Trans. Softw. Eng. SE-6, 1 (January 1980), 64--84.
    [14]
    P. J. Denning. 2016. Fifty years of operating systems. Commun. ACM 59, 3 (2016), 30--32.
    [15]
    J. FotheringhamJ. 1961. Dynamic storage allocation in the Atlas computer, including an automatic use of a backing store. Commun. ACM 4, 10 (1961), 435--436.
    [16]
    G. S. Graham. 1976. A Study of Program and Memory Policy Behavior. Ph.D. dissertation, Department of Computer Science, Purdue University.
    [17]
    J. Gray and F. Putzolu. 1985. The 5 Minute Rule for Trading Memory for Disk Accesses. Tandem Corporation Technical Report 86.1.
    [18]
    K. C. Kahn. 1976. Program Behavior and Load Dependent System Performance. Ph.D. dissertation, Department of Computer Science, Purdue University.
    [19]
    T. Kilburn, D. B. G. Edwards, M. J. Lanigan, and F. H. Sumner. 1962. One-level storage system. IRE Trans. Electr. Comput. EC-11, 4 (April), 223--235.
    [20]
    P. Li, C. Pronovost, W. Wilson, B. Tait, J. Zhou, C. Ding, C., and J. Criswell. 2019. Beating OPT with statistical clairvoyance and variable size caching. In Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems, 243--256.
    [21]
    Y. Yuan, C. Ding, W. Smith, P. J. Denning, and Y. Zhang. 2019. A relational theory of locality. ACM Trans. Arch. Code Optim. 16, 3 (2019), 1--26.
    [22]
    A. W. Madison and A. P. Batson. 1976. Characteristics of program localities. Commun. ACM 19, 5 (1976), 285--294.
    [23]
    R. J. Mattson, J. Gecsei, D. R. Slutz, and I. L. Traiger. 1970. Evaluation techniques for storage hierarchies. IBM Syst. J. 9, 2 (1970), 78--117.
    [24]
    A. McMenamin. 2011. Applying Working Set Heuristics to the Linux Kernel. Master's thesis, Birkbeck College, University of London.
    [25]
    B. G. Prieve and R. S. Fabry. 1976. VMIN—An optimal variable-space page replacement algorithm. Commun. ACM 19, 5 (1976), 295--297.
    [26]
    B. Randell and C. J. Kuehner. 1968. Dynamic storage allocation systems. Commun. ACM 11, 5 (1968), 297--306.
    [27]
    D. Sayre. 1969. Is automatic folding of programs efficient enough to displace manual? Commun. ACM 13, 12 (1969), 656--660.
    [28]
    J. R. Spirn and P. J. Denning. 1972. Experiments with program locality. In Proceedings of the American Federation of Information Processing Societies Conference 41 (AFIPS). AFIPS Press.
    [29]
    X. Wang et al. 2015. Optimal footprint symbiosis in shared cache. In Proceedings of the 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing. 412--422.
    [30]
    J. Wires et al. 2014. Characterizing storage workloads with counter stacks. In Proceedings of the USENIX 11th Conference on Operating Systems Design and Implementation, 335--349.
    [31]
    X. Xiaoya, B. Bao, C. Ding, and Y. Gao. 2011. Linear-time modeling of program working set in shared cache. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT’11), 350--360
    [32]
    X. Xiang, C. Ding, H. Luo, and B. Bao: 2013. HOTL: A higher order theory of locality. In Proceedings of the Annual Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’13), 343--356.
    [33]
    X. Hu, X. Wang, L. Zhou, Y. Luo, Z. Wang, C. Ding, and C. Ye. 2018. Fast miss ratio curve modeling for storage cache. ACM Trans. Stor. 14, 2 (2018).
    [34]
    C. Ye, C. Ding, H. Luo, J. Brock, D. Chen, and H. Jin. 2017. Cache exclusivity and sharing: Theory and optimization. ACM Trans. Arch. Code Optim. 14, 4 (2017), 1--26.
    [35]
    L. Yuan, W. Smith, S. Fan, Z. Chen, C. Ding, and Y. Zhang. 2018. Footmark: A new formulation for working set statistics. In Proceedings of the International Workshop on Languages and Compilers for Parallel Computing (October), 61--69. Springer.

    Cited By

    View all
    • (2024)TTLs Matter: Efficient Cache Sizing with TTL-Aware Miss Ratio Curves and Working Set SizesProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650066(387-404)Online publication date: 22-Apr-2024
    • (2023)Cache Programming for Scientific Loops Using LeasesACM Transactions on Architecture and Code Optimization10.1145/360009020:3(1-25)Online publication date: 19-Jul-2023
    • (2023)FIFO can be Better than LRU: the Power of Lazy Promotion and Quick DemotionProceedings of the 19th Workshop on Hot Topics in Operating Systems10.1145/3593856.3595887(70-79)Online publication date: 22-Jun-2023
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Computing Surveys
    ACM Computing Surveys  Volume 53, Issue 6
    Invited Tutorial and Regular Papers
    November 2021
    803 pages
    ISSN:0360-0300
    EISSN:1557-7341
    DOI:10.1145/3441629
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 February 2021
    Accepted: 01 May 2020
    Received: 01 October 2019
    Published in CSUR Volume 53, Issue 6

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Working set
    2. cache
    3. locality
    4. locality principle
    5. memory management
    6. multiprogramming
    7. optimal paging
    8. paging policy
    9. program behavior
    10. thrashing
    11. virtual memory
    12. working set model

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)135
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)TTLs Matter: Efficient Cache Sizing with TTL-Aware Miss Ratio Curves and Working Set SizesProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3650066(387-404)Online publication date: 22-Apr-2024
    • (2023)Cache Programming for Scientific Loops Using LeasesACM Transactions on Architecture and Code Optimization10.1145/360009020:3(1-25)Online publication date: 19-Jul-2023
    • (2023)FIFO can be Better than LRU: the Power of Lazy Promotion and Quick DemotionProceedings of the 19th Workshop on Hot Topics in Operating Systems10.1145/3593856.3595887(70-79)Online publication date: 22-Jun-2023
    • (2023)A machine learning-based optimization approach for pre-copy live virtual machine migrationCluster Computing10.1007/s10586-023-04001-127:2(1293-1312)Online publication date: 9-May-2023
    • (2022)CARL: Compiler Assigned Reference LeasingACM Transactions on Architecture and Code Optimization10.1145/349873019:1(1-28)Online publication date: 17-Mar-2022
    • (undefined)A Machine Learning-Based Optimization Approach for Pre-Copy Live Virtual Machine MigrationSSRN Electronic Journal10.2139/ssrn.4136053

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media