vhost架构

kvm

qemu

通过在host上创建一个tap字符设备,kvm-qemu打开这个字符设备进行读写

virtio

QEMU模拟I/O设备的基本原理
当客户机的设备驱动程序(Device Driver)发起I/O请求时,KVM模块中的I/O操作捕获代码会拦截这次I/O请求,然后经过处理后将本次I/O请求的信息存放到I/O共享页(sharing page),并通知用户控件的QEMU程序。QEMU模拟程序获得I/O操作的具体信息后,交给硬件模拟代码(Emulation Code)来模拟出本次的I/O操作,完成后把结果放回I/O共享页中,并通知KVM模块中的I/O操作捕获代码。最后由KVM模块中的捕获代码读取I/O共享页中的操作结果,把结果返回给客户机中。当然,这个操作过程中客户机作为一个QEMU进程在等待I/O时也可能被阻塞。

vhost-usr

spdk.io
spdk中文文档
基于SPDK的UDisk全栈优化
北京峰会系列二|基于SPDK的UDisk全栈优化
阿里云解决大规模高性能存储可靠性问题再次被系统领域顶会认可!
阿里云PolarDB及其共享存储PolarFS技术实现分析(下)
新型存储设备介绍

io路径对比

  1. virtio
  2. vhost
  3. vhsot-usr
    virtio的io路径 vhost的io路径 和vhost-user
    说一说虚拟化绕不开的io半虚拟化
    使用 SPDK 技术优化虚拟机本地存储的 IO 性能
    可实现RSSD云硬盘120万IOPS的SPDK IO路径优化实践

dpdk

vhost-net
virtio技术的演进和发展

rdma

posted @ 2020-08-04 19:02  holidays  阅读(427)  评论(0编辑  收藏  举报