TY - GEN
T1 - Adaptive weighted traffic splitting in programmable data planes
AU - Hsu, Kuo Feng
AU - Tammana, Praveen
AU - Beckett, Ryan
AU - Chen, Ang
AU - Rexford, Jennifer
AU - Walker, David
PY - 2020/3/3
Y1 - 2020/3/3
N2 - Recent work introduced load-balancing algorithms that dynamically pick the best path entirely in the data plane, to react to traffic dynamics on a small timescale. This paper takes the next step to balance load dynamically across multiple paths in the data plane. The design of such a load-balancing primitive raises interesting challenges due to the hardware constraints of the data plane. We show that these constraints create practical problems for Weighted-Cost MultiPath (WCMP), which replicates hash-table entries in proportion to the weight of each path. Under these hardware constraints, naive implementations of WCMP take a long time to converge to new weights. We then present a hash-based data structure that achieves adaptive traffic splitting in programmable data planes. Our data structure carefully partitions the arithmetic operations required to a) split traffic in proportion to the path weights and b) update the path weights, by leveraging a multi-stage pipeline and stateful ALUs. By doing so, accurate splitting and efficient updates are done at line rate. We implement our data structure in P4 and our preliminary evaluation shows significant reduction in flow completion time compared to other data-plane load-balancing schemes such as HULA.
AB - Recent work introduced load-balancing algorithms that dynamically pick the best path entirely in the data plane, to react to traffic dynamics on a small timescale. This paper takes the next step to balance load dynamically across multiple paths in the data plane. The design of such a load-balancing primitive raises interesting challenges due to the hardware constraints of the data plane. We show that these constraints create practical problems for Weighted-Cost MultiPath (WCMP), which replicates hash-table entries in proportion to the weight of each path. Under these hardware constraints, naive implementations of WCMP take a long time to converge to new weights. We then present a hash-based data structure that achieves adaptive traffic splitting in programmable data planes. Our data structure carefully partitions the arithmetic operations required to a) split traffic in proportion to the path weights and b) update the path weights, by leveraging a multi-stage pipeline and stateful ALUs. By doing so, accurate splitting and efficient updates are done at line rate. We implement our data structure in P4 and our preliminary evaluation shows significant reduction in flow completion time compared to other data-plane load-balancing schemes such as HULA.
UR - http://www.scopus.com/inward/record.url?scp=85082167366&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85082167366&partnerID=8YFLogxK
U2 - 10.1145/3373360.3380841
DO - 10.1145/3373360.3380841
M3 - Conference contribution
T3 - SOSR 2020 - Proceedings of the 2020 Symposium on SDN Research
SP - 103
EP - 109
BT - SOSR 2020 - Proceedings of the 2020 Symposium on SDN Research
PB - Association for Computing Machinery, Inc
T2 - 2020 Symposium on SDN Research, SOSR 2020
Y2 - 3 March 2020
ER -