Optimizing the Longhorn Cloud-native Software Defined Storage Engine for High Performance
Konstantinos Kampadais, Antony Chazapis, Angelos Bilas
TL;DR
This work tackles the performance bottlenecks of Longhorn's cloud-native SDS engine when deployed on high-speed hardware. By integrating a ublk-based frontend, re-engineering the controller–replica communication, and introducing Direct Block Store (DBS) for block granular storage, the authors achieve up to an order-of-magnitude improvement in IOPS and near line-rate bandwidth in their evaluation setup. The methodology combines systematic bottleneck isolation with practical implementations, and the results demonstrate substantial gains that extend Longhorn's applicability to high-performance on-premises environments. The contributions provide actionable guidance for SDS developers and contribute upstream changes to the Longhorn ecosystem, with DBS's extensibility and future features highlighted as part of ongoing work.
Abstract
Longhorn is an open-source, cloud-native software-defined storage (SDS) engine that delivers distributed block storage management in Kubernetes environments. This paper explores performance optimization techniques for Longhorn's core component, the Longhorn engine, to overcome limitations in leveraging high-performance server hardware, such as solid-state NVMe disks and low-latency, high-bandwidth networking. By integrating ublk at the frontend, to expose the virtual block device to the operating system, restructuring the communication protocol, and employing DBS, our simplified, direct-to-disk storage scheme, the system achieves significant performance improvements with respect to the default I/O path. Our results contribute to enhancing Longhorn's applicability in both cloud and on-premises setups, as well as provide insights for the broader SDS community.
