KVM與Xen和VMware的PK

原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://virtualizing.blog.51cto.com/687668/136544

    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也已經可用了。【sudison注:】現在Xen已經在通過domain 0 pv_ops在解決這個問題了)
    那KVM是怎麼處理的呢?像VMware一樣,I/O是被放到hypervisor的上下文來執行的,所以性能上不會有損害。像Xen一樣,KVM重用了整個Linux I/O協議棧,所以KVM的用戶就自然就獲得了最新的驅動和I/O協議棧的改進。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章