Load-Balancers play an important role in data centers as they distribute network flows across application servers and guarantee per-connection consistency. It is hard however to make fair load balancing decisions so that all resources are efficiently occupied yet not overloaded. Tracking connection states allows to infer server load states and make informed decisions, but at the cost of additional memory space consumption. This makes it hard to implement on programmable hardware, which has constrained memory but offers line-rate performance. This paper presents Charon, a stateless load-aware load balancer that has line-rate performance implemented in P4-NetFPGA. Charon passively collects load states from application servers and employs the power-of-2-choices scheme to make data-driven load balancing decisions and improve resource utilization. Perconnection consistency is preserved statelessly by encoding server ID in a covert channel. The prototype design and implementation details are described in this paper. Simulation results show performance gains in terms of load distribution fairness, quality of service, throughput and processing latency.
翻译:负载- 平衡器在数据中心中发挥重要作用, 因为它们通过应用程序服务器传播网络流, 并保障每个连接的一致性。 然而, 很难做出公平的负载平衡决定, 以便所有资源都得到高效的占用, 而不是超负荷。 跟踪连接状态允许推断服务器负载状态并做出知情的决定, 但以额外的内存空间消耗为代价。 这使得难以在可编程的硬件上实施程序化硬件, 该硬件有内存限制, 但提供一线性能。 本文展示了Charon, 一个无国籍的负载平衡器, 它在 P4- NetFPGA 中具有直线性能。 Charon 被动地从应用程序服务器中收集负载状态, 并使用“ 2 选择权” 计划来做出数据驱动的负载平衡决定, 并改进资源利用情况。 连接的一致性通过在隐蔽的频道中编码服务器识别符来保持。 原型的设计和实施细节在本文中描述。 模拟结果显示在负载分配公平性、 服务质量、 吞吐和处理 Latent 方面的业绩增益 。