YoVDO

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

Offered By: USENIX via YouTube

Tags

SREcon Courses Software Engineering Courses Scalability Courses

Course Description

Overview

Explore a conference talk from SREcon19 Asia/Pacific that delves into Aperture, a non-cooperative, client-side load balancing algorithm developed by Twitter. Discover how Twitter's RPC framework, Finagle, employs this unique approach to load balancing and the challenges it faces as service clusters grow to thousands of instances. Learn about the evolution of Twitter's client-side load balancer, service-to-service load balancing, and the intricacies of random aperture and its limitations. Gain insights into the development of discrete coordinates, destination rings, and composite rings, as well as the implementation of continuous coordinates and multiple service rings. Understand the dynamic aperture size, resilience measures, and the migration process from random aperture to D-Aperture. Examine the reduction in request retries achieved through this algorithm and consider the limitations and future work in this area of load balancing technology.

Syllabus

Intro
TWITTERS CLIENT-SIDE LOAD BALANCER EVOLUTION
SERVICE-TO-SERVICE LOAD BALANCING
EXAMPLE SERVICE TOPOLOGY
RANDOM APERTURE: UNFAIR
RANDOM IS STATISTICAL
CONFIGURED RANDOM APERTURE
DISCRETE COORDINATES
DESTINATION RING
COMPOSITE RINGS
SESSION HISTOGRAM
CONTINUOUS COORDINATES
MULTIPLE SERVICE RINGS
CONTINUOUS COORDINATE MODEL
DYNAMIC APERTURE SIZE
RESILIENCY
MIGRATION FROM RANDOM APERTURE TO D-APERTURE
REDUCTION IN REQUEST RETRIES
LIMITATIONS
FUTURE WORK


Taught by

USENIX

Related Courses

Intro to Computer Science
University of Virginia via Udacity
Software Engineering for SaaS
University of California, Berkeley via Coursera
CS50's Introduction to Computer Science
Harvard University via edX
UNSW Computing 1 - The Art of Programming
OpenLearning
Mobile Robotics
Open2Study