Direct-attached accelerators, where application accelerators are directly connected to the datacenter network via a hardware network stack, offer substantial benefits in terms of reduced latency, CPU overhead, and energy use. However, a key challenge is that modern datacenter network stacks are complex, with interleaved protocol layers, network management functions, and virtualization support. To operators, network feature agility, diagnostics, and manageability are often considered just as important as raw performance. By contrast, existing hardware network stacks only support basic protocols and are often difficult to extend since they use fixed processing pipelines. We propose Beehive, a new, open-source FPGA network stack for direct-attached accelerators designed to enable flexible and adaptive construction of complex network functionality in hardware. Application and network protocol elements are modularized as tiles over a network-on-chip substrate. Elements can be added or scaled up/down to match workload characteristics with minimal effort or changes to other elements. Flexible diagnostics and control are integral, with tooling to ensure deadlock safety. Our implementation interoperates with standard Linux TCP and UDP clients, with a 4x improvement in end-to-end RPC tail latency for Linux UDP clients versus a CPU-attached accelerator. Beehive is available at https://github.com/beehive-fpga/beehive
翻译:直连加速器将应用加速器通过硬件网络栈直接连接到数据中心网络,在降低延迟、减少CPU开销和节约能耗方面具有显著优势。然而,关键挑战在于现代数据中心网络栈结构复杂,包含交错的协议层、网络管理功能及虚拟化支持。对运营商而言,网络功能敏捷性、诊断能力和可管理性通常被认为与原始性能同等重要。相比之下,现有硬件网络栈仅支持基础协议,且由于采用固定处理流水线而难以扩展。本文提出蜂巢——一种面向直连加速器的新型开源FPGA网络栈,旨在实现复杂网络功能的硬件级灵活自适应构建。应用与网络协议组件通过片上网络基板实现模块化封装。组件可根据工作负载特性进行动态增删或规模调整,且无需对其他组件进行大规模修改。灵活的诊断与控制机制作为核心特性集成其中,并配备确保无死锁安全的工具链。本实现方案可与标准Linux TCP/UDP客户端互操作,相较于CPU连接式加速器,Linux UDP客户端的端到端RPC尾延迟降低至四分之一。蜂巢项目开源地址:https://github.com/beehive-fpga/beehive