Optimal Weighted Load Balancing in TCAMs

Yaniv Sadeh*, Ori Rottenstreich, Haim Kaplan

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


Traffic splitting is a required functionality in networks, for example for load balancing over multiple paths or among different servers. The capacities of the servers determine the partition by which traffic should be split. A recent approach implements traffic splitting within the ternary content addressable memory (TCAM), which is often available in switches. It is important to reduce the amount of memory allocated for this task since TCAMs are power consuming and are often also required for other tasks such as classification and routing. Previous work showed how to compute the smallest prefix-matching TCAM necessary to implement a given partition exactly. In this paper we solve the more practical case, where at most n prefix-matching TCAM rules are available, restricting the ability to implement exactly the desired partition. We give simple and efficient algorithms to find n rules that generate a partition closest in L∞ to the desired one. We do the same for a one-sided version of L∞ which equals to the maximum overload on a server and for a relative version of it. We use our algorithms to evaluate how the expected error changes as a function of the number of rules, the number of servers, and the width of the TCAM.

Original languageEnglish
Pages (from-to)985-998
Number of pages14
JournalIEEE/ACM Transactions on Networking
Issue number3
StatePublished - 1 Jun 2022


  • Computer network management
  • algorithms
  • data structures
  • packet switching


Dive into the research topics of 'Optimal Weighted Load Balancing in TCAMs'. Together they form a unique fingerprint.

Cite this