ABSTRACT
This paper presents P4FPGA, a new tool for developing and evaluating data plane applications. P4FPGA is an open-source compiler and runtime. The compiler extends the P4.org reference compiler with a custom backend that generates FPGA code. P4FPGA supports different architecture configurations, depending on the needs of the particular application.
We have benchmarked several representative P4 programs, and our experiments show that code generated by P4FPGA runs at line-rate at all packet sizes with latencies comparable to commercial ASICs. By combining high-level programming abstractions offered by P4 with a flexible and powerful hardware target, P4FPGA allows developers to rapidly prototype and deploy new data plane applications.
- A. Abdelhadi and G. Lemieux. Modular SRAM-Based Binary Content-Addressable Memories. In IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), May 2015.Google Scholar
- AccelDSP Synthesis Tool. http://www.xilinx.com/tools/acceldsp.htm.Google Scholar
- Algorithms in Logic. www.algo-logic.com.Google Scholar
- Arista 7050X Switch Architecture. https://solutions.arista.com/hubfs/Arista/Datasheets/Arista_7050X_Switch_Architecture_V0.51_2.pdf.Google Scholar
- Axonerve. Axonerve Low Latency Matching Engine Synthesizable IP Core.Google Scholar
- P. Bosshart, D. Daly, G. Gibb, M. Izzard, N. McKeown, J. Rexford, C. Schlesinger, D. Talayco, A. Vahdat, G. Varghese, and D. Walker. P4: Programming Protocol-Independent Packet Processors. SIGCOMM Computer Communication Review (CCR), 44(3):87--95, July 2014. Google ScholarDigital Library
- P. Bosshart, G. Gibb, H.-S. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M. Horowitz. Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN. In SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), pages 99--110, Aug. 2013. Google ScholarDigital Library
- G. Brebner and W. Jiang. High-Speed Packet Processing using Reconfigurable Computing. IEEE/ACM International Symposium on Microarchitecture, Jan. 2014. Google ScholarCross Ref
- M. Budiu, G. Venkataramani, T. Chelcea, and S. C. Goldstein. Spatial computation. In ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2004. Google ScholarDigital Library
- Corsa. Corsa DP6420 OpenFlow data plane. http://www.corsa.com/products/dp6420.Google Scholar
- H. T. Dang, M. Canini, F. Pedone, and R. Soulé. Paxos Made Switch-y. SIGCOMM Computer Communication Review (CCR), 44:87--95, Apr. 2016. Google ScholarDigital Library
- H. T. Dang, D. Sciascia, M. Canini, F. Pedone, and R. Soulé. NetPaxos: Consensus at Network Speed. In ACM SIGCOMM SOSR, pages 59--73, June 2015.Google ScholarDigital Library
- H. T. Dang, H. Wang, T. Jepsen, G. Brebner, C. Kim, J. Rexford, R. Soul, and H. Weatherspoon. Whippersnapper: A P4 Language Benchmark Suite. In ACM SIGCOMM SOSR, 2017.Google ScholarDigital Library
- U. Dhawan and A. Dehon. Area-Efficient Near-Associative Memories on FPGAs. ACM Transactions on Reconfigurable Technology System, Jan. 2015.Google Scholar
- DPDK. http://dpdk.org/.Google Scholar
- ExaBlaze. Exalink Fusion. https://exablaze.com/exalink-fusion.Google Scholar
- J. H. Han, P. Mundkur, C. Rotsos, G. Antichi, N. H. Dave, A. W. Moore, and P. G. Neumann. Blueswitch: Enabling Provably Consistent Configuration of Network Switches. In Proceedings of the Eleventh ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS, 2015.Google ScholarCross Ref
- T. Jepsen, L. P. de Sousa, H. T. Dang, F. Pedone, and R. Soulé. Optimistic aborts for geo-distributed transactions. CoRR, abs/1610.07459, 2016.Google Scholar
- J. Z. J.K Lee. LBSwitch: Your Switch is Your Server Load-Balancer. http://p4.org/p4-workshop-2016/, May 2016.Google Scholar
- L. Jose, L. Yan, G. Varghese, and N. McKeown. Compiling Packet Programs to Reconfigurable Switches. In 12th USENIX Symposium on Networked Systems Design and Implementation. USENIX Association, May 2015.Google Scholar
- M. King, J. Hicks, and J. Ankcorn. Software-Driven Hardware Development. In Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, New York, NY, USA, 2015. Google ScholarDigital Library
- L. Lamport. The Part-Time Parliament. ACM Transactions on Computer Systems (TOCS), 16:133--169, May 1998. Google ScholarDigital Library
- P. Lapukhov. Data-plane probe for in-band telemetry collection. https://tools.ietf.org/html/draft-lapukhov-dataplane-probe-00.Google Scholar
- B. Li, K. Tan, L. L. Luo, Y. Peng, R. Luo, N. Xu, Y. Xiong, P. Cheng, and E. Chen. Clicknp: Highly flexible and high performance network processing with reconfigurable hardware. In SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), 2016. Google ScholarDigital Library
- J. Li, E. Michael, N. K. Sharma, A. Szekeres, and D. R. K. Ports. Just Say NO to Paxos Overhead: Replacing Consensus with Network Ordering. In OSDI16, Nov. 2016.Google Scholar
- Mininet. http://mininet.org.Google Scholar
- R. Nikhil and K. Czeck. BSV by Example. CreateSpace, 2010.Google Scholar
- Open-NFP. http://open-nfp.org/.Google Scholar
- Open vSwitch. http://www.openvswitch.org.Google Scholar
- P4. P4 Behavioral Model. https://github.com/p4lang/p4c-bm.Google Scholar
- P4. P4 Specification. http://p4.org/spec/.Google Scholar
- P4 Behavioral Model. https://github.com/p4lang.Google Scholar
- P4@ELTE. http://p4.elte.hu/.Google Scholar
- P4.org. http://p4.org.Google Scholar
- A. Putnam, A. Caulfield, E. Chung, and D. Chiou. A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services. In Proceeding of the 41st Annual International Symposium on Computer Architecuture (ISCA), June 2014. Google ScholarCross Ref
- M. Shahbaz, S. Choi, B. Pfaff, C. Kim, N. Feamster, N. McKeown, and J. Rexford. PISCES: A Programmable, Protocol-Independent Software Switch. In SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM), 2016. Google ScholarDigital Library
- S. Singh and D. J. Greaves. Kiwi: Synthesis of fpga circuits from parallel programs. In Proceedings of the 2008 16th International Symposium on Field-Programmable Custom Computing Machines (FCCM), 2008. Google ScholarDigital Library
- T. Tofigh. Dynamic Analytics for Programmable NICs Utilizing P4. http://p4.org/p4-workshop-2016/, May 2016.Google Scholar
- Xilinx. SDNet. http://www.xilinx.com/products/design-tools/software-zone/sdnet.html.Google Scholar
- N. Zilberman, Y. Audzevich, G. A. Covington, and A. W. Moore. NetFPGA SUME: Toward 100 Gbps as Research Commodity. IEEE Micro, Sept. 2014. Google ScholarCross Ref
Recommendations
The P4->NetFPGA Workflow for Line-Rate Packet Processing
FPGA '19: Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysP4 has emerged as the de facto standard language for describing how network packets should be processed, and is becoming widely used by network owners, systems developers, researchers and in the classroom. The goal of the work presented here is to make ...
P4-Compatible High-Level Synthesis of Low Latency 100 Gb/s Streaming Packet Parsers in FPGAs
FPGA '18: Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysPacket parsing is a key step in SDN-aware devices. Packet parsers in SDN networks need to be both reconfigurable and fast, to support the evolving network protocols and the increasing multi-gigabit data rates. The combination of packet processing ...
A high-performance framework for a network programmable packet processor using P4 and FPGA
AbstractThe emergence of new network technologies and users' ever-increasing demand necessitates the introduction of highly programmable hardware with high flexibility and performance at the network data plane. The switches at the data plane ...
Highlights- High-performance framework for a network programmable packet processor.
- ...
Comments