In this proposal, we first investigate a hypervisor-level data caching approach. In this approach, the hypervisor takes over the management for part of the VM memory. It manages the memory as an exclusive cache to avoid double caching. The cache admits data directly from the VM memory to save overhead. We implemented and evaluated the proposed hypervisor exclusive cache. Our current design requires guest OS changes and the prototype implementation is not fully optimized. The future work is to improve the transparency and performance of the current scheme.
Our hypervisor exclusive cache provides a means to trace VM data access pattern. We describe a utilization of the hypervisor exclusive cache in obtaining more complete page miss ratio curve (MRC) of a VM, which in turns guides VM memory allocation with flexible performance isolation constraints. The evaluation results are presented in comparison with VMware ESX server. We plan to further investigate other uses of the hypervisor exclusive cache including hypervisor-level caching and prefetching.
Finally, we illustrate our preliminary thoughts on hypervisor support for data recovery. When employing delayed writes, an OS crash may lose buffered data for delayed writes, resulting in a loss of data durability. Despite the attempt to support data recovery at the OS level, we argue that moving the recovery mechanism out of the OS has certain architectural advantages. Possible challenges are discussed and investigation plan is presented.