A dynamic clustering strategy in a demand paging environment
- 1 July 1976
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGSIM Simulation Digest
- Vol. 7 (4) , 11-22
- https://doi.org/10.1145/1013610.807296
Abstract
An algorithm is presented which dynamically clusters pages of a problem program based on its past program behavior (i.e. reference string patterns) in a demand paged virtual memory environment. The objective of this algorithm is to minimize the number of page faults during execution, while at the same time use memory page frames efficiently. Dynamic clusters of time and reference related pages are built during a program's execution time. Whenever a page fault for the i-th page occurs in this time evolving environment, the pages of the cluster associated with the i-th page is compared to the pages currently in real (physical) memory. Thus during this current page fault, the demanded page, and any associated clustered pages not currently in physical memory are placed into memory. Page frames holding pages not in the current cluster are returned to the memory management system. Thus the physical amount of memory allocated to a processing program is dependent upon the size of the associated cluster at that time . Simulation results of program behavior operating under this dynamic clustering strategy indicates that significant improvements in page faults and in the space time product may be achieved. The algorithm requires fewer real page frames per executed instruction than most currently implemented algorithms that utilize a fixed number of page frames per problem programs (i.e. fixed allocated partition or region). The algorithm, MLMM (Modified Locality Matrix Model), an extension of work by Hedges and Pooch [12] is used to determine inherent program locality to predict independent dynamic program behavior, separating instruction from data references. Furthermore, strength coefficients between weakly or loosely coupled clusters are used to refine the cluster population, identify cluster transitions, as well as indicate the behavior of the cluster formations.Keywords
This publication has 6 references indexed in Scilit:
- A measure for program locality in demand pagingPublished by Association for Computing Machinery (ACM) ,1975
- Locality in Page Reference StringsSIAM Journal on Computing, 1972
- Principles of Optimal Page ReplacementJournal of the ACM, 1971
- Virtual MemoryACM Computing Surveys, 1970
- The working set model for program behaviorCommunications of the ACM, 1968
- A study of replacement algorithms for a virtual-storage computerIBM Systems Journal, 1966