文档介绍:上海交通大学
硕士学位论文
基于Xen体系结构的虚拟机调度算法的研究
姓名:顾振宇
申请学位级别:硕士
专业:计算机应用
指导教师:张申生
20081201
上海交通大学工学硕士学位论文摘要
基于 Xen 体系结构的虚拟机调度算法的研究
摘要
目前系统虚拟化技术在企业中的应用越来越广泛。虚拟化技术主
要有灵活、高效两大优点。通过虚拟化技术,企业可以迅捷地搭建 IT
基础设施,如操作系统,数据库,Web 服务器等;采用虚拟化迁移技
术与对虚拟机硬件的动态调整技术,可以满足当前服务器对硬件资源
的动态变化的需求,从而大大提高了对硬件等资源的分配的灵活性。
通过虚拟化技术,企业可以提高对硬件等资源的利用率,用更少的硬
件资源就可以完成原企业级应用的要求,从而使资源的利用更加高效。
目前也出现了许多的虚拟机技术以及相关的虚拟机应用程序,目前比
较流行的有:VMware, Virtual PC, Xen 等。Xen 是由剑桥大学计算机实
验室系统研究组开发的虚拟机监视器,以其高效性和灵活性而著称。
多任务是 Xen 的关键特性。从外部看来,有多个专用的 Guest 操
作系统在“同时”运行在一台物理机器上。因此,在一段固定的时间
内,Xen 需要在这段时间内的各个 CPU 时间片合理高效地分配给在其
上运行的各个 Guest 操作系统,从而达到了多任务的目的。这个分配
CPU 时间片的算法就是我们通常所说的调度算法。
CPU 调度算法有两大目标,即公平和效率。在 Xen 中使用过的有
Borrowed Virtual Time(BVT)算法、Simple Earliest Deadline First(SEDF)
I
上海交通大学工学硕士学位论文摘要
算法和 Credit 算法。其中 Credit 算法可以较好的完成这两个目标。在
半虚拟化计算环境中,这些调度算法可以从 Guest 操作系统的反馈中
直接获得该 Guest 操作系统的负载情况,从而可以有效地调度这些
Guest 操作系统,达到这些调度算法原本的目标。但是在全虚拟化计算
环境中,Guest 操作系统没有经过任何修改,即使当 CPU 空闲时(即
idle 进程运行时),Guest 操作系统也不会将此消息反馈给 Xen,所以
Xen 无法对全虚拟化下的 Guest 操作系统做出有效的调度。
本文提出一种对 Credit 算法的改进方法。在全虚拟化 Guest 操作
系统中运行一个优先级较低的进程,当该进程运行时,就通过 hypercall
(Xen 为操作系统提供的一种中断方式)的方式通知 Xen。Xen 收到
通知后,将会把该 Guest 操作系统的调度权重降低若干个等级(直到
降至一个预定的阈值);若干个时间片内如果 Xen 未收到该通知,则
逐渐升高该 Guest 操作系统的调度权重(直到升高到系统为 Guest 操
作系统分配的调度权重)。从而更加有效的利用了用来运行 idle 进程的
CPU 时间。
关键词: 虚拟机,Xen,调度算法,全虚拟化
II
上海交通大学硕士学位论文摘要
A Study of Virtual Machine Scheduling Algorithm Based on The
Architecture of Xen
ABSTRACT
System virtualization technology is used more and more in enterprise
application. Virtualization technology has two major advantages: flexibility
and efficiency. The flexibility can be achieved through virtualization
technology: enterprise can quickly build up IT infrastructures (such as
operating system, database, web server, etc.) and satisfy the dynamical
requirement of hardware. The efficiency can be achieved through
virtualization technology: the enterprise can finish the same work in the same