HULA: Scalable load balancing using programmable data planes

Naga Katta, Mukesh Hira, Changhoon Kim, Anirudh Sivaraman, Jennifer Rexford

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Datacenter networks employ multi-rooted topologies (e.g., LeafSpine, Fat-Tree) to provide large bisection bandwidth. These topologies use a large degree of multipathing, and need a data-plane loadbalancing mechanism to effectively utilize their bisection bandwidth. The canonical load-balancing mechanism is equal-cost multipath 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 congestiontracking 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× at 50% load, 3× at 90% load).

Original languageEnglish (US)
Title of host publicationSymposium on Software Defined Networking (SDN) Research, SOSR 2016
PublisherAssociation for Computing Machinery, Inc
ISBN (Electronic)9781450334518
DOIs
StatePublished - Mar 14 2016
EventSymposium on Software Defined Networking (SDN) Research, SOSR 2016 - Santa Clara, United States
Duration: Mar 14 2016Mar 15 2016

Other

OtherSymposium on Software Defined Networking (SDN) Research, SOSR 2016
CountryUnited States
CitySanta Clara
Period3/14/163/15/16

Fingerprint

Resource allocation
Switches
Topology
Hardware
Bandwidth
Trees (mathematics)
Oils and fats
Data storage equipment
Costs

Keywords

  • In-Network Load Balancing
  • Network Congestion
  • Programmable Switches
  • Scalability

ASJC Scopus subject areas

  • Computer Networks and Communications
  • Software

Cite this

Katta, N., Hira, M., Kim, C., Sivaraman, A., & Rexford, J. (2016). HULA: Scalable load balancing using programmable data planes. In Symposium on Software Defined Networking (SDN) Research, SOSR 2016 [a10] Association for Computing Machinery, Inc. https://doi.org/10.1145/2890955.2890968

HULA : Scalable load balancing using programmable data planes. / Katta, Naga; Hira, Mukesh; Kim, Changhoon; Sivaraman, Anirudh; Rexford, Jennifer.

Symposium on Software Defined Networking (SDN) Research, SOSR 2016. Association for Computing Machinery, Inc, 2016. a10.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Katta, N, Hira, M, Kim, C, Sivaraman, A & Rexford, J 2016, HULA: Scalable load balancing using programmable data planes. in Symposium on Software Defined Networking (SDN) Research, SOSR 2016., a10, Association for Computing Machinery, Inc, Symposium on Software Defined Networking (SDN) Research, SOSR 2016, Santa Clara, United States, 3/14/16. https://doi.org/10.1145/2890955.2890968
Katta N, Hira M, Kim C, Sivaraman A, Rexford J. HULA: Scalable load balancing using programmable data planes. In Symposium on Software Defined Networking (SDN) Research, SOSR 2016. Association for Computing Machinery, Inc. 2016. a10 https://doi.org/10.1145/2890955.2890968
Katta, Naga ; Hira, Mukesh ; Kim, Changhoon ; Sivaraman, Anirudh ; Rexford, Jennifer. / HULA : Scalable load balancing using programmable data planes. Symposium on Software Defined Networking (SDN) Research, SOSR 2016. Association for Computing Machinery, Inc, 2016.
@inproceedings{ad3794735d7c435f91f5ffcdfe28babb,
title = "HULA: Scalable load balancing using programmable data planes",
abstract = "Datacenter networks employ multi-rooted topologies (e.g., LeafSpine, Fat-Tree) to provide large bisection bandwidth. These topologies use a large degree of multipathing, and need a data-plane loadbalancing mechanism to effectively utilize their bisection bandwidth. The canonical load-balancing mechanism is equal-cost multipath 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 congestiontracking 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× at 50{\%} load, 3× at 90{\%} load).",
keywords = "In-Network Load Balancing, Network Congestion, Programmable Switches, Scalability",
author = "Naga Katta and Mukesh Hira and Changhoon Kim and Anirudh Sivaraman and Jennifer Rexford",
year = "2016",
month = "3",
day = "14",
doi = "10.1145/2890955.2890968",
language = "English (US)",
booktitle = "Symposium on Software Defined Networking (SDN) Research, SOSR 2016",
publisher = "Association for Computing Machinery, Inc",

}

TY - GEN

T1 - HULA

T2 - Scalable load balancing using programmable data planes

AU - Katta, Naga

AU - Hira, Mukesh

AU - Kim, Changhoon

AU - Sivaraman, Anirudh

AU - Rexford, Jennifer

PY - 2016/3/14

Y1 - 2016/3/14

N2 - Datacenter networks employ multi-rooted topologies (e.g., LeafSpine, Fat-Tree) to provide large bisection bandwidth. These topologies use a large degree of multipathing, and need a data-plane loadbalancing mechanism to effectively utilize their bisection bandwidth. The canonical load-balancing mechanism is equal-cost multipath 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 congestiontracking 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× at 50% load, 3× at 90% load).

AB - Datacenter networks employ multi-rooted topologies (e.g., LeafSpine, Fat-Tree) to provide large bisection bandwidth. These topologies use a large degree of multipathing, and need a data-plane loadbalancing mechanism to effectively utilize their bisection bandwidth. The canonical load-balancing mechanism is equal-cost multipath 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 congestiontracking 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× at 50% load, 3× at 90% load).

KW - In-Network Load Balancing

KW - Network Congestion

KW - Programmable Switches

KW - Scalability

UR - http://www.scopus.com/inward/record.url?scp=84982790321&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84982790321&partnerID=8YFLogxK

U2 - 10.1145/2890955.2890968

DO - 10.1145/2890955.2890968

M3 - Conference contribution

AN - SCOPUS:84982790321

BT - Symposium on Software Defined Networking (SDN) Research, SOSR 2016

PB - Association for Computing Machinery, Inc

ER -