Virtual memory management

This thesis studies methods of scheduling, memory management, and load control in a virtual memory computer system. It also studies the problem of modeling virtual memory systems. The work contributes new ideas and techniques in each of these areas. Finally, the thesis compares the two alternative classes--local and global--of virtual memory management policies. In the area of scheduling, a multi-level, load-balancing queue is described; this mechanism is useful for maintaining good response time in interactive systems and for managing a central server in a distributed computer system. In the area of memory management, a new policy, WSCLOCK, is developed; this policy combines the natural load control of the WS (working set) policy and the simplicity and low cost of the CLOCK (approximate global LRU) policy. Two contributions are made in the area of load control. First, a general loading-task/running-task (LT/RT) control alleviates congestion when multiple tasks are newly-activated at the same time. Second, a load control for the global policy CLOCK is presented; this adaptive feedback control uses information collected during the page replacement process to estimate the overall level of main memory commitment and, then, adjusts the multiprogramming level for best performance. This control employs exponentially-smoothed confidence intervals--a statistic that is also developed in the thesis. Models to compare local and gobal memory management policies that are both accurate and efficient have been difficult to construct. The thesis (1) develops a trace-driven model of program behavior that greatly reduces the cost of simulation with a negligible loss of accuracy and (2) constructs a detailed simulation model of multiprogrammed virtual memory systems. The program behavior model is parameterized by measurements of real programs; it reflects the behavior of those programs at a very precise level. The system model is driven by a heterogeneous collection of program models that are typical of many computer systems. The thesis uses the model to make a direct comparison of the WS, CLOCK, and WSCLOCK policies. The study indicates that neither of the classes of memory management policies are inherently superior. Disregarding the time spent executing the algorithms themselves (i.e., operating system overhead) no significant differences in system performance could be detected. On a practical level, CLOCK has considerably less overhead than either WS or WSCLOCK and, thus, represents the best alternative.

[1]  Peter Bryant,et al.  Predicting Working Set Sizes , 1975, IBM J. Res. Dev..

[2]  James B. Morris,et al.  Demand paging through utilization of working sets onr the MANIAC II , 1972, CACM.

[3]  Hassan Gomaa A simulation based model of a virtual storage system , 1979 .

[4]  Edward G. Coffman,et al.  A study of storage partitioning using a mathematical model of locality , 1972, OPSR.

[5]  R.R. Muntz,et al.  Analytic modeling of interactive systems , 1975, Proceedings of the IEEE.

[6]  Donald D. Chamberlin,et al.  An analysis of page allocation strategies for multiprogramming systems with virtual memory , 1973 .

[7]  Kevin Comerford Kahn Program behavior and load dependent system performance. , 1976 .

[8]  Yonathan Bard Experimental Evaluation of System Performance , 1973, IBM Syst. J..

[9]  Igal Adiri,et al.  A Dynamic Time-Sharing Priority Queue , 1971, JACM.

[10]  Peter J. Denning,et al.  The working set model for program behavior , 1968, CACM.

[11]  Peter J. Denning,et al.  The Computation and Use of Optimal Paging Curves , 1975 .

[12]  Erol Gelenbe,et al.  A Unified Approach to the Evaluation of a Class of Replacement Algorithms , 1973, IEEE Transactions on Computers.

[13]  K. Mani Chandy,et al.  Open, Closed, and Mixed Networks of Queues with Different Classes of Customers , 1975, JACM.

[14]  Donald J. Hatfield Experiments on Page Size, Program Access Patterns, and Virtual Memory Performance , 1972, IBM J. Res. Dev..

[15]  Satish K. Tripathi,et al.  The Influence of Multiprogramming Limit on Interactive Response Time in a Virtual Memory System , 1977, Int. CMG Conference.

[16]  Mohamed Z. Ghanem Study of Memory Partitioning for Multiprogramming Systems with Virtual Memory , 1975, IBM J. Res. Dev..

[17]  Alan Jay Smith,et al.  Two Methods for the Efficient Analysis of Memory Address Trace Data , 1977, IEEE Transactions on Software Engineering.

