论文部分内容阅读
近些年来,计算机科学技术和移动互联网的发展迅速,嵌入式环境下的虚拟化技术,已引起越来越多的关注,成为计算机科学技术领域的热点技术。嵌入式虚拟化监控程序致力于提高效率,而同时由于嵌入式系统需要与物理世界进行频繁的交互,这种交互通常表现为与外界I/O请求的处理,因此I/O虚拟化的性能成为了嵌入式虚拟化技术的重要技术指标。首先,本文介绍了基于KVM的嵌入式虚拟化平台KVM/ARM,以及其半虚拟化驱动程序VirtIO。随后建立了性能模型并进行了实验,并使用这个模型分析了实验结果中的瓶颈的原因。瓶颈产生的原因是因为CPU资源已经饱和,而在这个I/O路径中,频繁的超级调用消耗了大量的CPU资源。在此基础上,本文提出了嵌入式虚拟化环境中网络I/O性能优化的思路和模型。在思路和模型的提出过程中,我们借鉴了中断节制技术,通过缓存I/O请求一定时间再进行超级调用,一次超级调用可以处理多次I/O请求,提高了CPU利用效率进而提高了虚拟化效率,验证和测试了我们的整体优化思路;我们建立了优化模型,通过缓存I/O请求和平衡请求处理延迟设计了超级调用的聚合算法;最后我们给出了具体的实现方式,关键的数据结构,核心函数的设计,以及优化后的网络I/O请求处理流程。最后本章介绍了优化算法的测试与验证过程,包括了实验平台,实验方法以及测试的结果。实验结果表明优化算法对嵌入式虚拟化网络I/O性能提升有着非常明显的作用,对于三种应用场景批量数据传输,高并发读,读写混合,运行6台虚拟机情况下其性能提升的程度分别是121.14%,46.23%和157.42%。我们随后评估了优化算法对网络延迟的影响,从实验结果可以看出,优化算法的平均网络与优化前近似。最后我们对优化算法的作用进行了总结,为今后的工作提供了指导和参考。