HULA: Scalable Load Balancing Using Programmable Data Planes
HULA: Scalable Load Balancing Using Programmable Data Planes
复制标题
DOI:
10.1145/2890955.2890968
复制
发表时间:
2016-03
期刊:
影响因子:
--
通讯作者:
N. Katta;Mukesh M. Hira;Changhoon Kim;Anirudh Sivaraman;J. Rexford
中科院分区:
文献类型:
--
作者:
N. Katta;Mukesh M. Hira;Changhoon Kim;Anirudh Sivaraman;J. Rexford
Datacenter networks employ multi-rooted topologies (e.g., Leaf-Spine, Fat-Tree) to provide large bisection bandwidth. These topologies use a large degree of multipathing, and need a data-plane load-balancing mechanism to effectively utilize their bisection bandwidth. The canonical load-balancing mechanism is equal-cost multi-path routing (ECMP), which spreads traffic uniformly across multiple paths. Motivated by ECMP's shortcomings, congestion-aware load-balancing techniques such as CONGA have been developed. These techniques have two limitations. First, because switch memory is limited, they can only maintain a small amount of congestion-tracking state at the edge switches, and do not scale to large topologies. Second, because they are implemented in custom hardware, they cannot be modified in the field. This paper presents HULA, a data-plane load-balancing algorithm that overcomes both limitations. First, instead of having the leaf switches track congestion on all paths to a destination, each HULA switch tracks congestion for the best path to a destination through a neighboring switch. Second, we design HULA for emerging programmable switches and program it in P4 to demonstrate that HULA could be run on such programmable chipsets, without requiring custom hardware. We evaluate HULA extensively in simulation, showing that it outperforms a scalable extension to CONGA in average flow completion time (1.6 x at 50% load, 3 x at 90% load).