[18]  Saul Stimler,et al.  Some criteria for time-sharing system performance , 1969, CACM.

[19]  Alan Jay Smith Multiprogramming and memory contention , 1980, Softw. Pract. Exp..

[20]  S. J. Morganstein,et al.  Simulation studies of a virtual memory, time-shared, demand paging operating system , 1972, OPSR.

[21]  Jeffrey P. Buzen,et al.  Queueing Network Models of Multiprogramming , 1971, Outstanding Dissertations in the Computer Sciences.

[22]  Robert C. Daley,et al.  An experimental time-sharing system , 1962, AIEE-IRE '62 (Spring).

[23]  Peter J. Denning,et al.  A study of program locality and lifetime functions , 1975, SOSP.

[24]  K. Sreenivasan,et al.  On the construction of a representative synthetic workload , 1974, CACM.

[25]  Richard Y. Kain,et al.  How to evaluate page replacement algorithms , 1975, SOSP.

[26]  D. Bobrow,et al.  TENEX, a paged time sharing system for the PDP - 10 , 1972, CACM.

[27]  Juan Rodriguez-Rosell,et al.  The optimal choice of window sizes for working set dispatching , 1974, SIGMETRICS '74.

[28]  Norman R. Nielsen,et al.  The simulation of time sharing systems , 1967, Commun. ACM.

[29]  Vito Minetti Performance Evaluation of a Batch-time Sharing Computer System Using a Trace Driven Model , 1976, Performance.

[30]  Samuel T. Chanson,et al.  A simulation study of adaptive scheduling policies in interactive computer systems , 1977, WSC '77.

[31]  John H. Howard,et al.  A virtual machine emulator for performance evaluation , 1980, CACM.

[32]  R. S. Fabry,et al.  MIN—an optimal variable-space page replacement algorithm , 1976, CACM.

[33]  Laszlo A. Belady,et al.  Dynamic space-sharing in computer systems , 1969, Commun. ACM.

[34]  Peter J. Denning,et al.  Thrashing: its causes and prevention , 1968, AFIPS Fall Joint Computing Conference.

[35]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[36]  Peter A. Franaszek,et al.  Some Distribution-Free Aspects of Paging Algorithm Performance , 1974, JACM.

[37]  Richard Thomas Simon The modeling of virtual memory systems. , 1979 .

[38]  Yonathan Bard,et al.  Characterization of program paging in a time-sharing environment , 1973 .

[39]  Norman Russell Nielsen The analysis of general purpose computer time-sharing systems , 1966 .

[40]  N. A. Oliver Experimental data on page replacement algorithm , 1899 .

[41]  J. L. Smith,et al.  Comment on multiprogramming under a page on demand strategy , 1970, CACM.

[42]  Dale H. Grit Global LRU Page Replacement in a Multiprogrammed Environment , 1977, Int. CMG Conference.

[43]  S. R. Clark,et al.  Simulation of a paging computer system , 1972, Comput. J..

[44]  Mohamed Z. Ghanem,et al.  Dynamic Partitioning of the Main Memory Using the Working Set Concept , 1975, IBM J. Res. Dev..

[45]  Frank Shi-Kong Yu Modeling the write behavior of computer programs , 1976 .

[46]  F. de P. Hanika,et al.  Introduction to Operating System Design , 1976 .

[47]  Jeffrey R. Spirn,et al.  Distance String Models for Program Behavior , 1976, Computer.

[48]  Gerald S. Shedler,et al.  A model of memory contention in a paging machine , 1972, CACM.

[49]  Leonard Jay Shustek,et al.  Analysis and performance of computer instruction sets , 1978 .

[50]  Dominique Potier Analysis of demand paging policies with swapped working sets , 1977, SOSP '77.

[51]  Yonathan Bard An Analytic Model of the VM/370 System , 1978, IBM J. Res. Dev..

[52]  Edward F. Gehringer,et al.  Run-time characteristics of a simulation model , 1976, ANSS '76.

[53]  Yonathan Bard Application of the Page Survival Index (PSI) to Virtual-Memory System Performance , 1975, IBM J. Res. Dev..