论文部分内容阅读
随着云计算技术和虚拟化技术的发展,高性能网络成为云计算和数据中心中的重要构成部分。高性能网络虚拟化技术中,以单根I/O虚拟化技术为代表,已经得到了广泛应用。单根I/O虚拟化对比半虚拟化I/O性能优势明显,已经将虚拟化下的网络性能提高到接近峰值的水平。但是,现在的主流硬件虚拟化I/O系统SR-IOV依然存在着可扩展性不高的问题。研究和实验表明,SR-IOV系统的可扩展性问题和网络中断存在这很大的关系。中断虚拟化由于其多次的“陷入和模拟”开销,依旧是单根I/O虚拟化中的主要开销来源。随着网络速度的提高,产生的中断频率也就越高,开销也越来越大。本文对中断流程进行了深入分析,并且为了解决这个问题,提出了一种基于事件驱动的轮询模型来代替传统的中断模式。这个模型通过利用现有系统中存在的系统事件来驱动网络包的收发工作,从而在I/O路径中完全地取消了中断机制以及它带来的开销,同时减少了虚拟中断模式中过多上下文切换带来的缓存污染问题。根据多种多样的事件,本文提出的基于事件驱动的轮询模型可以灵活地并且可控地处理不同的网络环境。在一些系统事件不足的环境中,该系统也具有两种方法来补充不足的事件。该模型可以分别在虚拟机内部和虚拟机监控器中实现。由于本文提出的基于事件的轮询方法几乎没有额外开销,所以系统可以明显地提高单根I/O虚拟化的效率。实验证明了该系统可以获得最多59%的性能提升,以及更好的可扩展性。