Performance Tuning Towards a KVM-based Embedded Real-time Virtualization System
文件大小:
287k
资源说明:云计算中的虚拟化技术
虚拟化是云计算中的一个基础组件,因为它提供了众多透明服务,例如实时迁移、高可用性、快速检查点等。虚拟化技术能够将实时操作系统(RTOS)和现成的分时通用目的操作系统(GPOS)进行结合,近来这种结合引起了更多的兴趣。这种结合有潜力提供一个庞大的应用基础,并保证及时地对实时应用做出确定性的响应。然而,仍有一些问题,比如RTOS在虚拟机(VM)上的响应能力、系统性能和CPU资源利用率等。
KVM(内核基于虚拟机)技术
本文提出了一种基于KVM的嵌入式实时虚拟化架构,其中VxWorks和Linux被结合在一起。通过分析和评估KVM对作为客体操作系统的VxWorks的中断响应时间的影响,应用了若干实时性能调整方法在宿主Linux上,我们将展示如何在客体VxWorks上实现亚毫秒级的中断响应延迟。此外,我们还发现当RTOS没有执行实时任务时,优先级调整会导致CPU资源的浪费,因此我们设计了一个动态调度机制——协调度,以提高系统性能。
关键词:KVM、多核、实时、协调度、虚拟化。
KVM的优势及挑战
KVM是一种基于内核的虚拟化解决方案,它通过Linux内核来实现虚拟化功能。KVM支持多种架构的硬件,包括x86、ARM和Power等,并且可以通过QEMU提供对各种硬件的模拟支持。KVM的引入使得在Linux操作系统上运行的虚拟机能够利用硬件虚拟化功能,提高性能和效率。然而,当面对实时系统时,KVM的调度和响应机制可能会带来挑战,特别是当涉及到实时操作系统的虚拟化时,需要精细的调整以满足实时性要求。
嵌入式系统与多核技术
近年来,随着多核技术的引入,嵌入式系统具备了更强的计算能力。这些系统正变得越来越强大,并且能够支持更多复杂的应用。由于多核处理器能够同时执行多个线程,它们在处理并行任务时具有天然的优势。在嵌入式领域,多核技术的应用不仅提升了系统性能,也带来了新的挑战,比如同步、通信和资源分配等问题。
实时虚拟化架构的设计
在设计实时虚拟化架构时,需要考虑到RTOS和GPOS的差异性和互补性。RTOS通常用于需要快速和确定性响应的任务,而GPOS则用于处理更通用和复杂的任务。将两者结合起来,一方面可以利用GPOS提供的强大功能和灵活性,另一方面又能确保对关键实时任务的实时性要求。为了达成这种结合,需要对虚拟化层进行性能调优,以确保RTOS可以及时获得资源和处理能力。
中断响应时间的影响与优化
在虚拟化环境中,中断响应时间是衡量系统实时性能的一个关键指标。一个优秀的实时虚拟化系统应该能够保证即使在虚拟化环境下也能实现快速且可预测的中断响应。在本文中,作者通过多种实时性能调整方法对宿主Linux进行优化,目的是减少客体VxWorks的中断响应延迟,从而达到亚毫秒级的响应能力。
CPU资源利用率与协调度机制
在RTOS不执行实时任务时,对RTOS进行优先级调整可能会导致CPU资源的浪费。为了解决这个问题,作者提出了一个动态调度机制——协调度。该机制可以在RTOS不需要大量资源时,动态地将资源分配给GPOS使用,从而提高整体的系统性能。协调度机制的引入,有助于在保证RTOS实时性的同时,提高CPU资源的利用率。
性能评估与实验结果
通过对SPEC2000和bonnie1.4等标准测试负载进行测试,作者展示了通过CPU屏蔽、优先级调整和协调度等技术优化后的系统架构,实现了更好的实时响应能力和系统性能。这验证了作者提出的基于KVM的嵌入式实时虚拟化架构的有效性,以及所采取的优化措施的实用性。在实验结果中,可以看到该系统架构在应对多核、实时和虚拟化技术结合时的高性能表现。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。
English
