论文部分内容阅读
随着计算机技术的发展和应用普及,人们对计算需求的关注从提高单台设备的计算能力,转向了计算环境的便捷性、灵活性、高效性、可靠性、易用性、节能性等特性。传统的以计算机硬件为基本计算单元的计算模式越来越难以适应这种多变的计算要求。虚拟机技术通过虚拟机管理器将应用程序与计算机硬件解耦合,使得计算环境的灵活性,可靠性,便捷性等得以极大提高,满足了多样化的计算需求,该技术已经成为构建计算环境的重要手段,得到广泛认可和大量使用。虚拟机管理器的引入,使得资源调度与应用程序需求之间形成语义鸿沟,导致虚拟机在使用中存在一些问题,特别是在实时领域应用受到限制。面临的主要问题包括:低I/O响应延迟需求,实时任务截止时间保障,实时任务运行时间保证,并发应用执行效率保障,多实时虚拟机在多处理器环境下的调度等。目前已有的相关研究存在不少局限性,特别是在多处理器下并发及多实时虚拟机调度方面,还没有高效的调度算法。1)针对虚拟机在实时应用中存在的这些问题,以Xen虚拟机管理器为对象,研究了虚拟机的调度问题。在低I/O响应延迟方面,通过对Credit算法的调度过程研究和形式化分析,确定了CPU密集型虚拟机的最大I/O响应延迟与调度时间片和虚拟机数量的关系,提出动态调度时间片调度思想。基于轮转式调度过程,提出了非一致调度时间片自适应调度算法DTSCredit(Dynamic Time Slice Credit)。该算法采用基本的轮转调度方法,通过I/O行为监测和VCPU数量记录,动态调整PCPU的调度时间片,达到控制调度周期、约束I/O事件响应最大延迟的目的。基于抢占式的调度思想,提出了基于优先抢占的自适应调度时间片算法SACredit(Self-Adapt Credit)。该算法通过抢占式优先级机制为基础,将I/O事件作为抢占触发的依据,使VCPU在任何情况下,能够通过抢占及时进行I/O事件处理。算法中通过调度时间片控制,被抢占VCPU调度恢复,抢占比例资源使用异常处理等手段,实现了CPU密集型应用中虚拟机的低I/O响应延迟。该调度算法可以有效控制虚拟机在CPU密集型应用中I/O事件的响应延迟,提高虚拟机的I/O响应性能,在最大I/O响应延迟方面较现有调度算法具有明显优化。2)以Credit比例分配机制作为资源分配手段,研究了多处理器环境下,并发VCPU同步调度的关键问题,提出了以资源更新为依据的同步排队调度机制,实现了并发虚拟机同步调度算法PSA。该算法较现有Balance-shceduling和UVF(Urgent VCPU First)等并发调度算法,在并发任务运行效率方面具有更好性能。针对并发软实时虚拟机应用,提出了并发软实时虚拟机调度算法PSRTSA(Parallel Soft Real-Time Scheduling Algorithm)。算法通过Non-work-conserving调度模型,引入绝对资源比例预分配机制,利用Credit资源分配作为调度控制依据,实现了并发实时虚拟机调度。满足了并发软实时虚拟机中实时任务执行效率和时间保证。算法的稳定性和资源利用率均优于并发软实时调度算法Poris,特别在系统负载动态变化情况下更具有明显优势。针对并发与非并发实时虚拟机同时运行时的调度问题,以PSRTSA的资源预分配机制为基础,提出了基于Credit预分配的实时虚拟机调度算法SRTA(Soft Real-Time Scheduling Algorithm)。通过细分实时优先级,运行周期的分段式调度,资源分配上限控制等机制,实现了调度原型。算法在支持并发软实时虚拟机调度的同时,支持非并发软实时虚拟机调度,并保证实时任务顺利运行。算法较现有并发虚拟机调度算法,对并发VCPU调度效率有明显提高,同时对非并发实时任务调度具有较好支持能力。3)多处理器上的实时任务调度一直是实时调度领域研究的热点,但针对多实时虚拟机的调度相关研究比较滞后。以实时调度和并发调度思想为基础,提出了针对实时虚拟机调度的Gang Earliest Deadline First(EDF)调度模型。以可调度判定条件的形式化证明为依据,算法通过将虚拟机的并发VCPU按组调度,并基于EDF思想进行动态优先级管理,实现多实时虚拟机调度。通过backfilling机制,将非实时虚拟机VCPU的调度,安排在实时虚拟机调度的间隙,既保证了资源利用率,也保证了非实时虚拟机调度。Xen系统中的GEDF调度算法相关测试,证明了该算法的有效性和可用性。相较现有多处理器的实时虚拟机调度算法,算法不但能够满足多实时虚拟机调度的时限要求,在并发任务运行效率方面也具有明显优势,同时保证系统具有较高的资源利用率。