Geiger
- 20 October 2006
- journal article
- conference paper
- Published by Association for Computing Machinery (ACM) in ACM SIGOPS Operating Systems Review
- Vol. 40 (5), 14-24
- https://doi.org/10.1145/1168917.1168861
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.Keywords
This publication has 12 references indexed in Scilit:
- Empirical evaluation of multi-level buffer cache collaboration for storage systemsPublished by Association for Computing Machinery (ACM) ,2005
- Xen and the art of virtualizationPublished by Association for Computing Machinery (ACM) ,2003
- Information and control in gray-box systemsPublished by Association for Computing Machinery (ACM) ,2001
- DiscoPublished by Association for Computing Machinery (ACM) ,1997
- Informed prefetching and cachingPublished by Association for Computing Machinery (ACM) ,1995
- Hypervisor-based fault tolerancePublished by Association for Computing Machinery (ACM) ,1995
- Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffersPublished by Association for Computing Machinery (ACM) ,1990
- System/370 Extended Architecture: Facilities for Virtual MachinesIBM Journal of Research and Development, 1983
- Survey of virtual machine researchComputer, 1974
- The working set model for program behaviorCommunications of the ACM, 1968