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