Journal of Frontiers of Computer Science and Technology ›› 2010, Vol. 4 ›› Issue (12): 1073-1088.DOI: 10.3778/j.issn.1673-9418.2010.12.002

• 学术研究 • Previous Articles     Next Articles

Remote Disk Cache for Virtual Machines

CHEN Haogang1, WANG Xiaolin1, WANG Zhenlin2, JIN Xinxin1, WEN Xiang1,LUO Yingwei1+, LI Xiaoming1   

  1. 1. Department of Computer Science and Technology, Peking University, Beijing 100871, China
    2. Michigan Technological University, Michigan 49931-1295, USA
  • Received:1900-01-01 Revised:1900-01-01 Online:2010-12-01 Published:2010-12-01
  • Contact: LUO Yingwei

面向虚拟机的远程磁盘缓存

陈昊罡1, 汪小林1, 王振林2, 靳辛欣1, 温 翔1, 罗英伟1+, 李晓明1   

  1. 1. 北京大学 计算机科学技术系, 北京 100871
    2. 密西根理工大学, 密西根 49931-1295
  • 通讯作者: 罗英伟

Abstract:

Abstract: In virtual machine systems, with the increase in the number of virtual machines and the demands of appli-cations, the main memory is becoming a bottleneck of application performance. To improve paging performance for memory-intensive or I/O-intensive workloads, this paper proposes the remote disk cache (REMOCA), which allows a virtual machine to use the memory resource on other physical machines as its cache between its virtual memory and virtual disk devices. The goal of REMOCA is to reduce disk access, which is much slower than transferring memory pages over modern interconnect networks. As a result, the average disk I/O latency can be improved. REMOCA is implemented within the virtual machine monitor, by intercepting guest events such as page evictions and disk accesses. This design is transparent to the applications, and is compatible with existing techniques like ballooning and ghost buffer. Moreover, a combination of them can provide a more flexible resource management policy. The experimental results show that REMOCA can efficiently alleviate the impact of thrashing behavior, and also significantly improve the performance for real-world I/O-intensive applications.

Key words: virtual machine monitor(VMM), Xen, remote disk cache (REMOCA), memory server

摘要: 在虚拟机(virtual machine)系统中, 随着虚拟机数量和应用程序需求的不断增长, 内存容量已经成为应用程序性能的主要瓶颈。为了提升内存密集型和I/O 密集型程序的页面交换性能, 提出了虚拟机的远程磁盘缓存机制REMOCA, 它允许运行在一台物理主机上的虚拟机将其他物理主机的内存作为其二级磁盘缓存。由于网络传输延迟远远小于磁盘访问, 用网络传输代替磁盘访问就能够有效地降低虚拟机的平均磁盘访问延迟。REMOCA 的目标就要尽可能地减少磁盘访问。REMOCA 运行在虚拟机管理器中, 其基本工作原理是截获并处理虚拟机的页面淘汰、磁盘访问等事件。REMOCA 能够与现有的虚拟机内存管理机制(如气球技术、影子缓存)相结合, 从而提供更加灵活的内存资源管理策略。实验数据表明, REMOCA 能有效地降低页面抖动对虚拟机性能的影响, 并在很大程度上提升虚拟机中I/O 密集型应用的性能。

关键词: 虚拟机管理器, 虚拟机监视器, 远程磁盘缓存, 内存服务器

CLC Number: