A dynamic clustering strategy in a demand paging environment

U. Pooch
{"title":"A dynamic clustering strategy in a demand paging environment","authors":"U. Pooch","doi":"10.1145/1013610.807296","DOIUrl":null,"url":null,"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.\n 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.\n 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).\n 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.","PeriodicalId":186490,"journal":{"name":"Annual Simulation Symposium","volume":"31 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1976-08-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Annual Simulation Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1013610.807296","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

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.
需求分页环境中的动态集群策略
提出了一种在需求分页虚拟内存环境中,基于问题程序过去的程序行为(即引用字符串模式)动态聚类问题程序页面的算法。该算法的目标是在执行过程中尽量减少页面错误的数量,同时有效地利用内存页帧。时间和引用相关页面的动态集群是在程序执行期间构建的。每当在这个不断变化的环境中出现第i个页面的页面错误时,就会将与第i个页面相关联的集群的页面与当前实际(物理)内存中的页面进行比较。因此,在发生当前页面故障期间,所需的页面以及当前不在物理内存中的任何相关集群页面都被放入内存中。包含不在当前集群中的页面的页帧将返回给内存管理系统。因此,分配给处理程序的物理内存量取决于当时相关集群的大小。对动态聚类策略下程序行为的仿真结果表明,该策略在页面错误和时空积方面都有显著改善。与大多数当前实现的算法(每个问题程序使用固定数量的页帧,即固定分配的分区或区域)相比,该算法每执行一条指令所需的实际页帧更少。该算法,MLMM(修正局部性矩阵模型),是Hedges和Pooch[12]工作的扩展,用于确定固有的程序局部性,以预测独立的动态程序行为,将指令与数据引用分离。此外,弱耦合或松散耦合星系团之间的强度系数用于细化星系团人口,识别星系团过渡,以及指示星系团形成的行为。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信