Geiger: monitoring the buffer cache in a virtual machine environment

ASPLOS XII Pub Date : 2006-10-23 DOI:10.1145/1168857.1168861
Stephen T. Jones, A. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau
{"title":"Geiger: monitoring the buffer cache in a virtual machine environment","authors":"Stephen T. Jones, A. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau","doi":"10.1145/1168857.1168861","DOIUrl":null,"url":null,"abstract":"Virtualization is increasingly being used to address server management and administration issues like flexible resource allocation, service isolation and workload migration. In a virtualized environment, the virtual machine monitor (VMM) is the primary resource manager and is an attractive target for implementing system features like scheduling, caching, and monitoring. However, the lackof runtime information within the VMM about guest operating systems, sometimes called the semantic gap, is a significant obstacle to efficiently implementing some kinds of services.In this paper we explore techniques that can be used by a VMM to passively infer useful information about a guest operating system's unified buffer cache and virtual memory system. We have created a prototype implementation of these techniques inside the Xen VMM called Geiger and show that it can accurately infer when pages are inserted into and evicted from a system's buffer cache. We explore several nuances involved in passively implementing eviction detection that have not previously been addressed, such as the importance of tracking disk block liveness, the effect of file system journaling, and the importance of accounting for the unified caches found in modern operating systems.Using case studies we show that the information provided by Geiger enables a VMM to implement useful VMM-level services. We implement a novel working set size estimator which allows the VMM to make more informed memory allocation decisions. We also show that a VMM can be used to drastically improve the hit rate in remote storage caches by using eviction-based cache placement without modifying the application or operating system storage interface. Both case studies hint at a future where inference techniques enable a broad new class of VMM-level functionality.","PeriodicalId":270694,"journal":{"name":"ASPLOS XII","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"184","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ASPLOS XII","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1168857.1168861","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 184

Abstract

Virtualization is increasingly being used to address server management and administration issues like flexible resource allocation, service isolation and workload migration. In a virtualized environment, the virtual machine monitor (VMM) is the primary resource manager and is an attractive target for implementing system features like scheduling, caching, and monitoring. However, the lackof runtime information within the VMM about guest operating systems, sometimes called the semantic gap, is a significant obstacle to efficiently implementing some kinds of services.In this paper we explore techniques that can be used by a VMM to passively infer useful information about a guest operating system's unified buffer cache and virtual memory system. We have created a prototype implementation of these techniques inside the Xen VMM called Geiger and show that it can accurately infer when pages are inserted into and evicted from a system's buffer cache. We explore several nuances involved in passively implementing eviction detection that have not previously been addressed, such as the importance of tracking disk block liveness, the effect of file system journaling, and the importance of accounting for the unified caches found in modern operating systems.Using case studies we show that the information provided by Geiger enables a VMM to implement useful VMM-level services. We implement a novel working set size estimator which allows the VMM to make more informed memory allocation decisions. We also show that a VMM can be used to drastically improve the hit rate in remote storage caches by using eviction-based cache placement without modifying the application or operating system storage interface. Both case studies hint at a future where inference techniques enable a broad new class of VMM-level functionality.
盖革:监视虚拟机环境中的缓冲区缓存
虚拟化越来越多地用于解决服务器管理和管理问题,如灵活的资源分配、服务隔离和工作负载迁移。在虚拟化环境中,虚拟机监视器(VMM)是主要的资源管理器,是实现调度、缓存和监视等系统特性的理想目标。然而,VMM中缺乏关于客户机操作系统的运行时信息(有时称为语义缺口)是有效实现某些类型服务的一个重大障碍。在本文中,我们探讨了VMM可以用来被动地推断有关客户机操作系统的统一缓冲区缓存和虚拟内存系统的有用信息的技术。我们在Xen VMM中创建了一个名为Geiger的这些技术的原型实现,并展示了它可以准确地推断页面何时被插入到系统的缓冲区缓存中,何时被从缓冲区缓存中取出。我们探讨了被动实现退出检测所涉及的几个以前没有解决的细微差别,例如跟踪磁盘块活动的重要性,文件系统日志记录的影响,以及考虑现代操作系统中发现的统一缓存的重要性。通过案例研究,我们展示了Geiger提供的信息使VMM能够实现有用的VMM级服务。我们实现了一个新颖的工作集大小估计器,它允许VMM做出更明智的内存分配决策。我们还展示了VMM可以在不修改应用程序或操作系统存储接口的情况下,通过使用基于驱逐的缓存放置来大幅提高远程存储缓存中的命中率。这两个案例研究都暗示了一个未来,推理技术将支持广泛的新型vmm级功能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信