Litcius/Paper detail

Cheetah: A High-Speed Programmable Load-Balancer Framework With Guaranteed Per-Connection-Consistency

Tom Barbette, Erfan Wu, Dejan Kostić, Gerald Q. Maguire, Panos Papadimitratos, Marco Chiesa

2021IEEE/ACM Transactions on Networking24 citationsDOIOpen Access PDF

Abstract

Large service providers use load balancers to dispatch millions of incoming connections per second towards thousands of servers. There are two basic yet critical requirements for a load balancer: <i>uniform load distribution</i> of the incoming connections across the servers, which requires to support advanced load balancing mechanisms, and <i>per-connection-consistency</i> (PCC), i.e, the ability to map packets belonging to the same connection to the same server even in the presence of changes in the number of active servers and load balancers. Yet, simultaneously meeting these requirements has been an elusive goal. Today&#x2019;s load balancers minimize PCC violations at the price of non-uniform load distribution. This paper presents Cheetah, a load balancer that supports advanced load balancing mechanisms <i>and</i> PCC while being scalable, memory efficient, fast at processing packets, and offers comparable resilience to clogging attacks as with today&#x2019;s load balancers. The Cheetah LB design guarantees PCC for <i>any</i> realizable server selection load balancing mechanism and can be deployed in both stateless and stateful manners, depending on operational needs. We implemented Cheetah on both a software and a Tofino-based hardware switch. Our evaluation shows that a stateless version of Cheetah guarantees PCC, has negligible packet processing overheads, and can support load balancing mechanisms that reduce the flow completion time by a factor of <inline-formula> <tex-math notation="LaTeX">$2-3 \times $ </tex-math></inline-formula>.

Topics & Concepts

Connection (principal bundle)Consistency (knowledge bases)Computer scienceComputer networkEmbedded systemEngineeringArtificial intelligenceStructural engineeringParallel Computing and Optimization TechniquesCloud Computing and Resource ManagementDistributed and Parallel Computing Systems
Cheetah: A High-Speed Programmable Load-Balancer Framework With Guaranteed Per-Connection-Consistency | Litcius