IEEE Access (Jan 2021)

High-Performance Software Load Balancer for Cloud-Native Architecture

  • Jung-Bok Lee,
  • Tae-Hee Yoo,
  • Eo-Hyung Lee,
  • Byeong-Ha Hwang,
  • Sung-Won Ahn,
  • Choong-Hee Cho

DOI
https://doi.org/10.1109/ACCESS.2021.3108801
Journal volume & issue
Vol. 9
pp. 123704 – 123716

Abstract

Read online

Driven by increasing in the demand for cloud computing, cloud providers are constantly seeking configuration mechanisms designed to simply install a reliable and easy-to-manage cloud architecture—similar to installing an operating system on a computer using a thumb drive. Accordingly, cloud software components can be packaged into lightweight and portable containers, and then be easily deployed and managed through orchestration tools such as Kubernetes. Similarly, load balancers can also be deployed in containerized cloud environments and managed as a container, simplifying the process of scaling in or out according to the network status or amounts of incoming traffic. In this study, we implemented a containerized high-performance load balancer that distributes traffic using eBPF/XDP within the Linux kernel, which can easily be managed via Kubernetes. We compared the performance of the proposed load balancer with iptables DNAT and loopback based on the RFC2544 performance standard, and also performed tests simulating real-world traffic patterns by using IMIX traffic streams. Our experimental results indicate that the throughput performance of the proposed load balancer is considerably better than that of iptables DNAT; the difference in performance increased with decreasing packet size. The difference in performance between the loopback (representing the theoretical maximum performance limit) and the proposed load balancer was minimal.

Keywords