论文标题:Xen虚拟机存储系统优化
Optimization for Storage System in Xen Virtual Machine
论文作者
论文导师 李善平,论文学位 硕士,论文专业 计算机应用技术
论文单位 浙江大学,点击次数 32,论文页数 84页File Size4696K
2007-05-15论文网 http://www.lw23.com/lunwen_858385797/
Virtual Machine; Xen; performance isolation; fairness; storage QoS; Scheduling algorithm; feedback-based adaptive control
虚拟机管理器(VMM)在软件层实现硬件抽象,将物理资源映射到多个上层客户操作系统中。基于虚拟化的平台布置,比如将Web服务器,应用程序服务器和数据库服务器集合到一台物理计算机上,已经成为一种趋势。因此,实现虚拟机平台上的故障隔离和性能(公平性)保证有着重要的意义。但是,目前虚拟机体系结构下的性能和公平性保证相关的研究很少,而存储子系统方面的研究更为缺乏。本文提出两种提升Xen虚拟机平台存储系统公平性的算法:比例化的CPU分配算法以及基于权重的磁盘调度算法,分析并解决了之前研究没有涉及的问题。本文前两章介绍背景知识和相关研究工作。比例化的CPU调度架构在第三章介绍,而第四章论述了基于权重的磁盘调度算法。论文评估了改良后的系统性能,证明了这两类方法确实能够有效地提升存储系统的公平性表现。比例化的CPU分配算法在系统吞吐量和服务公平性之间做出权衡。论文提出一种系统拥塞分析机制。当CPU资源充分时,算法优先考虑系统吞吐量,允许每个域 (domain)使用他们能获得的CPU资源。但当系统超负荷(CPU利用率超过一定阈值)时,算法使用一套基于回馈的自适应控制系统来保证CPU在各个域之间公平分配(按照权重比例)。论文引入了测量Xen虚拟机的分离设备域(IDD)CPU使用量的“系统监控程序”,设计了一套“控制器”以计算各个域应得的合理的CPU份额。最后,通过布置在内核态的“执行器”实现了CPU份额的公平设置。通过这套方法,系统在满载的时候能保证资源的公平分配,实现在该情况下各请求域性能的“平稳下降”。标准测试工具的分析结果表明该算法较之其他研究工作提供更令人满意的效果。本文还提出了基于权重的磁盘调度算法,解决了XenLinux的CFQ调度算法存在的公平性问题。称为wCFQ-CRR的改良算法,引入了IO权重参数,并将磁盘服务时间作为公平性衡量的标准(取代了原CFQ算法以请求处理数量为公平性度量标准的做法)。同时,新算法将IO处理在一个轮转调度周期中多使用的磁盘时间从下一个调度周期的时间份额中减去,从而实现了各个用户域之间在磁盘服务时间纬度上的公平性保障。另外,当系统中只有一个活动的IO请求域时,时间补偿算法将不被使用,从而最大可能的提升系统的IO吞吐量。通过实验证明,wCFQ-CRR调度算法能较好的解决CFQ算法公平性缺失的问题,同时保持和CFQ算法相近的整体IO吞吐率。
Virtual Machine Monitor (VMM) can provide hardware abstraction that multiplexes physical resources onto multiple upper-layer guest operating systems. There has been a trend towards running services upon virtualization-based platform, such as consolidating web servers, application servers or database servers on the same physical machine. Consequently, providing strong guarantee both in fault containment and performance isolation among contenting virtual machines is of great importance. However, few research activities are conducted in performance guarantee area, especially in storage subsystem of Virtual Machine Monitors.This thesis paper presents two optimizing methods to solve fairness guarantee issues in storage system of Xen Virtual Machine Monitor: proportional CPU allocation and weighted disk service, which have not been properly addressed by previous research work. Background knowledge and related work are introduced in Chapter 1 and 2. Proportional CPU allocation framework is addressed in Chapter 3, and the weighted disk scheduling is presented in Chapter 4. Performance of these two methods is also evaluated, showing that convincing improvement of system fairness status can be achieved.The proportional CPU allocation algorithm strikes a balance between throughput and service fairness. A congestion detection method is proposed. When enough CPU resource is available, throughput takes precedence, making each domain use CPU resource up to their capacity. However, when the system is detected to be overloaded, a feedback-based adaptive control system is launched to make sure that CPU resource is proportionally designated into each domain. The dissertation implements a monitor to measure CPU consumption in Isolation Driver Domain (IDD) of Xen VMM, develops a controller to calculate proper CPU allocation, and deploys a kernel-mode actuator to enforce correct CPU utilization mode. So, graceful degradation can be achieved under CPU pressure. Maximizing IO throughput while maintaining fairness under pressure provides more satisfactory results under standard benchmarks compared with previous work.The dissertation also proposes a weighted disk scheduling algorithm, addressing the problem of lack of performance isolation in the CFQ scheduling algorithm ofXenLinux kernel. Our new scheduling algorithm, wCFQ-CRR, introduces IO weight parameter into CFQ, and replaces request dispatching number with disk service time as the metric of fairness between contenting IO request queues. Overused disk service time is compensated in each following round, providing good service time guarantee between each domain. In addition, compensating is not used when the system has only one active requesting domain, so IO throughput can be boosted under this condition. wCFQ-CRR can achieve better performance isolation than CFQ algorithm and maintain IO throughput close to CFQ as well.
感觉说和不说没区别 就是水的厉害 不愧是砖家 叫兽 |