半虚拟化框架Virtio的网络请求性能优化
此套毕业设计百度网盘下载地址(金币充值):**** 本内容需购买 ****
技术:Virtio等
摘要:
云计算服务模式中的平台即服务PaaS (Platform as a service)本质上是物理资源的虚拟化,是构建云计算数据中心的基础。虚拟化通常在硬件和应用中增加虚拟层,对云服务的系统性能(比如数据吞吐量、延时和每秒处理事务数)有直接影响。在常用的虚拟化平台KVM中,半虚拟化框架Virtio的网络请求处理过程占用CPU资源最多的场景是I/O请求数据转换时超级调用(hypercall)导致的系统切换,造成性能瓶颈。针对这一问题,本文提出一种前端计时聚合方法FTAM(Front-end Timer Aggregation Method)来降低虚拟层对云服务系统性能的影响。FTAM方法以Virtio网络模块virtio-net为基础,首先将通过virtio-net前端模块的数据进行重要性分类,随后通过计时器的控制进行聚合,然后自适应的传入共享通道,在满足服务目标水平SLO的基础上将多次超级调用的开销减为一次,降低CPU开销,合理的分配资源,从而提升系统性能。
关键词云计算;虚拟化技术;超级调用;网络性能;系统切换
目录:
摘 要 i
Abstract ii
1. 绪论 1
1.1本文研究的背景及意义 1
1.2相关研究的现状 2
1.3研究现状中存在的问题 4
1.4本文的主要研究内容 4
1.5本文论文组织结构 5
1.6本章小结 5
2. 相关技术介绍 7
2.1虚拟化概述 7
2.1.1虚拟化技术原理 7
2.2I/O 虚拟化概述 8
2.2.1CPU 模式切换原理 9
2.2.2I/O 完全虚拟化 10
2.2.3I/O 半虚拟化 11
2.2.4I/O 硬件辅助虚拟化 12
2.3I/O 虚拟化性能优化途径 12
2.3.1I/O 虚拟化开销分析 12
2.3.2简化客户机操作系统 13
2.3.3减小系统切换频率 14
2.3.4降低每次系统切换开销 15
2.4KVM 内核虚拟机 16
2.4.1KVM 虚拟化框架 16
2.4.2KVM 虚拟化方法 17
2.4.3I/O 完全虚拟化实现方式——Qemu/KVM 17
2.4.4I/O 半虚拟化实现方式——Virtio 18
2.5本章小结 20
3. KVM网络I/O 虚拟化性能优化的设计与实现 21
3.1Virtio 网络请求传输重要机制 21
3.1.1Virtio 网络设备寄存器 21
3.1.2数据传输通道——Virtqueue 22
3.1.3数据缓冲区——Vring 23
3.1.4通信机制——Hypercall 25
3.2前端驱动发送网络请求 26
3.2.1流程分析 26
3.2.2瓶颈分析 27
3.2.3AHC 方法及不足 27
3.2.4后端构想 28
3.3FTAM 方法设计 29
3.3.1FTAM前端设计的实现 29
3.4本章小节 32
4. 性能测试与分析 34
4.1实验环境与测试工具 34
4.1.1系统环境 34
4.1.2Netperf 测试工具 34
4.1.3PING 测试工具 35
4.1.4性能指标 36
4.1.5CPU 性能监测工具——vmstat 36
4.2网络I/O 虚拟化性能测试与评估 36
4.2.1批量数据传输基准测试 37
4.2.2缓存时间与网络吞吐性能的关系 37
4.3网络I/O 虚拟化性实验设计 38
4.3.1FTAM方法测试吞吐量 38
4.3.2FTAM方法测试延迟 39
4.3.3FTAM方法测试每秒处理事物帧数 39
4.3.4CPU 利用率 41
4.4本章小结 41
总结 42
参考文献 44
致谢 45
论文字数:36955
包含资料:
截图:
啥也不说了,感谢楼主分享哇!
页:
[1]