NVMe(Non-Volatile Memory Express) is an industry standard for solid-state drives (SSDs) that has been widely adopted in data centers. NVMe virtualization is crucial in cloud computing as it allows for virtualized NVMe devices to be used by virtual machines (VMs), thereby improving the utilization of storage resources. However, traditional software-based solutions have flexibility benefits but often come at the cost of performance degradation or high CPU overhead. On the other hand, hardware-assisted solutions offer high performance and low CPU usage, but their adoption is often limited by the need for special hardware support or the requirement for new hardware development. In this paper, we propose LightIOV, a novel software-based NVMe virtualization mechanism that achieves high performance and scalability without consuming valuable CPU resources and without requiring special hardware support. LightIOV can support thousands of VMs on each server. The key idea behind LightIOV is NVMe hardware I/O queues passthrough, which enables VMs to directly access I/O queues of NVMe devices, thus eliminating virtualization overhead and providing near-native performance. Results from our experiments show that LightIOV can provide comparable performance to VFIO, with an IOPS of 97.6%-100.2% of VFIO. Furthermore, in high-density VMs environments, LightIOV achieves 31.4% lower latency than SPDK-Vhost when running 200 VMs, and an improvement of 27.1% in OPS performance in real-world applications.
翻译:NVMe(非易失性存储快速通道)是一种广泛应用于数据中心的固态硬盘(SSD)的行业标准。在云计算中,NVMe虚拟化是至关重要的,因为它允许虚拟机(VM)使用虚拟化的NVMe设备,从而提高存储资源的利用率。然而,传统的基于软件的解决方案具有灵活性的优点,但往往以性能降低或高CPU开销为代价。另一方面,硬件辅助的解决方案具有高性能和低CPU使用率的优点,但它们的采用常常受到特殊硬件支持或需要新硬件开发的要求的限制。本文提出了LightIOV,一种新型的基于软件的NVMe虚拟化机制,在不消耗宝贵的CPU资源且不需要特殊硬件支持的情况下实现高性能和可扩展性,每台服务器可支持数千个VM。LightIOV的关键思想是NVMe硬件I/O队列透传,它使得VM能够直接访问NVMe设备的I/O队列,从而消除虚拟化开销并提供接近本机性能。实验结果表明,LightIOV可以提供与VFIO相当的性能,IOPS为VFIO的97.6% -100.2%。此外,在高密度VM环境中,LightIOV在运行200个VM时比SPDK-Vhost的延迟低31.4%,在实际应用中OPS性能提高了27.1%。