论文部分内容阅读
虚拟机可有效提高资源的使用率,降低系统的管理成本,具有良好的移植性和隔离性,在现代军事、工业及科研等领域广泛使用。然而,伴随网络应用服务的实时性要求逐渐提升,虚拟机上运行的众多应用程序面临更高实时精度的挑战。为保证实时任务在截止时限内成功执行,实时调度算法的研究成为多CPU调度中的热点问题之一。本文介绍了虚拟化技术和KVM的基本原理,概述了实时任务可调度的基本理论知识,重点研究多虚拟机系统实时调度问题,主要内容及创新点包含以下三个方面:第一,普通任务无严格时间参量约束,导致传统任务模型不能详尽描述实时任务执行情况,且单一的处理器资源模型无法适用于多CPU系统资源场景。本文建立实时任务模型和多处理器资源模型,以执行周期和相对截止期等参量描述实时任务的时间约束条件,建立各处理器的CPU轮转周期和可用资源时间等资源约束条件,确立降低实时任务的截止期错失率为优化目标。第二,传统多处理器实时调度算法通过固定调度策略为任务分配CPU资源,无法根据多处理器的使用情况动态分配资源,导致资源利用率低,实时任务的截止期错失率较高。本文提出一种多CPU实时任务调度算法自适应最早截止期优先(Adaptive Earliest Deadline First,A-EDF),所提算法通过比较实时任务所需资源和多处理器的可用资源,根据上层任务利用率动态分配处理器组合,保持负载均衡,按需动态迁移部分紧迫任务,实现系统资源的有效分配和访问。通过在Linux内核中添加litmus补丁,在Linux环境中评估了所提算法的性能。测试表明,与分区最早截止期优先(Partition Earliest Deadline First,P-EDF)调度算法及全局最早截止期优先(Global Earliest Deadline First,G-EDF)调度算法相比,A-EDF可以有效降低实时任务的截止期错失率和提高资源的利用率。第三,传统单一实时调度算法受限于固定调度策略,难以适应新型复杂应用的高实时性要求。本文在组合调度理论基础上,对运行虚拟机的计算机系统进行模块化,建立多层组合调度结构,抽象任务需求接口和资源供给接口,证明在算法可调度条件下任务与资源所需要满足的约束条件。在此基础上得出所提A-EDF算法和传统实时调度算法P-EDF算法及G-EDF算法的任务利用率边界。在基于内核的虚拟机(Kernel-Based Virtual Machine,KVM)环境中评估各组合调度算法的性能。实验结果表明所提组合调度理论分析具有有效性。