We propose Expeditus, a distributed congestion-aware load balancing mechanism for Clos data center networks. The fundamental challenge in making load balancing congestion-aware is, how to collect real-time (in the order of RTT) congestion information from all possible paths, in a scalable and efficient manner. A naive solution requires each edge switch to have congestion information for  O(k^4)  paths for a  k -pod fat-tree, and recent proposals like CONGA only work for the two-tier leaf-spine topology. Expeditus relies on scalable one-hop information collection, where a switch only monitors buffer occupancy from and to its  k/2  upstream neighbors, respectively. It further uses a two-stage path selection mechanism to aggregate relevant congestion information across switches and make near-optimal path selection decisions during TCP handshaking. We outline the basic idea of these mechanisms in this extended abstract. Preliminary ns-3 simulations demonstrate that Expeditus outperforms ECMP in fat-tree networks, and outperforms CONGA significantly in leaf-spine topology.
['Peng Wang', 'Hong Xu']
Expeditus: Distributed Load Balancing with Global Congestion Information in Data Center Networks