  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 remote
procedure call tail latency for Linux UDP clients versus a CPU-attached
accelerator
