半虚拟化框架Virtio的网络请求性能优化
发布时间:2019-04-27 02:57
【摘要】:云计算中的PaaS本质上是物理资源的虚拟化,是构建云计算数据中心的基础。虚拟化是一种资源管理技术,它将底层物理硬件透明化,使用户更有效地使用这些资源。云计算借助虚拟机集群,将物理资源有效整合,实现资源共享,最大化资源利用率。它通常在硬件和应用之间增加虚拟化层,这对云服务的系统性能(比如数据吞吐量、传输延时和每秒处理事务数)有直接影响。在I/O虚拟化方面,传统的方法是使用纯软件模拟的完全虚拟化方式来执行I/O操作,但模拟执行的过程需占用大量CPU资源,效率差。因此半虚拟化方式被提出来,通过前后端驱动主动通信来提高客户机I/O性能。目前常用的虚拟化平台KVM(Kernel-based Virtual Machine,内核虚拟机)采用设备驱动标准框架Virtio来实现半虚拟化。半虚拟化框架Virtio在处理网络请求时,占用CPU资源最多的场景是I/O请求数据转换时,hypercall(超级调用)导致的频繁的系统切换,造成性能瓶颈。针对这一问题,本文基于半虚拟化框架Virtio提出一种双端聚合方法TAM(Two-end Aggregation Method)来降低虚拟层对云服务系统性能的影响。该方法以Virtio网络模块Virtio-net为基础,将通过Virtio-net前端模块的请求聚合,传入共享通道,异步通知后端;Virtio-net后端将共享通道Virtqueue队列描述符列表中的可用请求逐一取出,分别处理后异步通知前端。通过聚合,双端均将原本所需的多次hypercall的开销减少为一次,降低CPU系统切换开销,从而提升系统性能。使用Netperf基准测试程序和Ping模拟真实应用场景进行实验,结果表明:使用双端聚合优化方法TAM的Virtio网络模型,其数据吞吐量和每秒处理事务数相比只优化前端的AHC方法分别提高5.76%和4.3%,延时减少46.2%。
[Abstract]:PaaS in cloud computing is essentially the virtualization of physical resources and the foundation of building cloud computing data center. Virtualization is a resource management technology that makes the underlying physical hardware transparent and allows users to use these resources more efficiently. Cloud computing uses virtual machine cluster to integrate physical resources effectively, realize resource sharing and maximize resource utilization. It usually adds a virtualization layer between hardware and applications, which has a direct impact on the system performance of cloud services, such as data throughput, transmission latency, and the number of transactions processed per second. In the aspect of I / O virtualization, the traditional method is to use the complete virtualization mode of pure software simulation to perform I / O operations. However, the simulation process requires a large amount of CPU resources and is inefficient. Therefore, the semi-virtualization method is proposed to improve the client I / O performance by driving active communication at the front and back end. At present, KVM (Kernel-based Virtual Machine, kernel virtual machine), a common virtualization platform, adopts Virtio (device driver standard framework) to realize semi-virtualization. When the semi-virtualized framework Virtio processes network requests, the scenario where the CPU resource is most occupied is the frequent system switching caused by the, hypercall (super call when I? O requests data conversion), which results in the performance bottleneck. To solve this problem, this paper proposes a two-terminal aggregation method, TAM (Two-end Aggregation Method), based on the semi-virtualized framework Virtio (Two-end Aggregation Method) to reduce the impact of virtual layer on the performance of cloud service systems. Based on the Virtio network module Virtio-net, the method aggregates the request through the Virtio-net front-end module, passes in the shared channel, and notifies the back-end asynchronously. The Virtio-net backend takes out the available requests in the list of shared channel Virtqueue queue descriptors one by one, and separately processes the asynchronous notification front end. By aggregation, the cost of multiple hypercall is reduced to one time, and the switching overhead of CPU system is reduced, thus improving the performance of the system. The Netperf benchmark program and Ping are used to simulate the real application scenario. The results show that the Virtio network model of the two-terminal aggregation optimization method TAM is used. The data throughput and transactions per second are 5.76% and 4.3% higher and the latency is reduced by 46.2% compared with the AHC method which only optimizes the front end.
【学位授予单位】:太原理工大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP3
本文编号:2466631
[Abstract]:PaaS in cloud computing is essentially the virtualization of physical resources and the foundation of building cloud computing data center. Virtualization is a resource management technology that makes the underlying physical hardware transparent and allows users to use these resources more efficiently. Cloud computing uses virtual machine cluster to integrate physical resources effectively, realize resource sharing and maximize resource utilization. It usually adds a virtualization layer between hardware and applications, which has a direct impact on the system performance of cloud services, such as data throughput, transmission latency, and the number of transactions processed per second. In the aspect of I / O virtualization, the traditional method is to use the complete virtualization mode of pure software simulation to perform I / O operations. However, the simulation process requires a large amount of CPU resources and is inefficient. Therefore, the semi-virtualization method is proposed to improve the client I / O performance by driving active communication at the front and back end. At present, KVM (Kernel-based Virtual Machine, kernel virtual machine), a common virtualization platform, adopts Virtio (device driver standard framework) to realize semi-virtualization. When the semi-virtualized framework Virtio processes network requests, the scenario where the CPU resource is most occupied is the frequent system switching caused by the, hypercall (super call when I? O requests data conversion), which results in the performance bottleneck. To solve this problem, this paper proposes a two-terminal aggregation method, TAM (Two-end Aggregation Method), based on the semi-virtualized framework Virtio (Two-end Aggregation Method) to reduce the impact of virtual layer on the performance of cloud service systems. Based on the Virtio network module Virtio-net, the method aggregates the request through the Virtio-net front-end module, passes in the shared channel, and notifies the back-end asynchronously. The Virtio-net backend takes out the available requests in the list of shared channel Virtqueue queue descriptors one by one, and separately processes the asynchronous notification front end. By aggregation, the cost of multiple hypercall is reduced to one time, and the switching overhead of CPU system is reduced, thus improving the performance of the system. The Netperf benchmark program and Ping are used to simulate the real application scenario. The results show that the Virtio network model of the two-terminal aggregation optimization method TAM is used. The data throughput and transactions per second are 5.76% and 4.3% higher and the latency is reduced by 46.2% compared with the AHC method which only optimizes the front end.
【学位授予单位】:太原理工大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP3
【参考文献】
相关期刊论文 前5条
1 郑哲;;一种物流云系统的架构方法[J];电脑编程技巧与维护;2013年22期
2 汤建龙;;CPU虚拟化技术分析和应用[J];沙洲职业工学院学报;2012年04期
3 张彬彬;汪小林;杨亮;赖荣凤;王振林;罗英伟;李晓明;;修改客户操作系统优化KVM虚拟机的I/O性能[J];计算机学报;2010年12期
4 顾振宇;张申生;李晓勇;;Xen中Credit调度算法的优化[J];微型电脑应用;2009年02期
5 李树国,刘诗斌,高德远,樊晓桠;存储器管理部件的研究[J];西北工业大学学报;2000年03期
相关硕士学位论文 前7条
1 程书欣;嵌入式虚拟化环境中I/O性能瓶颈分析与优化[D];上海交通大学;2015年
2 宁峰峰;虚拟化环境下的网络IO性能优化[D];上海交通大学;2014年
3 李家祥;Xen虚拟机网络I/O性能优化研究[D];华中科技大学;2013年
4 张洪素;基于Xen的虚拟交换技术的研究与设计[D];天津大学;2012年
5 刘浩;基于负载均衡的存储架构研究与应用[D];山东大学;2011年
6 赵威;Xen虚拟化网络I/O优化方法[D];华中科技大学;2011年
7 姚远;虚拟机高效设备访问模型设计与实现[D];国防科学技术大学;2010年
,本文编号:2466631
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2466631.html