目前在DPDK/SPDK代码中所存在的virtio-user驱动的实现主要是两类,其一是DPDK中的virtio-net-user驱动,其二是SPDK中的virtio-blk-user/virtio-scsi-user驱动。 virtio-user模式的front-end驱动主要是通过unix socket来与back-end 的设备进行控制信息的协商和交互,并且作为client的角色。通信初始时会根据与vhost侧约定的...
作者:深耕行业的 SmartX 金融团队本文主要介绍使用 SPDK vhost-user 技术,来加速 KVM 虚拟机中 virtio-blk/virtio-scsi 存储设备的 I/O 性能,并结合架构场景展开说明,让读者对这项技术带来的特性提升有更直观的了解。首先我们先看看当前主流的 I/O 设备虚拟化方案:· QEMU 纯软件模拟,利用软件模拟 I/O ...
第三个表示此block控制器使用的CPU mask,第四个是virtio blk使用的transport(默认是vhost_user_blk),第五个参数用于设置控制器为read-only,第六个参数用于设置控制器为packed ring模式,第七个参数用使能packed ring在线恢复。后面五个参数都是可选参数。示例命令如下: ./scripts/rpc.pyvhost_create_blk_controller ...
VHostUserBlk, chardev),3DEFINE_PROP_UINT16("num-queues", VHostUserBlk, num_queues,1),4DEFINE_PROP_UINT32("queue-size", VHostUserBlk, queue_size,128),5DEFINE_PROP_BIT("config-wce", VHostUserBlk, config_wce,0,true),6DEFINE_PROP_END_OF_LIST(),7};89staticvoidvhost_user_blk_class_in...
本文主要介绍使用 SPDK vhost-user 技术,来加速 KVM 虚拟机中 virtio-blk/virtio-scsi 存储设备的 I/O 性能,并结合架构场景展开说明,让读者对这项技术带来的特性提升有更直观的了解。 首先我们先看看当前主流的 I/O 设备虚拟化方案: QEMU 纯软件模拟,利用软件模拟 I/O 设备提供给虚拟机使用。
Vhost-user工作机制 Vhost-user协议作为Vhost高性能存储的核心技术之一,在用户空间实现了用户态应用程序与虚拟机间的直接数据传输,大幅减少了内核态与用户态之间的切换,有效降低了CPU中断处理开销,提升整体性能。 Vhost-user作为Vhost的用户态实现,通过Unix socket与QEMU进程通信,获取virtqueue的配置信息和内存布局,再通过mm...
目前主流的virtio front-end用户态驱动主要有:virtio-net、virtio-blk/virtio-scsi、virtio-user-net、virtio-user-blk/virtio-user-scsi这几种。 4.4.1.1 virtio-net的用户态驱动 virtio-net用户态驱动的实现代码在 “DPDK/drivers/net/virtio” 目录下,其主要处理对象是 “Virtio network device” 的pci ...
目前主流的virtio front-end用户态驱动主要有:virtio-net、virtio-blk/virtio-scsi、virtio-user-net、virtio-user-blk/virtio-user-scsi这几种。 4.4.1.1 virtio-net的用户态驱动 virtio-net用户态驱动的实现代码在 “DPDK/drivers/net/virtio” 目录下,其主要处理对象是 “Virtio network device” 的pci ...
vhost-user 基于 C/S 的模式,采用 UNIX 域套接字(UNIX domain socket)来完成进程间的事件通知和数据交互,相比 vhost 中采用 ioctl 的方式,vhost-user 采用 socket 的方式大大简化了操作。 vhost-user 基于 vring 这套通用的共享内存通信方案,只要 client 和 server 按照 vring 提供的接口实现所需功能即可,常见...
本文主要介绍使用 SPDK vhost-user 技术,来加速 KVM 虚拟机中 virtio-blk/virtio-scsi 存储设备的 I/O 性能,并结合架构场景展开说明,让读者对这项技术带来的特性提升有更直观的了解。 首先我们先看看当前主流的 I/O 设备虚拟化方案: QEMU 纯软件模拟,利用软件模拟 I/O 设备提供给虚拟机使用。 Virtio 半虚拟方...