skip to main content
10.1145/3050220.3050234acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article
Open Access

P4FPGA: A Rapid Prototyping Framework for P4

Published:03 April 2017Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. AccelDSP Synthesis Tool. http://www.xilinx.com/tools/acceldsp.htm.Google ScholarGoogle Scholar
  3. Algorithms in Logic. www.algo-logic.com.Google ScholarGoogle Scholar
  4. Arista 7050X Switch Architecture. https://solutions.arista.com/hubfs/Arista/Datasheets/Arista_7050X_Switch_Architecture_V0.51_2.pdf.Google ScholarGoogle Scholar
  5. Axonerve. Axonerve Low Latency Matching Engine Synthesizable IP Core.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Brebner and W. Jiang. High-Speed Packet Processing using Reconfigurable Computing. IEEE/ACM International Symposium on Microarchitecture, Jan. 2014. Google ScholarGoogle ScholarCross RefCross Ref
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. Corsa. Corsa DP6420 OpenFlow data plane. http://www.corsa.com/products/dp6420.Google ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. U. Dhawan and A. Dehon. Area-Efficient Near-Associative Memories on FPGAs. ACM Transactions on Reconfigurable Technology System, Jan. 2015.Google ScholarGoogle Scholar
  15. DPDK. http://dpdk.org/.Google ScholarGoogle Scholar
  16. ExaBlaze. Exalink Fusion. https://exablaze.com/exalink-fusion.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarCross RefCross Ref
  18. 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 ScholarGoogle Scholar
  19. J. Z. J.K Lee. LBSwitch: Your Switch is Your Server Load-Balancer. http://p4.org/p4-workshop-2016/, May 2016.Google ScholarGoogle Scholar
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. L. Lamport. The Part-Time Parliament. ACM Transactions on Computer Systems (TOCS), 16:133--169, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. P. Lapukhov. Data-plane probe for in-band telemetry collection. https://tools.ietf.org/html/draft-lapukhov-dataplane-probe-00.Google ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle Scholar
  26. Mininet. http://mininet.org.Google ScholarGoogle Scholar
  27. R. Nikhil and K. Czeck. BSV by Example. CreateSpace, 2010.Google ScholarGoogle Scholar
  28. Open-NFP. http://open-nfp.org/.Google ScholarGoogle Scholar
  29. Open vSwitch. http://www.openvswitch.org.Google ScholarGoogle Scholar
  30. P4. P4 Behavioral Model. https://github.com/p4lang/p4c-bm.Google ScholarGoogle Scholar
  31. P4. P4 Specification. http://p4.org/spec/.Google ScholarGoogle Scholar
  32. P4 Behavioral Model. https://github.com/p4lang.Google ScholarGoogle Scholar
  33. P4@ELTE. http://p4.elte.hu/.Google ScholarGoogle Scholar
  34. P4.org. http://p4.org.Google ScholarGoogle Scholar
  35. 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 ScholarGoogle ScholarCross RefCross Ref
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. T. Tofigh. Dynamic Analytics for Programmable NICs Utilizing P4. http://p4.org/p4-workshop-2016/, May 2016.Google ScholarGoogle Scholar
  39. Xilinx. SDNet. http://www.xilinx.com/products/design-tools/software-zone/sdnet.html.Google ScholarGoogle Scholar
  40. N. Zilberman, Y. Audzevich, G. A. Covington, and A. W. Moore. NetFPGA SUME: Toward 100 Gbps as Research Commodity. IEEE Micro, Sept. 2014. Google ScholarGoogle ScholarCross RefCross Ref

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    SOSR '17: Proceedings of the Symposium on SDN Research
    April 2017
    211 pages
    ISBN:9781450349475
    DOI:10.1145/3050220

    Copyright © 2017 Owner/Author

    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 3 April 2017

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate7of43submissions,16%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader