LeapIO: Efficient and Portable Virtual NVMe Storage on ARM SoCs
- Huaicheng Li ,
- Mingzhe Hao ,
- Stanko Novakovic (stnovako) ,
- Vaibhav Gogte ,
- Sriram Govindan ,
- Dan R. K. Ports ,
- Irene Zhang ,
- Ricardo Bianchini ,
- Haryadi S. Gunawi ,
- Anirudh Badam
Proceedings on the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) |
Today’s cloud storage stack is extremely resource hungry, burning 10-20% of datacenter x86 cores, a major “storage tax” that cloud providers must pay. Yet, the complex cloud storage stack is not completely offload-ready to today’s IO accelerators. We present LeapIO, a new cloud storage stack that leverages ARM-based co-processors to offload complex storage services. LeapIO addresses many deployment challenges, such as hardware fungibility, software portability, virtualizability, composability, and efficiency. It uses a set of OS/software techniques and new hardware properties that provide a uniform address space across the x86 and ARM cores and expose virtual NVMe storage to unmodified guest VMs, at a performance that is competitive with bare-metal servers.