Accelerators have become increasingly popular in datacenters due to their cost, performance, and energy benefits. Direct-attached accelerators, where the network stack is implemented in hardware and network traffic bypasses the main CPU, can further enhance these benefits. However, modern datacenter software network stacks are complex, with interleaved protocol layers, network management functions, as well as virtualization support. They also need to flexibly interpose new layers to support new use cases. By contrast, most hardware network stacks only support basic protocol compatibility and are often difficult to extend due to using fixed processing pipelines. This paper proposes Beehive, a new, open-source hardware network stack for direct-attached FPGA accelerators designed to enable flexible and adaptive construction of complex protocol functionality. Our approach is based on a network-on-chip (NoC) substrate, automated tooling for the independent scale-up of protocol elements, compiletime deadlock analysis, and a flexible diagnostics and control plane. Our implementation interoperates with standard Linux TCP and UDP clients, allowing existing RPC clients to interface with the accelerator. We use three applications to illustrate the advantages of our approach: a throughputoriented erasure coding application, an accelerator for distributed consensus operations that reduces the latency and energy cost of linearizability, and TCP live migration support for dynamic server consolidation.
翻译:加速器凭借其成本、性能及能效优势在数据中心中日益普及。直连加速器通过硬件实现网络栈并令网络流量绕过主CPU,可进一步提升这些优势。然而,现代数据中心软件网络栈结构复杂,包含交织的协议层、网络管理功能及虚拟化支持,还需灵活插入新层以支持新兴应用场景。相比之下,大多数硬件网络栈仅支持基础协议兼容性,且因采用固定处理流水线而难以扩展。本文提出Beehive——一种面向直连FPGA加速器的新型开源硬件网络栈,旨在实现复杂协议功能的灵活自适应构建。我们的方法基于片上网络(NoC)基底、协议元素的自动化独立扩缩工具链、编译期死锁分析以及灵活的诊断控制平面。该实现可与标准Linux TCP/UDP客户端互操作,支持现有RPC客户端直接对接加速器。我们通过三种应用验证方法优势:面向吞吐量的纠删码应用、降低线性化延迟与能耗成本的分布式共识加速器,以及支持动态服务器整合的TCP实时迁移方案。