From Luna to Solar: The Evolutions of the Compute-to-Storage Networks in Alibaba Cloud
Rui Miao,Lingjun Zhu,Shu Ma,Kun Qian,Shujun Zhuang,Bo Li,Shuguang Cheng,Jiaqi Gao,Yan Zhuang,Pengcheng Zhang,Rong Liu,Chao Shi,Binzhang Fu,Jiaji Zhu,Jiesheng Wu,Dennis Cai,Hongqiang Harry Liu
DOI: https://doi.org/10.1145/3544216.3544238
2022-01-01
Abstract:This paper presents the two generations of storage network stacks that reduced the average I/O latency of Alibaba Cloud's EBS service by 72% in the last five years: LUNA, a user-space TCP stack that corresponds the latency of network to the speed of SSD; and SOLAR, a storage-oriented UDP stack that enables both storage and network hardware accelerations. LUNA is our first step towards a high-speed compute-to-storage network in the "storage disaggregation" architecture. Besides the tremendous performance gains and CPU savings compared with the legacy kernel TCP stack, more importantly, it teaches us the necessity of offloading both network and storage into hardware and the importance of recovering instantaneously from network failures. SOLAR provides a highly reliable and performant storage network running on hardware. For avoiding hardware's resource limitations and offloading storage's entire data path, SOLAR eliminates the superfluous complexity and the overfull states from the traditional architecture of the storage network. The core design of SOLAR is unifying the concepts of network packet and storage data block each network packet is a self-contained storage data block. There are three remarkable advantages to doing so. First, it merges the packet processing and storage virtualization pipelines to bypass the CPU and PCIe; Second, since the storage processes data blocks independently, the packets in SOLAR become independent. Therefore, the storage (in hardware) does not need to maintain receiving buffers for assembling packets into blocks or handling packet reordering. Finally, due to the low resource requirement and the resilience to packet reordering, SOLAR inherently supports large-scale multi-path transport for fast failure recovery. Facing the future, SOLAR demonstrates that we can formalize the storage virtualization procedure into a P4-compatible packet processing pipeline. Hence, SOLAR's design perfectly applies to commodity DPUs (data processing units).