快科技 9 月 24 日消息,Nestrilabs 近日正式发布了实验性虚拟化技术 virtio-nvgpu,通过创新的驱动指令转发机制,使 KVM 虚拟机在调用英伟达显卡时能够获得接近裸机的性能表现。
根据项目在 GitHub 上公布的测试数据,在搭载 RTX 3060 显卡的系统上,虚拟机的渲染帧时间损耗被控制在 2% 以内。
在宿主机需要 39ms 渲染的帧,虚拟机仅需增加极微小的延迟即可完成,甚至在部分测试中出现了因误差导致的 0.4% 性能反超。

技术层面上,virtio-nvgpu 采用了与传统 API 翻译方案完全不同的路径。它并不尝试序列化 Vulkan 或 OpenGL 调用,而是直接在内核驱动的 ABI 层面工作,转发英伟达内核驱动处理的 ioctl 指令,可以让虚拟机运行未经修改的原生驱动堆栈,包括 Vulkan 和 NVENC 编码器。
这种方案的优势在于极低的跨界开销,在大约 81.3 万帧的基准测试中,后端仅服务了约 1.38 万条消息,平均每 59 帧才跨越一次虚拟机边界。
因为命令缓冲区是在本地内存中构建的,绝大多数绘图指令根本不需要经过宿主机干预,从而保证了极高的执行效率。

此外针对云端多租户场景,virtio-nvgpu 也展示了强大的共享能力,4 台虚拟机同时运行相同负载时,总帧率达到 103.7fps,甚至略高于单机运行时的 102.9fps,且每台虚拟机的帧时间差异精确到了小数点后四位。
目前该技术仅在 720p 分辨率下进行了验证,且对驱动版本有严格限制(最低 535.129.03),但它已为英伟达显卡在 Linux 虚拟化领域的应用开辟了新路径。

【本文结束】如需转载请务必注明出处:快科技
责任编辑:青山


登录后才可以发布评论哦
打开小程序可以发布评论哦