As single TCP flows approach 10 Gbps, static hash ECMP load
balancing — used by routers today– does a poor job of balancing load in
data centers. We describe a new load balancing algorithm, Flame, that is
implementable at 480 Gbps with small memory and uses two novel mechanisms.
First, Flame uses a Discounting Rate Estimator (DRE); unlike exponential
averaging, DRE quickly measures bursts and yet retains memory of recent bursts.
Second, Flame binds flows to hash functions and not to paths. We show Flame is
more resilient and efficient than the earlier Flare scheme, and provides better
load balancing and is more deployable than Hedera. Flame also allows
rebalancing of flows in hardware at rapid rates. This is interesting because we
show TCP experiments at 1 and 10 Gbps that demonstrate that recent Linux stacks
after 2.6.14 can tolerate rebalancing once every 10 packets with negligible
loss of throughput. On the other hand, Windows 2008 stacks have degraded TCP
throughput if rebalancing is done more often than 1 in 32,000 packets.
TITLE:: Flame: Efficient and Robust Hardware Load Balancing Flame: Efficient
and Robust Hardware Load Balancing for Data Center Routers
Pre-2018 CSE ID: CS2012-0980