Beehive: A Flexible Network Stack for Direct-Attached Accelerators (2403.14770v5)
Abstract: 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
- Kernel TLS operation. https://docs.kernel.org/networking/tls-offload.html. Accessed: 2022-6-28.
- TCP Offload engine – Offloading TCP into hardware. https://www.easics.com/tcp-offload-engine/. Accessed: 2022-6-28.
- TCP/IP Offload Engine 10/25G. https://www.xilinx.com/products/intellectual-property/1-y7rb2p.html#productspecs. Accessed: 2022-6-28.
- TCP/UDP/IP Network Protocol Accelerator Platform (NPAP). https://www.missinglinkelectronics.com/index.php/menu-products/menu-network-protocol-accelerator. Accessed: 2022-6-28.
- Achronix. Revolutionary New 2D Network-on-Chip. https://www.achronix.com/revolutionary-new-2d-network-chip. Accessed: 2022-7-4.
- 1RMA: Re-Envisioning Remote Memory Access for Multi-Tenant Datacenters. In Proceedings of the Annual Conference of the ACM Special Interest Group on Data Communication on the Applications, Technologies, Architectures, and Protocols for Computer Communication, page 708–721, New York, NY, USA, 2020.
- Enabling Programmable Transport Protocols in High-Speed NICs. In 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI), February 2020.
- Backblaze. JavaReedSolomon. https://github.com/Backblaze/JavaReedSolomon. accessed: 2023-11-28.
- OpenPiton: An Open Source Manycore Research Framework. In Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’16, page 217–232, New York, NY, USA, 2016. Association for Computing Machinery.
- Extensible and scalable network monitoring using opensafe. INM/WREN, 10, 2010.
- TCP Congestion Control. RFC 5681, September 2009.
- Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN. SIGCOMM Comput. Commun. Rev., 43(4):99–110, aug 2013.
- hXDP: Efficient Software Packet Processing on FPGA NICs. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20), pages 973–990. USENIX Association, November 2020.
- A Cloud-Scale Acceleration Architecture. In Proceedings of the 49th Annual IEEE/ACM International Symposium on Microarchitecture, pages 1–13. IEEE Computer Society, October 2016.
- Paxos made live - an engineering perspective (2006 invited talk). In Proceedings of the 26th Annual ACM Symposium on Principles of Distributed Computing, 2007.
- Chelsio. Terminator 6 ASIC. https://www.chelsio.com/terminator-6-asic/. Accessed: 2019-10-24.
- Overload Control for u-scale RPCs with Breakwater. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20), pages 299–314. USENIX Association, November 2020.
- Cilium. L7 load balancing and url re-writing. https://docs.cilium.io/en/latest/gettingstarted/servicemesh/envoy-traffic-management/. Accessed: 2022-6-28.
- Cloudflare. What is mutual TLS (mTLS)? https://www.cloudflare.com/learning/access-management/what-is-mutual-tls/. Accessed: 2022-6-28.
- Seeing is believing: A client-centric specification of database isolation. In Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC ’17, page 73–82, New York, NY, USA, 2017. Association for Computing Machinery.
- Dally and Seitz. Deadlock-free message routing in multiprocessor interconnection networks. IEEE Transactions on Computers, C-36(5):547–553, 1987.
- Route Packets, Not Wires: On-Chip Inteconnection Networks. In Proceedings of the 38th Annual Design Automation Conference, DAC ’01, page 684–689, New York, NY, USA, 2001. Association for Computing Machinery.
- Andromeda: Performance, Isolation, and Velocity at Scale in Cloud Network Virtualization. In 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI 18), pages 373–387, Renton, WA, April 2018. USENIX Association.
- Maglev: A Fast and Reliable Software Network Load Balancer. In 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16), pages 523–535, Santa Clara, CA, 2016.
- Envoy Proxy. https://www.envoyproxy.io/, 2022.
- Daniel Firestone. VFP: A virtual switch platform for host SDN in the public cloud. In 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 17), pages 315–328, Boston, MA, March 2017. USENIX Association.
- Azure Accelerated Networking: SmartNICs in the Public Cloud. In 15th USENIX Symposium on Networked Systems Design and Implementation (NSDI), April 2018.
- Corundum: An Open-Source 100-Gbps NIC. In 28th IEEE International Symposium on Field-Programmable Custom Computing Machines, 2020.
- Backpressure Flow Control. In 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI 22), pages 779–805, 2022.
- Prism: Proxies without the Pain. In 18th USENIX Symposium on Networked Systems Design and Implementation (NSDI 21), pages 535–549. USENIX Association, April 2021.
- Erasure coding in windows azure storage. In 2012 USENIX Annual Technical Conference (USENIX ATC 12), pages 15–26, Boston, MA, June 2012. USENIX Association.
- ZooKeeper: Wait-free coordination for internet-scale systems. In 2010 USENIX Annual Technical Conference (USENIX ATC 10). USENIX Association, June 2010.
- Istio. Traffic management. https://istio.io/latest/docs/concepts/traffic-management/. Accessed: 2022-6-28.
- High Performance Packet Processing with FlexNIC. In Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’16, page 67–81, New York, NY, USA, 2016. Association for Computing Machinery.
- Rethinking erasure codes for cloud file systems: Minimizing I/O for recovery and degraded reads. In 10th USENIX Conference on File and Storage Technologies (FAST 12), San Jose, CA, February 2012. USENIX Association.
- Rosebud: Making fpga-accelerated middlebox development more pleasant. In Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3, ASPLOS 2023, page 586–605, New York, NY, USA, 2023. Association for Computing Machinery.
- Improving network management with software defined networking. IEEE Communications Magazine, 51(2):114–119, 2013.
- Network Virtualization in Multi-tenant Datacenters. In 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14), pages 203–216, Seattle, WA, April 2014. USENIX Association.
- Swift: Delay is Simple and Effective for Congestion Control in the Datacenter. In Proceedings of the ACM SIGCOMM 2020 Conference, pages 514–528, 2020.
- Comparison of Deadlock Recovery and Avoidance Mechanisms to Approach Message Dependent Deadlocks in On-chip Networks. In 2010 Fourth ACM/IEEE International Symposium on Networks-on-Chip, pages 17–24, 2010.
- ClickNP: Highly Flexible and High Performance Network Processing with Reconfigurable Hardware. In Proceedings of the 2016 ACM SIGCOMM Conference, SIGCOMM ’16, page 1–14, New York, NY, USA, 2016. Association for Computing Machinery.
- HPCC: High Precision Congestion Control. In Proceedings of the ACM SIGCOMM 2019 Conference, page 44–58, 2019.
- PANIC: A High-Performance Programmable NIC for Multi-tenant Networks. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20), pages 243–259. USENIX Association, November 2020.
- Viewstamped replication revisited. Technical Report MIT-CSAIL-TR-2012-021, MIT, July 2012.
- Snap: a Microkernel Approach to Host Networking. In In ACM SIGOPS 27th Symposium on Operating Systems Principles, New York, NY, USA, 2019.
- Microsoft. Create security policies with extended port access control lists. https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v-virtual-switch/create-security-policies-with-extended-port-access-control-lists. Accessed: 2022-6-28.
- Homa: A receiver-driven low-latency transport protocol using network priorities. In Proceedings of the 2018 Conference of the ACM Special Interest Group on Data Communication, page 221–235, New York, NY, USA, 2018. ACM.
- In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX Conference on USENIX Annual Technical Conference, USENIX ATC’14, page 305–320, USA, 2014. USENIX Association.
- Ananta: Cloud Scale Load Balancing. SIGCOMM Comput. Commun. Rev., 43(4):207–218, aug 2013.
- FlowBlaze: Stateful Packet Processing in Hardware. In 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19), pages 531–548, Boston, MA, February 2019. USENIX Association.
- Designing distributed systems using approximate synchrony in data center networks. In 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15), pages 43–57, Oakland, CA, May 2015. USENIX Association.
- A solution to the network challenges of data recovery in erasure-coded distributed storage systems: A study on the facebook warehouse cluster. In 5th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 13), San Jose, CA, June 2013. USENIX Association.
- Limago: An FPGA-Based Open-Source 100 GbE TCP/IP Stack. In 29th International Conference on Field Programmable Logic and Applications (FPL), pages 286–292, 2019.
- FlexTOE: Flexible TCP Offload with Fine-Grained Parallelism. In 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI 22), pages 87–102, Renton, WA, April 2022. USENIX Association.
- Open-sourcing Katran, a scalable network load balancer. https://engineering.fb.com/2018/05/22/open-source/open-sourcing-katran-a-scalable-network-load-balancer/. Accessed: 2021-10-26.
- A progressive approach to handling message-dependent deadlock in parallel computer systems. IEEE Transactions on Parallel and Distributed Systems, 14(3):259–275, 2003.
- Simplifying datacenter network debugging with {{\{{PathDump}}\}}. In 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16), pages 233–248, 2016.
- David Wragg. Unimog - cloudflare’s edge load balancer. https://blog.cloudflare.com/unimog-cloudflares-edge-load-balancer/. Accessed: 2021-10-26.
- Xilinx. Alveo card management solution subsystem product guide. https://docs.xilinx.com/r/en-US/pg348-cms-subsystem/Register-Space. Accessed: 2023-11-29.
- Xilinx. Versal premium series. https://www.xilinx.com/products/silicon-devices/acap/versal-premium.html. Accessed: 2022-7-4.
- The Demikernel Datapath OS Architecture for Microsecond-Scale Datacenter Systems. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles, SOSP ’21, page 195–211, New York, NY, USA, 2021. Association for Computing Machinery.
- Aequitas: Admission control for performance-critical rpcs in datacenters. In Proceedings of the ACM SIGCOMM 2022 Conference, SIGCOMM ’22, page 1–18, New York, NY, USA, 2022. Association for Computing Machinery.
- Achieving 100Gbps Intrusion Prevention on a Single Server. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20), pages 1083–1100. USENIX Association, November 2020.
- Katie Lim (5 papers)
- Matthew Giordano (1 paper)
- Theano Stavrinos (1 paper)
- Jacob Nelson (12 papers)
- Irene Zhang (5 papers)
- Baris Kasikci (15 papers)
- Tom Anderson (3 papers)