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_\infty$ to the desired one. We do the same for a one-sided version of $L_\infty$ 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.
翻译:在网络中,分流是一种必要的功能,例如,在多个路径上或不同服务器之间平衡负荷。服务器的能力决定分流的分区。最近的一种方法是在开关中经常可以使用的永久内容可读存储器(TCAM)中执行分流。重要的是减少为这项任务分配的内存量,因为TCAM是耗电的,对于诸如分类和路线等其他任务也经常需要。以前的工作表明如何计算出精确执行特定分区所需的最小的前缀-配对 TCAM 。在本文中,我们解决了更实际的情况,即最多可以使用美元前缀-配对 TCAM 规则,从而限制了完全执行所希望的分区的能力。我们给出简单有效的算法来找到美元规则,产生最接近于所希望的分区值的 $/ infty 。我们对于单方版本的 $/ infty$, 相当于服务器和相对版本的最大超载量。我们用我们的算法来评估服务器的频率如何变化。