SR-IOV(Single Root I/O Virtualization)是英伟达推出的一种虚拟化技术,旨在提高虚拟化环境中网络和I/O设备的性能。SR-IOV允许虚拟机直接访问物理设备,而无需经过虚拟交换机或虚拟适配器,从而减少了虚拟化层的开销和延迟。
SR-IOV技术涉及两个主要组件:物理设备和虚拟设备。物理设备是硬件设备,如网卡或存储适配器,支持SR-IOV技术。虚拟设备是虚拟机中的设备模拟,通过SR-IOV直接连接到物理设备。
SR-IOV技术的工作原理如下:
1. 在物理设备上启用SR-IOV功能,并配置虚拟函数(VF)。每个虚拟函数都被映射到一个虚拟设备,虚拟机可以通过虚拟函数直接访问物理设备。
2. 虚拟机通过虚拟函数连接到物理设备,绕过了虚拟交换机和虚拟适配器的处理。
3. 虚拟机通过虚拟函数发送和接收数据,而无需经过宿主机的处理,从而提高了网络和I/O性能。
SR-IOV技术的优势包括:
1. 提高性能:通过减少虚拟化层的开销和延迟,提高网络和I/O设备的性能。
2. 提高可扩展性:支持多个虚拟机同时访问同一个物理设备,提高了系统的可扩展性。
3. 简化管理:减少了虚拟化管理层的复杂性,提高了系统的可管理性。
在GPU的虚拟化方面,SR-IOV技术,允许一个PCIe设备在多个虚拟机之间共享,同时保持较高性能。通过SR-IOV在物理GPU设备上创建多个虚拟 vGPU来实现的,每个虚拟vGPU可以被分配给一个虚拟机,让虚拟机直接访问和控制这些虚拟功能,从而实现高效的I/O虚拟化。NVIDIA早期的vGPU就是这样的实现,不过NVIDIA vGPU需要额外的license,额外增加了成本。SR-IOV虽然实现了1:N的能力,但其灵活性比较差,难以更细粒度的分割和调度。
简言之,英伟达的SR-IOV技术可以帮助用户在虚拟化环境中提高网络和I/O设备的性能,提高系统的可扩展性和可管理性。




