免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4074 | 回复: 0
打印 上一主题 下一主题

KVM: I/O 可维护性与性能 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-19 23:14 |只看该作者 |倒序浏览
本帖最后由 虚拟小虫 于 2009-4-19 23:22 编辑

篇文章翻译至KVM的maintainer Avi Kivity的一篇文章. 文中提到了KVM比ESX和Xen优越的一个地方:既能获得很好的性能,又能解决设备驱动的维护问题。还是有一定的道理。
——————
I/O的性能对一个hypervisor而言至关重要。同时,I/O也是一个很大的维护负担,因为有大量需要被支持的硬件设备,大量的I/O协议,高可用性,以及对这些设备的管理。
VMware选择性能,但是把I/O协议栈放到了hypervisor里面。不幸的是, VMware kernel是专有的,那就意味着VMware不得不开发和维护整个协议栈。那将意味着开发速度会减慢,你的硬件可能要等一段时间才会得到VMware的支持。

Xen选择了可维护这条道路,它将所有的I/O操作放到了Linux guest里面,也就是所谓的domain-0里面。重用Linux来做I/O, Xen的维护者就不用重写整个I/O协议栈了。但不幸的是,这样就牺牲了性能:每一个中断都必需经过Xen的调度,才能切换到domain 0, 并且所有的东西都不得不经过一个附加层的映射。

并不是说Xen已经完全解决了可维护性这个问题:Xen domain 0 kernel仍然是古老的Linux 2.6.18(尽管2.6.25也已经可用了。
注:现在Xen已经通过domain 0 pv_ops在解决这个问题了)那KVM是怎么处理的呢?像VMware一样,I/O是被放到hypervisor的上下文来执行的,所以性能上不会有损 害。像Xen一样,KVM重用了整个Linux I/O协议栈,所以KVM的用户就自然就获得了最新的驱动和I/O协议栈的改进。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP