登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 信息工程 > 正文

基于KVM的半虚拟化IO的性能优化毕业论文

 2021-05-25 09:05  

摘 要

在信息网络化时代的今天,随着云计算技术的逐渐兴起,以本地计算为主的应用模型也跟着在改变。对于计算密集型及I/O密集型的工作负载,传统的半虚拟化I/O实现有两大难题,一种是由退出所带来的网络延迟,这主要是由于客户机与主机之间频繁的上下文的来回切换;其次,当多个客户机同时运行时,这些客户机之间对CPU资源的竞争会导致吞吐量的显著降低。大量的I/O请求操作,若得不到及时的处理,将会导致整个系统性能的急剧下降。

因此,本文的主要工作是:在KVM的半虚拟化环境下,搭建10台客户虚拟机,通过2种优化方案,对来自特定计算型负载下的虚拟机I/O请求,测试并验证系统的I/O性能的提升:第一,通过专用且分离I/O核心,采取轮询的方式减少上下文的来回切换,并实现公平有效地处理多个客户机的I/O请求,即决定何时以及多久来服务每一台客户机;第二,利用减少中断退出的技术,减少I/O关键路径上的退出,以此减轻半虚拟化I/O的性能开销。

关键词:半虚拟化;优化;轮询;减少退出

Abstract

In the era of information networks,with the gradual rise of cloud computing technology, local computing-based application model has also followed the change. For the CPU-bound and I/O intensive workloads, the traditional para-virtual I/O implementation has two major problems, one is the latency mainly caused by the exists, followed by the switches back and forth between guest and the host context. The other is reduction in throughput caused by the competition for CPU resources when multiple guest are running on the host at the same time. A large number of I/O request operations, if not properly handled, will lead to a sharp decline in the performance of the whole system.

The main work of this paper is, on the basis of the KVM based on the para-virtualization, creating 10 guest virtual machines. For the specific computing workloads of the virtual machine I/O request, by using 2 kinds of optimization methods, we have tested and verified the improvement of the system performance: Firstly, by running host functionality on a dedicated and separated core together with Polling to reduce the context switches, we can efficiently and fairly handle I/O requests from multiple guests , which in another words, decides when and for how long to serve each guest. Secondly, taking advantages of ELI to reduce the exits on the I/O path, thus improves the system performance.

Key Words: Para-virtulization; Optimization ; Polling; ELI

目 录

摘 要 I

Abstract II

第一章 绪论 1

1.1 研究目的及意义 1

1.2 国内外研究现状 1

1.2.1 国内研究现状 1

1.2.2 国外研究现状 2

1.3 研究内容 3

第二章 KVM虚拟机I/O机制与性能 5

2.1 Virtio机制简介 5

2.1.1 Virtio模型 5

2.1.2 Vhost机制 5

2.2 半虚拟化I/O性能 7

2.2.1 传统半虚拟化I/O性能 7

2.2.2 基于轮询的半虚拟化I/O 8

2.2.3 基于ELI的半虚拟化I/O 10

2.3 本章小结 11

第三章 KVM虚拟机的搭建与优化 12

3.1 虚拟化环境 12

3.2 创建虚拟机 14

3.3 性能优化 14

3.3.1 创建I/O线程 15

3.3.2 轮询机制 15

3.4 本章小结 15

第四章 测试与分析 18

4.1 测试环境 18

4.1.1 硬件环境 18

4.1.2 软件环境 18

4.1.3 测试工具 18

4.2 测试方案 19

4.3 测试结果 19

4.3.1 原始I/O性能测试数据 19

4.3.2 优化性能测试数据 21

4.3.3 结果分析 22

4.4 本章小结 23

第五章 总结与展望 25

参考文献 26

致 谢 27

第一章 绪论

1.1 研究目的及意义

信息网络时代的今天,每天数以亿计的计算任务在网络上发起,随着云计算的逐渐兴起,以本地计算为主的应用模型也跟着在改变。在云计算的环境下,面对大量的云端资源,如何给用户提供有效地方式来管理云端资源,以及如何为用户提供可靠快速的计算方式,显得尤为重要。

虚拟化技术[1]是构造云基础构架至关重要的技术之一。它通过虚拟机管理程序,隐藏计算平台的真实物理特性,同时通过新的虚拟化层的引入,为用户提供抽象的、统一的、模拟的计算环境(虚拟机),对上一层提供虚拟的系统资源,对下一层实现真实物理资源的管理。因此,虚拟化技术一方面能够减少硬件资源的成本,另一方面又能显著提高系统的工作效率。在云计算日益发展的当今社会,对于虚拟技术的探索,仍意义非凡。

虚拟化技术主要包括半虚拟化以及全虚拟化技术两方面[2],两者的主要区别就是:半虚拟化技术需事先改动客户机操作系统内核来实现宿主底层硬件的共享,全虚拟化则无需对客户机操作系统做任何修正,主机与客户及能直接通过一个Hypervisor模拟底层硬件。半虚拟化的灵活性及兼容性虽不比全虚拟化要好,但通过操作系统与Hypervisor的密切配合,实现了全虚拟化软件方案的性能优势。

根据了解,虚拟化仍需解决几个重要问题:第一,各个虚拟机之间必须能够独立运行,且相互之间性能互不影响;第二,必须适应不同类型的操作系统,以支持不同类型的应用;第三,虚拟化的所带来性能开销必须比较小。一方面,由于客户操作系统是面向所有裸机的普通操作系统,可能存在某些并不适合虚拟化的环境,从而影响系统的I/O性能;另一方能,由于频繁的上下文切换带来的CPU周期的开支浪费,也可能影响虚拟机的I/O性能等[3]

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图