csatblogspotdotcom

Friday, March 14, 2008

读《Measuring CPU Overhead for I/O Processing in the Xen Virtual Machine Monitor》[1]

Measuring CPU Overhead for I/O Processing

in the Xen Virtual Machine Monitor[1]

该文主要在Xen的基础上,介绍了一个轻量级的监控系统,用于测量不同虚拟机的CPU利用率,包括在设备驱动域由I/O操作造成的CPU开销。这些性能研究的目的是针对一组I/O密集型负载量化这些开销并分析之。

传统的监控系统往往对调度程序分配给一个特定虚拟机的CPU时间进行报告。然而,这个方法也许并没有揭示有不同虚拟机引起的“事实上的”CPU利用情况,原因是I/O设备的虚拟化导致了一个这样的模型:数据传输操作涉及额外的系统部件,例如:虚拟机管理器和(或)设备驱动域,于是就有了这篇论文。

Domain0CPU时间可被分为两部分:处理共享同一设备驱动的虚拟机的I/O相关事件所花时间,和“管理”触发这些I/O事件的相应虚拟机所花时间。

作者做了两组关于网络和磁盘I/O的实验,主要是为了评估由Domain0中传输所导致的CPU使用情况。

首先是第一组与Web服务性能相关的实验,这组实验讲的较为详细。在guest domain(客户域)中运行Apache HTTP服务,同时运行发出客户请求的httperf测试工具。httperf以固定频率向服务器发出请求,以此来测量Web服务的请求吞吐率(request throughput)。测量过程中,线性增加httperf的请求速率,直至回复速率平稳且服务达到饱和。

实验使用了5中不同的工作负载,每种对应一个固定大小的文件:1KB10KB30KB50KB70KB。目的就是评估由这5种工作负载所引起的Domain0CPU开销。

每次传输的文件大小不同,瓶颈所在也会不同。1KB的文件大小时,文件多,CPU频繁操作,瓶颈在CPU;而70KB文件大小时,CPU操作随之减少,使瓶颈转移到网络I/O上。

其次是第二组与磁盘I/O传输相关的实验。测了不同文件大小情况下文件的传输时间、磁盘吞吐率、Domain0CPU利用率、内存页交换速率,并分别在两种情况下测了这些数据:虚拟机文件系统使用的是物理磁盘(”raw” disk),虚拟机文件系统作为一个文件系统挂载上去。(使用VMware workstation时,可以选择直接在物理机上安装虚拟机,或使用虚拟的文件系统安装虚拟机)

[1] L. Cherkasova and R. Gardner. Measuring CPU overhead for I/O processing in the Xen virtual machine monitor. In USENIX Annual Technical Conference, Apr 2005.

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home