Aperture: A Non-Cooperative, Client-Side Load Balancing Algorithm

Friday, June 14, 2019 - 2:00 pm3:00 pm

Ruben Oanta and Bryce Anderson, Twitter


Twitter's RPC framework, Finagle, employs non-cooperative, client-side load balancing. That is, clients make load balancing decisions independently. Although this architecture continues to serve Twitter well, it also comes with some unique trade-offs and challenges. In particular, it scales poorly as service clusters grow to thousands of instances. In this talk, we will dive deeper into the problem space and how we addressed it via an algorithm we call "Aperture."

Ruben Oanta, Twitter

Ruben has been working on Twitter’s RPC stack for the past five years. In that time, he has made substantial contributions to both the design and implementation of Finagle which have markedly improved the resiliency and operability of Twitter services.

Bryce Anderson, Twitter

Since 2016 Bryce has been with Twitter's Core System Libraries team working predominantly on the Finagle RPC library. Bryce enjoys long walks through RFC's and analyzing the potential for graph-wide meltdowns in service-mesh load balancers.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

@conference {233277,
author = {Ruben Oanta and Bryce Anderson},
title = {Aperture: A {Non-Cooperative}, {Client-Side} Load Balancing Algorithm},
year = {2019},
address = {Singapore},
publisher = {USENIX Association},
month = jun

Presentation Video