基于FPGA的高性能可编程数据平面研究综述
作者:
作者简介:

赵鹏(1988-),男,博士生,主要研究领域为网络处理器,网络测量;程光(1973-),男,博士,教授,博士生导师,CCF杰出会员,主要研究领域为网络空间安全监测和防护,网络大数据分析;赵德宇(1998-),男,博士生,主要研究领域为网络测量,FPGA网络加速,网络态势感知

通讯作者:

程光,gcheng@njnet.edu.cn

基金项目:

国家重点研发计划(2018YFB1800602)


Survey on FPGA-based High-performance Programmable Data Plane
Author:
  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [149]
  • |
  • 相似文献
  • | | |
  • 文章评论
    摘要:

    可编程数据平面(PDP)一方面支持网络应用的卸载与加速, 给网络应用带来了革命性的发展机遇; 另一方面支持新协议、新服务的快速实现和部署, 促进了网络创新和演进, 是近年来网络领域的研究热点. FPGA因其通用的计算架构、丰富的片内资源和扩展接口提供了多种可编程数据平面的具体实现, 支持更广范围的应用场景. 同时, FPGA还为探索更通用的可编程数据平面抽象提供了可能. 因此, 基于FPGA的可编程数据平面受到了学术界与产业界的广泛关注. 首先分类别阐述基于FPGA的可编程数据平面(F-PDP)抽象. 接着, 介绍基于F-PDP快速构建网络应用的关键技术的研究进展. 之后, 介绍基于F-PDP的新型可编程网络设备. 此外, 从提升网络性能、构建网络测量框架以及部署网络安全应用这3个方面, 详细梳理近年来基于F-PDP的应用研究成果. 最后, 探讨F-PDP未来可能的研究趋势.

    Abstract:

    The programmable data plane (PDP), allowing offloading and accelerating network applications, creates revolutionary development opportunities for such applications. Also, it promotes the innovation and evolution of the network by supporting the rapid implementation and deployment of new protocols and services. It has thus been a research hotspot in the field of the network in recent years. With its general computing architecture, rich on-chip resources and extended interfaces, field-programmable gate array (FPGA) provides a variety of implementations of PDP for a wider range of application scenarios. It also offers the possibility to explore more general PDP abstraction. Therefore, FPGA-based PDP (F-PDP) has been widely concerned by the academic and industrial communities. In this study, F-PDP abstraction is described by category. Then, the research progress of key technologies for building network applications with F-PDP is outlined, and programmable network devices based on F-PDP are presented. After that, the application research based on F-PDP in recent years is reviewed in detail from three aspects: improving network performance, building a network measurement framework, and deploying network security applications. Finally, the possible future research trends of F-PDP are discussed.

    参考文献
    [1] 李博杰. 基于可编程网卡的高性能数据中心系统 [博士学位论文]. 合肥: 中国科学技术大学, 2019.
    Li BJ. High performance data center systems with programmable network interface cards [Ph.D. Thesis]. Hefei: University of Science and Technology of China, 2019 (in Chinese with English abstract).
    [2] Khosravi H, Anderson T. Requirements for separation of IP control and forwarding. RFC 3654. 2003. 1–18.
    [3] Yang L, Dantu R, Anderson T, Gopal R. Forwarding and control element separation (ForCES) framework. RFC 3746, 2004. 1–40.
    [4] Casado M, Freedman MJ, Pettit J, Luo JY, McKeown N, Shenker S. Ethane: Taking control of the enterprise. ACM SIGCOMM Computer Communication Review, 2007, 37(4): 1–12.
    [5] McKeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Shenker S, Turner J. OpenFlow: Enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review, 2008, 38(2): 69–74. [doi: 10.1145/1355734.1355746]
    [6] Kreutz D, Ramos FMV, Veríssimo PE, Rothenberg CE, Azodolmolky S, Uhlig S. Software-defined networking: A comprehensive survey. Proceedings of the IEEE, 2015, 103(1): 14–76. [doi: 10.1109/JPROC.2014.2371999]
    [7] 林耘森箫, 毕军, 周禹, 张程, 吴建平, 刘争争, 张乙然. 基于P4的可编程数据平面研究及其应用. 计算机学报, 2019, 42(11): 2539–2560. [doi: 10.11897/SP.J.1016.2019.02539]
    Lin YSX, Bi J, Zhou Y, Zhang C, Wu JP, Liu ZZ, Zhang YR. Research and applications of programmable data plane based on P4. Chinese Journal of Computers, 2019, 42(11): 2539–2560 (in Chinese with English abstract). [doi: 10.11897/SP.J.1016.2019.02539]
    [8] Bosshart P, Gibb G, Kim HS, Varghese G, McKeown N, Izzard M, Mujica F, Horowitz M. Forwarding metamorphosis: Fast programmable match-action processing in hardware for SDN. ACM SIGCOMM Computer Communication Review, 2013, 43(4): 99–110. [doi: 10.1145/2534169.2486011]
    [9] Bosshart P, Daly D, Gibb G, Izzard M, McKeown N, Rexford J, Schlesinger C, Talayco D, Vahdat AM, Varghese G, Walker DP. P4: Programming protocol-independent packet processors. ACM SIGCOMM Computer Communication Review, 2014, 44(3): 87–95. [doi: 10.1145/2656877.2656890]
    [10] Hauser F, Häberle M, Merling D, Lindner S, Gurevich V, Zeiger F, Frank R, Menth M. A survey on data plane programming with P4: Fundamentals, advances, and applied research. arXiv:2101.10632, 2021.
    [11] Kfoury EF, Crichigno J, Bou-Harb E. An exhaustive survey on P4 programmable data plane switches: Taxonomy, applications, challenges, and future trends. IEEE Access, 2021, 9: 87094–87155. [doi: 10.1109/ACCESS.2021.3086704]
    [12] Kapre N, Bayliss S. Survey of domain-specific languages for FPGA computing. In: Proc. of the 26th Int’l Conf. on Field Programmable Logic and Applications (FPL). Lausanne: IEEE, 2016. 1–12.
    [13] Chole S, Fingerhut A, Ma S, Sivaraman A, Vargaftik S, Berger A, Mendelson G, Alizadeh M, Chuang ST, Keslassy I, Orda A, Edsall T. dRMT: Disaggregated programmable switching. In: Proc. of the 2017 Conf. of the ACM Special Interest Group on Data Communication. Los Angeles: ACM, 2017. 1–14.
    [14] Sivaraman A, Kim C, Krishnamoorthy R, Dixit A, Budiu M. Dc.P4: Programming the forwarding plane of a data-center switch. In: Proc. of the 1st ACM SIGCOMM Symp. on Software Defined Networking Research. Santa: ACM, 2015. 1–8.
    [15] Song HY. Protocol-oblivious forwarding: Unleash the power of SDN through a future-proof forwarding plane. In: Proc. of the 2nd ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking. Hong Kong: ACM, 2013. 127–132.
    [16] Bianchi G, Bonola M, Capone A, Cascone C. Openstate: Programming platform-independent stateful openflow applications inside the switch. ACM SIGCOMM Computer Communication Review, 2014, 44(2): 44–51. [doi: 10.1145/2602204.2602211]
    [17] Moshref M, Bhargava A, Gupta A, Yu M, Govindan R. Flow-level state transition as a new switch primitive for SDN. In: Proc. of the 3rd Workshop on Hot Topics in Software Defined Networking. Chicago: ACM, 2014. 61–66.
    [18] Bianchi G, Bonola M, Pontarelli S, Sanvito D, Capone A, Cascone C. Open packet processor: A programmable architecture for wire speed platform-independent stateful in-network processing. arXiv:1605.01977, 2016.
    [19] Pontarelli S, Bifulco R, Bonola M, Cascone C, Spaziani M, Bruschi V, Sanvito D, Siracusano G, Capone A, Honda M, Huici F, Bianchi G. FlowBlaze: Stateful packet processing in hardware. In: Proc. of the 16th USENIX Conf. on Networked Systems Design and Implementation. Boston: ACM, 2019. 531–548.
    [20] Sivaraman A, Cheung A, Budiu M, Kim C, Alizadeh M, Balakrishnan H, Varghese G, McKeown N, Licking S. Packet transactions: High-level programming for line-rate switches. In: Proc. of the 2016 ACM SIGCOMM Conf. Florianopolis: ACM, 2016. 15–28.
    [21] Hang ZJ, Wen M, Shi Y, Zhang CY. Programming protocol-independent packet processors high-level programming (P4HLP): Towards unified high-level programming for a commodity programmable switch. Electronics, 2019, 8(9): 958. [doi: 10.3390/electronics8090958]
    [22] Cascone C, Bifulco R, Pontarelli S, Capone A. Relaxing state-access constraints in stateful programmable data planes. ACM SIGCOMM Computer Communication Review, 2018, 48(1): 3-9.
    [23] Sivaraman A, Winstein K, Subramanian S, Balakrishnan H. No silver bullet: Extending SDN to the data plane. In: Proc. of the 12th ACM Workshop on Hot Topics in Networks. ACM, 2013. 1–7.
    [24] Mittal R, Agarwal R, Ratnasamy S, Shenker S. Universal packet scheduling. In: Proc. of the 13th USENIX Symp. on Networked Systems Design and Implementation. Santa Clara: ACM, 2016. 501–521.
    [25] Sivaraman A, Subramanian S, Alizadeh M, Chole S, Chuang ST, Agrawal A, Balakrishnan H, Edsall T, Katti S, McKeown N. Programmable packet scheduling at line rate. In: Proc. of the 2016 ACM SIGCOMM Conf. Florianopolis: ACM, 2016. 44–57.
    [26] Shrivastav V. Fast, scalable, and programmable packet scheduler in hardware. In: Proc. of the 2019 ACM Special Interest Group on Data Communication. Beijing: ACM, 2019. 367–379.
    [27] Alcoz AG, Dietmüller A, Vanbever L. SP-PIFO: Approximating push-in first-out behaviors using strict-priority queues. In: Proc. of the 17th USENIX Symp. on Networked Systems Design and Implementation. Santa Clara: ACM, 2020. 59–76.
    [28] Sharma NK, Zhao CXY, Liu M, Kannan PG, Kim C, Krishnamurthy A, Sivaraman A. Programmable calendar queues for high-speed packet scheduling. In: Proc. of the 17th USENIX Symp. on Networked Systems Design and Implementation. Santa Clara: ACM, 2020. 685–699.
    [29] Kohler E, Morris R, Chen BJ, Jannotti J, Kaashoek MF. The Click modular router. ACM Transactions on Computer Systems, 2000, 18(3): 263–297. [doi: 10.1145/354871.354874]
    [30] Kulkarni C, Brebner G, Schelle G. Mapping a domain specific language to a platform FPGA. In: Proc. of the 41st Annual Design Automation Conf. San Diego: ACM, 2004. 924–927.
    [31] Schelle G, Grunwald D. CUSP: A modular framework for high speed network applications on FPGAs. In: Proc. of the 13th ACM/SIGDA Int’l Symp. on Field-programmable Gate Arrays. Monterey: ACM, 2005. 246–257.
    [32] Rubow E, McGeer R, Mogul J, Vahdat A. Chimpp: A click-based programming and simulation environment for reconfigurable networking hardware. In: Proc. of the 2010 ACM/IEEE Symp. on Architectures for Networking and Communications Systems (ANCS). La Jolla: IEEE, 2010. 1–10.
    [33] Nikander P, Nyman B, Rinta-Aho T, Sahasrabuddhe SD, Kempf J. Towards software-defined silicon: Experiences in compiling Click to NetFPGA. In: Proc. of the 1st European NetFPGA Developers Workshop. 2010.
    [34] Rinta-Aho T, Karlstedt M, Desai MP. The click2NetFPGA toolchain. In: Proc. of the 2012 USENIX Annual Technical Conf. Boston: ACM, 2012. 77–88.
    [35] Li BJ, Tan K, Luo L, Peng YQ, Luo RQ, Xu NY, Xiong YQ, Cheng P, Chen EH. ClickNP: Highly flexible and high performance network processing with reconfigurable hardware. In: Proc. of the 2016 ACM SIGCOMM Conf. Florianopolis: ACM, 2016. 1–14.
    [36] Tian C, Munir A, Liu AX, Yang J, Zhao YM. OpenFunction: An extensible data plane abstraction protocol for platform-independent software-defined middleboxes. IEEE/ACM Transactions on Networking, 2018, 26(3): 1488–1501. [doi: 10.1109/TNET.2018.2829882]
    [37] Blodget B, Bobda C, Hübner M, Niyonkuru A. Partial and dynamically reconfiguration of Xilinx Virtex-II FPGAs. In: Proc. of the 2004 Int’l Conf. on Field Programmable Logic and Applications. Leuven: Springer, 2004. 801–810.
    [38] Wang H, Soulé R, Dang HT, Lee KS, Shrivastav V, Foster N, Weatherspoon H. P4FPGA: A rapid prototyping framework for P4. In: Proc. of the 2017 Symp. on SDN Research. Santa Clara: ACM, 2017. 122–135.
    [39] Wang H, Lee KS, Shrivastav V, Weatherspoon H. P4FPGA: High level synthesis for networking. In: Proc. of the 2016 ACM SIGCOMM Workshop Netw Program Lang (NetPL). Florianópolis: ACM, 2016.
    [40] P4 Behavioral Model. 2021. https://github.com/p4lang/p4c-bm
    [41] Wirbel L. Xilinx SDNet: A new way to specify network hardware. White Paper, Mountain View: The Linley Group, 2014.
    [42] Yazdinejad A, Bohlooli A, Jamshidi K. P4 to SDNet: Automatic generation of an efficient protocol-independent packet parser on reconfigurable hardware. In: Proc. of the 8th Int’l Conf. on Computer and Knowledge Engineering (ICCKE). Mashhad: IEEE, 2018. 159–164.
    [43] Ibanez S, Brebner G, McKeown N, Zilberman N. The P4→netFPGA workflow for line-rate packet processing. In: Proc. of the 2019 ACM/SIGDA Int’l Symp. on Field-Programmable Gate Arrays. Seaside: ACM, 2019. 1–9.
    [44] Benácek P, Pu V, Kubátová H. P4-to-VHDL: Automatic generation of 100 Gbps packet parsers. In: Proc. of the 24th IEEE Annual Int’l Symp. on Field-programmable Custom Computing Machines (FCCM). Washington: IEEE, 2016. 148–155.
    [45] Benáček P, Puš V, Kubátová H, Čejka T. P4-To-VHDL: Automatic generation of high-speed input and output network blocks. Microprocessors and Microsystems, 2018, 56: 22–33. [doi: 10.1016/j.micpro.2017.10.012]
    [46] Cabal J, Benácek P, Foltova J, Holub J. Scalable P4 deparser for speeds over 100 Gbps. In: Proc. of the 27th IEEE Annual Int’l Symp. on Field-programmable Custom Computing Machines (FCCM). San Diego: IEEE, 2019. 323–323.
    [47] Luinaud T, Da Silva JS, Langlois JMP, Savaria Y. Design principles for packet deparsers on FPGAs. In: Proc. of the 2021 ACM/SIGDA Int’l Symp. on Field-programmable Gate Arrays. ACM, 2021. 280–286.
    [48] Kekely M, Korenek J. Mapping of P4 match action tables to FPGA. In: Proc. of the 27th Int’l Conf. on Field Programmable Logic and Applications (FPL). Ghent: IEEE, 2017. 1–2.
    [49] Taylor DE, Turner JS. Scalable packet classification using distributed crossproducing of field labels. In: Proc. of the 24th IEEE Annual Joint Conf. of the IEEE Computer and Communications Societies. Miami: IEEE, 2005. 269–280.
    [50] Cao Z, Su HY, Yang QM, Wen M, Zhang CY. Poster abstract: A template-based framework for generating network processor in FPGA. In: Proc. of the 2019 IEEE Conf. on Computer Communications Workshops (IEEE INFOCOM 2019). Paris: IEEE, 2019. 1057–1058.
    [51] Cao Z, Su HY, Yang QM, Shen JZ, Wen M, Zhang CY. P4 to FPGA-A fast approach for generating efficient network processors. IEEE Access, 2020, 8: 23440–23456. [doi: 10.1109/ACCESS.2020.2970683]
    [52] AMD. Xilinx. 2021. https://www.xilinx.com/support/download.html
    [53] Zhao R, Liu G, Srinath S, Batten C, Zhang ZR. Improving high-level synthesis with decoupled data structure optimization. In: Proc. of the 53rd ACM/EDAC/IEEE Design Automation Conf. (DAC). Austin: IEEE, 2016. 1–6.
    [54] Karras K, Hrica J. Designing protocol processing systems with vivado high-level synthesis. Xilinx application note XAPP 1209 (v1.0.1). 2014.
    [55] Da Silva JS, Boyer FR, Langlois JMP. Module-per-object: A human-driven methodology for C++-based high-level synthesis design. In: Proc. of the 27th IEEE Annual Int’l Symp. on Field-programmable Custom Computing Machines (FCCM). San Diego: IEEE, 2019. 218–226.
    [56] Sultana N, Galea S, Greaves D, Wójcik M, Shipton J, Clegg R, Mai L, Bressana P, Soulé R, Mortier R, Costa P, Pietzuch PR, Crowcroft J, Moore AW, Zilberman N. EMU: Rapid prototyping of networking services. In: Proc. of the 2017 USENIX Annual Technical Conf. Santa Clara: USENIX, 2017. 459–471.
    [57] Singh S, Greaves DJ. Kiwi: Synthesis of FPGA circuits from parallel programs. In: Proc. of the 16th Int’l Symp. on Field-programmable Custom Computing Machines. Stanford: IEEE, 2008. 3–12.
    [58] Eran H, Zeno L, István Z, Silberstein M. Design patterns for code reuse in HLS packet processing pipelines. In: Proc. of the 27th IEEE Annual Int’l Symp. on Field-programmable Custom Computing Machines (FCCM). San Diego: IEEE, 2019. 208–217.
    [59] Xilinx. SDAccel: Enabling hardware-accelerated software. 2021. https://www.xilinx.com/products/design-tools/legacy-tools/sdaccel.html
    [60] Ruan ZY, He T, Li BJ, Zhou PP, Cong J. ST-Accel: A high-level programming platform for streaming applications on FPGA. In: Proc. of the 26th IEEE Annual Int’l Symp. on Field-programmable Custom Computing Machines (FCCM). Boulder: IEEE, 2018. 9–16.
    [61] Putnam A, Caulfield AM, Chung ES, Chiou D, Constantinides K, Demme J, Esmaeilzadeh H, Fowers J, Gopal GP, Gray J, Haselman M, Hauck S, Heil S, Hormati A, Kim JY, Lanka S, Larus J, Peterson E, Pope S, Smith A, Thong J, Xiao PY, Burger D. A reconfigurable fabric for accelerating large-scale datacenter services. In: Proc. of the 41st ACM/IEEE Int’l Symp. on Computer Architecture (ISCA). Minneapolis: IEEE, 2014. 13–24.
    [62] Amazon EC2 F1 Instances. 2021. https://aws.amazon.com/ec2/instance-types/f1/
    [63] Lin YH, Shao L. Supervessel: The open cloud service for openpower. White paper, IBM Corporation, 2015.
    [64] Lockwood JW, McKeown N, Watson G, Gibb G, Hartke P, Naous J, Raghuraman R, Luo JY. NetFPGA—An open platform for gigabit-rate network switching and routing. In: Proc. of the 2007 IEEE Int’l Conf. on Microelectronic Systems Education (MSE’07). San Diego: IEEE, 2007. 160–161.
    [65] Zilberman N, Audzevich Y, Covington GA, Moore AW. NetFPGA SUME: Toward 100 Gbps as research commodity. IEEE Micro, 2014, 34(5): 32–41. [doi: 10.1109/MM.2014.61]
    [66] Yang XR, Sun ZG, Li JN, Yan JL, Li T, Quan W, Xu DL, Antichi G. FAST: Enabling fast software/hardware prototype for network experimentation. In: Proc. of the 27th IEEE/ACM Int’l Symp. on Quality of Service (IWQoS). Phoenix: IEEE, 2019. 1–10.
    [67] Zhang JS, Xiong YQ, Xu NY, Shu R, Li BJ, Cheng P, Chen G, Moscibroda T. The Feniks FPGA operating system for cloud computing. In: Proc. of the 8th Asia-Pacific Workshop on Systems. Mumbai: ACM, 2017. 1–7.
    [68] Khawaja A, Landgraf J, Prakash R, Wei M, Schkufza E, Rossbach CJ. Sharing, protection, and compatibility for reconfigurable fabric with Amorphos. In: Proc. of the 13th USENIX Symp. on Operating Systems Design and Implementation. Carlsbad: ACM, 2018. 107–127.
    [69] Agne A, Happe M, Keller A, Lübbers E, Plattner B, Platzner M, Plessl C. ReconOS: An operating system approach for reconfigurable computing. IEEE Micro, 2014, 34(1): 60–71. [doi: 10.1109/MM.2013.110]
    [70] Forencich A, Snoeren AC, Porter G, Papen G. Corundum: An open-source 100-Gbps NIC. In: Proc. of the 28th IEEE Annual Int’l Symp. on Field-programmable Custom Computing Machines (FCCM). Fayetteville: IEEE, 2020. 38–46.
    [71] Jacobsen M, Richmond D, Hogains M, Kastner R. RIFFA 2.1: A reusable integration framework for FPGA accelerators. ACM Transactions on Reconfigurable Technology and Systems, 2015, 8(4): 22. [doi: 10.1145/2815631]
    [72] Fleming K, Adler M. The LEAP FPGA operating system. In: Koch D, Hannig F, Ziener D, eds. FPGAs for Software Programmers. Cham: Springer, 2016. 245–258.
    [73] Molanes RF, Rodríguez-Andina JJ, Farina J. Performance characterization and design guidelines for efficient processor–FPGA communication in Cyclone V FPSoCs. IEEE Transactions on Industrial Electronics, 2018, 65(5): 4368–4377. [doi: 10.1109/TIE.2017.2766581]
    [74] Silva J, Sklyarov V, Skliarova I. Comparison of on-chip communications in Zynq-7000 all programmable systems-on-chip. IEEE Embedded Systems Letters, 2015, 7(1): 31–34. [doi: 10.1109/LES.2015.2399656]
    [75] 赵玉宇, 程光, 刘旭辉, 袁帅, 唐路. 下一代网络处理器及应用综述. 软件学报, 2021, 32(2): 445–474. http://www.jos.org.cn/1000-9825/6124.htm
    Zhao YY, Cheng G, Liu XH, Yuan S, Tang L. Research and applications of next generation network processor. Ruan Jian Xue Bao/Journal of Software, 2021, 32(2): 445–474 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/6124.htm
    [76] Niemiec GS, Batista LMS, Schaeffer-Filho AE, Nazar GL. A survey on FPGA support for the feasible execution of virtualized network functions. IEEE Communications Surveys & Tutorials, 2020, 22(1): 504–525. [doi: 10.1109/COMST.2019.2943690]
    [77] Kavianipour H, Muschter S, Bohm C. High performance FPGA-based DMA interface for PCIe. IEEE Transactions on Nuclear Science, 2014, 61(2): 745–749. [doi: 10.1109/TNS.2014.2304691]
    [78] Rota L, Caselle M, Chilingaryan S, Kopmann A, Weber M. A pcie dma architecture for multi-gigabyte per second data transmission. IEEE Transactions on Nuclear Science, 2015, 62(3): 972–976. [doi: 10.1109/TNS.2015.2426877]
    [79] Zazo JF, Lopez-Buedo S, Audzevich Y, Moore AW. A PCIe DMA engine to support the virtualization of 40 Gbps FPGA-accelerated network appliances. In: Proc. of the 2015 Int’l Conf. on Reconfigurable Computing and FPGAs (ReConFig). Riviera Maya: IEEE, 2015. 1–6.
    [80] Li XY, Wang XX, Liu FM, Xu H. DHL: Enabling flexible software network functions with FPGA acceleration. In: Proc. of the 38th IEEE Int’l Conf. on Distributed Computing Systems (ICDCS). Vienna: IEEE, 2018. 1–11.
    [81] Data plane development kit reference manual: Intel FPGA programmable acceleration card N3000. 2019. https://www.intel.cn/content/www/cn/zh/programmable/documentation/bfs1571412151638.html
    [82] Intel. Data plane development kit. 2021. http://www.dpdk.org
    [83] Brunella MS, Belocchi G, Bonola M, Pontarelli S, Siracusano G, Bianchi G, Cammarano A, Palumbo A, Petrucci L, Bifulco R. hXDP: Efficient software packet processing on FPGA NICs. In: Proc. of the 14th USENIX Symp. on Operating Systems Design and Implementation. ACM, 2020. 973–990.
    [84] Weerasinghe J, Polig R, Abel F, Hagleitner C. Network-attached FPGAs for data center applications. In: Proc. of the 2016 Int’l Conf. on Field-programmable Technology (FPT). Xi’an: IEEE, 2016. 36–43.
    [85] Knodel O, Genssler PR, Erxleben F, Spallek RG. FPGAs and the cloud–An endless tale of virtualization, elasticity and efficiency. International Journal on Advances in Systems and Measurements, 2018, 11(3–4): 230–249.
    [86] Quraishi MH, Tavakoli EB, Ren FB. A survey of system architectures and techniques for FPGA virtualization. IEEE Transactions on Parallel and Distributed Systems, 2021, 32(9): 2216–2230. [doi: 10.1109/TPDS.2021.3063670]
    [87] Anwer MB, Motiwala M, Tariq MB, Feamster N. SwitchBlade: A platform for rapid deployment of network protocols on programmable hardware. In: Proc. of the 2010 ACM SIGCOMM Conf. New Delhi: ACM, 2010. 183–194.
    [88] Chen F, Shan Y, Zhang Y, Wang Y, Franke H, Cheng XT, Wang K. Enabling FPGAs in the cloud. In: Proc. of the 11th ACM Conf. on Computing Frontiers. Cagliari: ACM, 2014. 1–10.
    [89] Rozhko D. Memory and network interface virtualization for multi-tenant reconfigurable compute devices [MS. Thesis]. Toronto: University of Toronto, 2018.
    [90] Knodel O, Lehmann P, Spallek RG. RC3E: Reconfigurable accelerators in data centres and their provision by adapted service models. In: Proc. of the 9th IEEE Int’l Conf. on Cloud Computing (CLOUD). San Francisco: IEEE, 2016. 19–26.
    [91] Yazdinejad A, Bohlooli A, Jamshidi K. Efficient design and hardware implementation of the OpenFlow v1.3 Switch on the Virtex-6 FPGA ML605. The Journal of Supercomputing, 2018, 74(3): 1299–1320. [doi: 10.1007/s11227-017-2175-7]
    [92] Kushwaha A, Sharma S, Bazard N, Gumaste A, Mukherjee B. Design, analysis, and a terabit implementation of a source-routing-based SDN data plane. IEEE Systems Journal, 2021, 15(1): 56–67. [doi: 10.1109/JSYST.2020.2995605]
    [93] Yazdinejad A, Parizi RM, Bohlooli A, Dehghantanha A, Choo KKR. A high-performance framework for a network programmable packet processor using P4 and FPGA. Journal of Network and Computer Applications, 2020, 156: 102564. [doi: 10.1016/j.jnca.2020.102564]
    [94] Achieving a Cloud-scale architecture with DPUs. 2021. https://blog.mellanox.com/2018/09/why-you-need-smart-nic-use-cases/
    [95] Kaufmann A, Peter S, Anderson T, Krishnamurthy A. FlexNIC: Rethinking network DMA. In: Proc. of the 15th Workshop on Hot Topics in Operating Systems. USENIX, 2015.
    [96] Firestone D, Putnam A, et al. Azure accelerated networking: SmartNICs in the public cloud. In: Proc. of the the 15th USENIX Symp. on Networked Systems Design and Implementation. Renton: ACM, 2018. 51–64.
    [97] Alibaba Cloud. 2018. https://yq.aliyun.com/articles/594276/
    [98] Luo LL, Tencent TEG. Towards converged SmartNIC architecture for bare metal & public clouds. APNet. 2018.
    [99] Mellanox Technologies. Mellanox InnovaTM-2 Flex Open Programmable SmartNIC. 2021. https://www.mellanox.com/files/doc-2020/pb-innova-2-flex.pdf
    [100] Xilinx. Adaptable accelerator cards for data center workloads. 2021. https://www.xilinx.com/products/boards-and-kits/alveo.html
    [101] Inventec. Inventec FPGA IPU C5020X. 2023. https://ebg.inventec.com/en/product/Accessories/Smart%20NIC%20Card/Inventec%20FPGA%20IPU%20C5020X
    [102] Caulfield A, Costa P, Ghobadi M. Beyond SmartNICs: Towards a fully programmable cloud. In: Proc. of the 19th IEEE Int’l Conf. on High Performance Switching and Routing (HPSR). Bucharest: IEEE, 2018. 1–6.
    [103] Yan Y, Beldachi AF, Nejabati R, Simeonidou D. P4-enabled Smart NIC: Enabling sliceable and service-driven optical data centres. Journal of Lightwave Technology, 2020, 38(9): 2688–2694. [doi: 10.1109/JLT.2020.2966517]
    [104] Stephens B, Akella A, Swift MM. Your programmable NIC should be a programmable switch. In: Proc. of the 17th ACM Workshop on Hot Topics in Networks. Redmond: ACM, 2018. 36–42.
    [105] Qi YX, Fong J, Jiang WR, Xu B, Li J, Prasanna V. Multi-dimensional packet classification on FPGA: 100 Gbps and beyond. In: Proc. of the 2010 Int’l Conf. on Field-programmable Technology. Beijing: IEEE, 2010. 241–248.
    [106] Fong J, Wang X, Qi YX, Li J, Jiang WR. ParaSplit: A scalable architecture on FPGA for terabit packet classification. In: Proc. of the 20th IEEE Annual Symp. on High-Performance Interconnects. Santa Clara: IEEE, 2012. 1–8.
    [107] Zheng L, Qiu ZL, Wang WN, Pan WT, Sun SY, Gao Y. AFBV: A high-performance network flow classification method for multi-dimensional fields and FPGA implementation. Journal of Circuits, Systems and Computers, 2019, 28(14): 1950237. [doi: 10.1142/S0218126619502372]
    [108] Ganegedara T, Prasanna VK. StrideBV: Single chip 400G+ packet classification. In: Proc. of the 13th IEEE Int’l Conf. on High Performance Switching and Routing. Belgrade: IEEE, 2012. 1–6.
    [109] Li CL, Li T, Li JN, Li DG, Yang H, Wang BS. Memory optimization for bit-vector-based packet classification on FPGA. Electronics, 2019, 8(10): 1159. [doi: 10.3390/electronics8101159]
    [110] Kunze I, Gunz M, Saam D, Wehrle K, Rüth J. Tofino+ P4: A strong compound for AQM on high-speed networks? In: Proc. of the 2021 IFIP/IEEE Int’l Symp. on Integrated Network Management. Bordeaux: IEEE, 2021. 72–80.
    [111] Kundel R, Blendin J, Viernickel T, Koldehofe B, Steinmetz R. P4-CoDel: Active queue management in programmable data planes. In: Proc. of the 2018 IEEE Conf. on Network Function Virtualization and Software Defined Networks (NFV-SDN). Verona: IEEE, 2018. 1–4.
    [112] Sharma NK, Liu M, Atreya K, Krishnamurthy A. Approximating fair queueing on reconfigurable switches. In: Proc. of the 15th USENIX Symp. on Networked Systems Design and Implementation. Renton: ACM, 2018. 1–16.
    [113] Miao R, Zeng HY, Kim C, Lee J, Yu ML. SilkRoad: Making stateful layer-4 load balancing fast and cheap using switching ASICs. In: Proc. of the 2017 Conf. of the ACM Special Interest Group on Data Communication. Los Angeles: ACM, 2017. 15–28.
    [114] Olteanu V, Agache A, Voinescu A, Raiciu C. Stateless datacenter load-balancing with beamer. In: Proc. of the 15th USENIX Symp. on Networked Systems Design and Implementation. Berkeley: ACM, 2018. 125–139.
    [115] Pit-Claudel B, Desmouceaux Y, Pfister P, Townsley M, Clausen T. Stateless load-aware load balancing in P4. In: Proc. of the 26th IEEE Int’l Conf. on Network Protocols (ICNP). Cambridge: IEEE, 2018. 418–423.
    [116] Desmouceaux Y, Pfister P, Tollet J, Townsley M, Clausen T. 6LB: Scalable and application-aware load balancing with segment routing. IEEE/ACM Transactions on Networking, 2018, 26(2): 819–834. [doi: 10.1109/TNET.2018.2799242]
    [117] Tahiliani MP, Misra V, Ramakrishnan KK. A principled look at the utility of feedback in congestion control. In: Proc. of the 2019 Workshop on Buffer Sizing. Palo Alto: ACM, 2019. 1–5.
    [118] Handley M, Raiciu C, Agache A, Voinescu A, Moore AW, Antichi G, Wójcik M. Re-architecting datacenter networks and stacks for low latency and high performance. In: Proc. of the 2017 Conf. of the ACM Special Interest Group on Data Communication. Los Angeles: ACM, 2017. 29–42.
    [119] Li YL, Miao R, Liu HH, Zhuang Y, Feng F, Tang LB, Cao Z, Zhang M, Kelly F, Alizadeh M, Yu ML. HPCC: High precision congestion control. In: Proc. of the 2019 ACM Special Interest Group on Data Communication. Beijing: ACM, 2019. 44–58.
    [120] Turkovic B, Kuipers F. P4air: Increasing fairness among competing congestion control algorithms. In: Proc. of the 28th IEEE Int’l Conf. on Network Protocols (ICNP). Madrid: IEEE, 2020. 1–12.
    [121] Li SS, Luo LL, Guo DK, Zhang QZ, Fu PT. A survey of sketches in traffic measurement: Design, optimization, application and implementation. arXiv:2012.07214, 2020.
    [122] Yu ML, Jose L, Miao R. Software defined traffic measurement with OpenSketch. In: Proc. of the 10th USENIX Symp. on Networked Systems Design and Implementation. Berkeley: ACM, 2013. 29–42.
    [123] 戴冕, 程光. 基于sketch的软件定义测量数据平面硬件模型. 通信学报, 2017, 38(10): 113–121. [doi: 10.11959/j.issn.1000-436x.2017203]
    Dai M, Cheng G. Sketch-based data plane hardware model for software-defined measurement. Journal on Communications, 2017, 38(10): 113–121 (in Chinese with English abstract). [doi: 10.11959/j.issn.1000-436x.2017203]
    [124] Tang MJ, Wen M, Shen JZ, Zhao XL, Zhang CY. Towards memory-efficient streaming processing with counter-cascading sketching on FPGA. In: Proc. of the 57th ACM/IEEE Design Automation Conf. (DAC). San Francisco: IEEE, 2020. 1–6.
    [125] Huang Q, Jin X, Lee PPC, Li RH, Tang L, Chen YC, Zhang G. SketchVisor: Robust network measurement for software packet processing. In: Proc. of the 2017 Conf. of the ACM Special Interest Group on Data Communication. Los Angeles: ACM, 2017. 113–126.
    [126] Yang T, Jiang J, Liu P, Huang Q, Gong JZ, Zhou Y, Miao R, Li XM, Uhlig S. Elastic sketch: Adaptive and fast network-wide measurements. In: Proc. of the 2018 Conf. of the ACM Special Interest Group on Data Communication. Budapest: ACM, 2018. 561–575.
    [127] Tong D, Prasanna VK. Sketch acceleration on FPGA and its applications in network anomaly detection. IEEE Transactions on Parallel and Distributed Systems, 2018, 29(4): 929–942. [doi: 10.1109/tpds.2017.2766633]
    [128] 100G in-band network telemetry with Netcope P4. 2021. https://www.netcope.com/Netcope/media/content/100G-In-band-Network-Telemetry-With-Netcope-P4.pdf
    [129] Tan LZ, Su W, Zhang W, Lv JH, Zhang ZY, Miao JY, Liu XX, Li N. In-band network telemetry: A survey. Computer Networks, 2021, 186: 107763. [doi: 10.1016/j.comnet.2020.107763]
    [130] Marques J, Levchenko K, Gaspary L. IntSight: Diagnosing SLO violations with in-band network telemetry. In: Proc. of the 16th Int’l Conf. on Emerging Networking Experiments and Technologies. Barcelona: ACM, 2020. 421–434.
    [131] Scholz D, Oeldemann A, Geyer F, Gallenmüller S, Stubbe H, Wild T, Herkersdorf A, Carle G. Cryptographic hashing in P4 data planes. In: Proc. of the 2019 ACM/IEEE Symp. on Architectures for Networking and Communications Systems (ANCS). Cambridge: IEEE, 2019. 1–6.
    [132] Sundal M, Chaves R. Efficient FPGA implementation of the SHA-3 hash function. In: Proc. of the 2017 IEEE Computer Society Annual Symp. on VLSI (ISVLSI). Bochum: IEEE, 2017. 86–91.
    [133] Chen S, Hu W, Li ZH. High performance data encryption with AES implementation on FPGA. In: Proc. of the 5th IEEE Int’l Conf. on Big Data Security on Cloud (Big Data Security), IEEE Int’l Conf. on High Performance and Smart Computing, (HPSC) and IEEE Int’l Conf. on Intelligent Data and Security (IDS). Washington: IEEE, 2019. 149–153.
    [134] Hauser F, Häberle M, Schmidt M, Menth M. P4-IPsec: Site-to-site and host-to-site VPN with IPsec in P4-based SDN. arXiv: 1907.03593, 2019.
    [135] Hauser F, Schmidt M, Häberle M, Menth M. P4-MACsec: Dynamic topology monitoring and data layer protection with MACsec in P4-based SDN. IEEE Access, 2020, 8: 58845–58858. [doi: 10.1109/ACCESS.2020.2982859]
    [136] Ricart-Sanchez R, Malagon P, Alcaraz-Calero JM, Wang Q. Hardware-accelerated firewall for 5G mobile networks. In: Proc. of the 26th IEEE Int’l Conf. on Network Protocols (ICNP). Cambridge: IEEE, 2018. 446–447.
    [137] Ricart-Sanchez R, Malagon P, Alcaraz-Calero JM, Wang Q. NetFPGA-based firewall solution for 5G multi-tenant architectures. In: Proc. of the 2019 IEEE Int’l Conf. on Edge Computing (EDGE). Milan: IEEE, 2019. 132–136.
    [138] Zhao ZP, Sadok H, Atre N, Hoe JC, Sekar V, Sherry J. Achieving 100 Gbps intrusion prevention on a single server. In: Proc. of the 14th USENIX Symp. on Operating Systems Design and Implementation. ACM, 2020. 1083–1100.
    [139] Qin QF, Poularakis K, Leung KK, Tassiulas L. Line-speed and scalable intrusion detection at the network edge via federated learning. In: Proc. of the 2020 IFIP Networking Conf. Paris: IEEE, 2020. 352–360.
    [140] Scholz D, Gallenmüller S, Stubbe H, Carle G. SYN flood defense in programmable data planes. In: Proc. of the 3rd P4 Workshop in Europe. Barcelona: ACM, 2020. 13–20.
    [141] Gondaliya H, Sankaran GC, Sivalingam KM. Comparative evaluation of IP Address anti-spoofing mechanisms using a P4/NetFPGA-based switch. In: Proc. of the 3rd P4 Workshop in Europe. Barcelona: ACM, 2020. 1–6.
    [142] Kuka M, Vojanec K, Kučera J, Benáček P. Accelerated DDoS attacks mitigation using programmable data plane. In: Proc. of the 2019 ACM/IEEE Symp. on Architectures for Networking and Communications Systems (ANCS). Cambridge: IEEE, 2019. 1–3.
    [143] Hoque N, Kashyap H, Bhattacharyya DK. Real-time DDoS attack detection using FPGA. Computer Communications, 2017, 110: 48–58. [doi: 10.1016/j.comcom.2017.05.015]
    [144] Pham-Quoc C, Nguyen B, Thinh TN. FPGA-based multicore architecture for integrating multiple DDoS defense mechanisms. ACM SIGARCH Computer Architecture News, 2016, 44(4): 14–19. [doi: 10.1145/3039902.3039906]
    [145] Liu M, Cui TY, Schuh H, Krishnamurthy A, Peter S, Gupta K. Offloading distributed applications onto smartNICs using iPIPE. In: Proc. of the 2019 ACM Special Interest Group on Data Communication. Beijing: ACM, 2019. 318–333.
    相似文献
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

赵鹏,程光,赵德宇.基于FPGA的高性能可编程数据平面研究综述.软件学报,2023,34(11):5330-5354

复制
分享
文章指标
  • 点击次数:903
  • 下载次数: 4052
  • HTML阅读次数: 3109
  • 引用次数: 0
历史
  • 收稿日期:2021-06-03
  • 最后修改日期:2021-11-24
  • 在线发布日期: 2023-04-04
  • 出版日期: 2023-11-06
文章二维码
您是第19893742位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号