ACM Computing Surveys (CSUR)
Third Generation Computer Systems
ACM Computing Surveys (CSUR)
TENEX, a paged time sharing system for the PDP - 10
Communications of the ACM
A study of storage partitioning using a mathematical model of locality
Communications of the ACM
Properties of the working-set model
Communications of the ACM
Sorting in a paging environment
Communications of the ACM
Organizing matrices and matrix operations for paged memory systems
Communications of the ACM
Dynamic space-sharing in computer systems
Communications of the ACM
Resource management for a medium scale time-sharing operating system
Communications of the ACM
The working set model for program behavior
Communications of the ACM
Is automatic “folding” of programs efficient enough to displace manual?
Communications of the ACM
Measurement and analysis of a demand paging Time Sharing System
ACM '69 Proceedings of the 1969 24th national conference
An algorithm for drum storage management in time-sharing systems
SOSP '71 Proceedings of the third ACM symposium on Operating systems principles
Experimental data on how program behavior affects the choice of scheduler parameters
SOSP '71 Proceedings of the third ACM symposium on Operating systems principles
RESOURCE ALLOCATION IN MULTIPROCESS COMPUTER SYSTEMS
RESOURCE ALLOCATION IN MULTIPROCESS COMPUTER SYSTEMS
Equipment Configuration in Balanced Computer Systems
IEEE Transactions on Computers
System design of a computer for time sharing applications
AFIPS '65 (Fall, part I) Proceedings of the November 30--December 1, 1965, fall joint computer conference, part I
Thrashing: its causes and prevention
AFIPS '68 (Fall, part I) Proceedings of the December 9-11, 1968, fall joint computer conference, part I
AFIPS '68 (Fall, part II) Proceedings of the December 9-11, 1968, fall joint computer conference, part II
Program behavior in a paging environment
AFIPS '68 (Fall, part II) Proceedings of the December 9-11, 1968, fall joint computer conference, part II
Virtual memory management in a paging environment
AFIPS '69 (Spring) Proceedings of the May 14-16, 1969, spring joint computer conference
Scheduling TSS/360 for responsiveness
AFIPS '70 (Fall) Proceedings of the November 17-19, 1970, fall joint computer conference
Synchronized Disk Interleaving
IEEE Transactions on Computers
A process cache memory for tightly coupled multiprocessor systems
ACM-SE 30 Proceedings of the 30th annual Southeast regional conference
Creating a wider bus using caching techniques
HPCA '95 Proceedings of the 1st IEEE Symposium on High-Performance Computer Architecture
A Modified Working Set Paging Algorithm
IEEE Transactions on Computers
A General Model for Memory Interference in Multiprocessors
IEEE Transactions on Computers
Dynamic partitioning of the main memory using the working set concept
IBM Journal of Research and Development
PSnAP: accurate synthetic address streams through memory profiles
LCPC'09 Proceedings of the 22nd international conference on Languages and Compilers for Parallel Computing
Hi-index | 0.01 |
This is a paper about the history of the working set model for program behavior. It traces briefly the origins and bases of the idea and some of the results subsequently obtained. The physical context is a hierarchical memory system consisting of a severely limited quantity of main (directly-addressable) storage and an essentially unlimited quantity of secondary (backup) storage. In this context, the intuitive notion of "working information" as the set of words which are (or should be) loaded in main memory at any given time in order that a program may operate efficiently is as old as programming itself. The sharply increased interest in program models since the mid-1960s is a direct consequence of the widening use of virtual memory and multiprogramming techniques, which have shifted the responsibility of memory management from programmers to machines. I am assuming here that the purpose of memory management is ensuring that an active program's working information is present in main memory, and the purpose of a program model is providing a basis for determining a program's working information at a given time and predicting what it will be at a future time.