两条路径的故事:利用eBPF优化虚拟化存储的I/O性能

《ACM Transactions on Storage》:A Tale of Two Paths: Optimizing Paravirtualized Storage I/O with eBPF

【字体: 时间:2025年11月08日 来源:ACM Transactions on Storage

编辑推荐:

  针对KVM/QEMU虚拟化中virtio-blk存在I/O路径长、性能瓶颈问题,本文提出EXO扩展方案,利用eBPF创建内核快速路径,减少用户空间处理,在保持灵活性和兼容性的同时显著提升性能。

  

摘要

KVM是Linux上最主流的虚拟机管理程序(VM hypervisor),它依赖于QEMU来实现virtio系列设备(如virtio-blk)的后端功能。然而,基于KVM/QEMU的半虚拟化机制会通过多次上下文切换来延长客户机的I/O路径。随着高速NVMe存储设备的广泛使用,这种软件开销变得不可忽视。为了缩短I/O路径,virtio-blk的两种变体vhost-kernel-blk和vhost-user-blk分别将所有客户机I/O处理任务放在内核空间和用户空间完成。不幸的是,这些变体放弃了KVM与QEMU之间的协作,从而牺牲了QEMU的一些重要功能,例如实时迁移、快照生成以及灵活的镜像格式支持。
本文提出了EXO,这是一种针对高效KVM/QEMU存储半虚拟化的virtio-blk扩展方案。其核心思想是:无论QEMU后端的处理过程多么复杂,在处理客户机I/O请求时,主机存储层只需知道请求的客机到主机地址映射即可。因此,我们保留了virtio-blk原有的慢速I/O路径作为备用方案,并利用eBPF技术在内核空间直接查询地址映射,而无需切换到用户空间进行处理。大量测试表明,EXO的性能与virtio-blk的变体(vhost-kernel-blk/vhost-user-blk)相当甚至更优,同时仍保持了virtio-blk的灵活性、安全性和兼容性。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号