
Article
H-NVMe: A Hybrid Framework of NVMe-based Storage System in Cloud Computing Environment
36th IEEE International Performance Computing and Communications Conference (IPCCC 2017)
(2017)
Abstract
In the year of 2017, more and more datacenters have started to replace traditional SATA and SAS SSDs with NVMe SSDs due to NVMe’s outstanding performance. However, for historical reasons, current popular deployments of NVMe in VM-hypervisor-based platforms (such as VMware ESXi) have numbers of intermediate queues along the I/O stack. As a result, performance is bottlenecked by synchronization locks in these queues, cross-VM interference induces I/O latency, and most importantly, up-to-64K-queue capability of NVMe SSDs cannot be fully utilized. In this paper, we developed a hybrid framework of NVMe-based storage system called “H-NVMe”, which provides two VM I/O stack deployment modes “Parallel Queue Mode” and “Direct Access Mode”. The first mode increases parallelism and enables lock-free operations by implementing local lightweight queues in the NVMe driver. The second mode further bypasses the entire I/O stack in the hypervisor layer and allows trusted user applications whose hosting VMDK (Virtual Machine Disk) files are attached with our customized vSphere IOFilters to directly access NVMe SSDs to improve the performance isolation. This suits premium users who have higher priorities and the permission to attach IOFilter to their VMDKs. H-NVMe is implemented on VMware EXSi 6.0.0, and our evaluation results show that the proposed H-NVMe framework can significant improve throughputs and bandwidths compared to the original inbox NVMe solution.
Keywords
- NVMe Driver,
- Lock-free I/O Queue,
- User Mode Polling,
- Datacenter Storage,
- Resource Management,
- Tiering and Caching Algorithm,
- Big Data,
- Cloud Computing,
- Virtualization
Disciplines
Publication Date
2017
Citation Information
Zhengyu Yang, Morteza Hoseinzadeh, Ping Wong, John Artoux, et al.. "H-NVMe: A Hybrid Framework of NVMe-based Storage System in Cloud Computing Environment" 36th IEEE International Performance Computing and Communications Conference (IPCCC 2017) (2017) Available at: http://works.bepress.com/zhengyuyang/22/