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实时迁移功能。