{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,16]],"date-time":"2026-06-16T05:29:40Z","timestamp":1781587780132,"version":"3.54.5"},"reference-count":156,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"4","license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"}],"funder":[{"name":"FUI-APP19 CARP"},{"name":"FUI-APP22 WOLPHIN2.0 Projects from R\u00e9gion Ile-de-France"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IEEE Commun. Surv. Tutorials"],"published-print":{"date-parts":[[2018]]},"DOI":"10.1109\/comst.2018.2851072","type":"journal-article","created":{"date-parts":[[2018,6,27]],"date-time":"2018-06-27T18:41:02Z","timestamp":1530124862000},"page":"3645-3676","source":"Crossref","is-referenced-by-count":53,"title":["Fast Packet Processing: A Survey"],"prefix":"10.1109","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3351-5038","authenticated-orcid":false,"given":"Danilo","family":"Cerovic","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2166-3666","authenticated-orcid":false,"given":"Valentin","family":"Del Piccolo","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8189-7224","authenticated-orcid":false,"given":"Ahmed","family":"Amamou","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Kamel","family":"Haddadou","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Guy","family":"Pujolle","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1109\/TNSM.2015.2401568"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1109\/ANCS.2015.7110124"},{"key":"ref33","first-page":"83","article-title":"APUNet: Revitalizing GPU as packet processing accelerator","author":"go","year":"2017","journal-title":"Proc USENIX Symp Netw Syst Design Implem (NSDI)"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2015.7393125"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1109\/ANCS.2011.12"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1109\/FPGA.2002.1106667"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1109\/ANCS.2013.6665175"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1145\/2413176.2413185"},{"key":"ref35","year":"2018","journal-title":"White Paper&#x2014;GPU vs FPGA Performance Comparison"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1109\/TNET.2016.2597163"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/1397718.1397720"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1145\/1872007.1872052"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1145\/1851182.1851206"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1145\/2934872.2934897"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/1355734.1355746"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2004.53"},{"key":"ref24","first-page":"1","article-title":"A 100Gig network processor platform for openflow","author":"ferkouss","year":"2011","journal-title":"Proc Int Conf Netw Service Manage"},{"key":"ref23","first-page":"7","article-title":"API design challenges for open router platforms on proprietary hardware","author":"mogul","year":"2008","journal-title":"Proc HotNets VI"},{"key":"ref101","author":"wheeler","year":"2013","journal-title":"A new era of network processing"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2006.75"},{"key":"ref100","doi-asserted-by":"publisher","DOI":"10.1109\/DAC.1995.250010"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1109\/HPSR.2010.5580281"},{"key":"ref50","doi-asserted-by":"publisher","DOI":"10.1109\/E2EMON.2005.1564468"},{"key":"ref51","year":"2009","journal-title":"First the Tick Now the Tock Next Generation Intel Microarchitecture (Nehalem)"},{"key":"ref154","first-page":"1","article-title":"Stateful OpenFlow: Hardware proof of concept","author":"pontarelli","year":"2015","journal-title":"Proc IEEE 16th Int Conf High Perform Switching Routing (HPSR)"},{"key":"ref153","doi-asserted-by":"publisher","DOI":"10.1145\/2602204.2602211"},{"key":"ref156","article-title":"SoftNIC: A software NIC to augment hardware","author":"han","year":"2015"},{"key":"ref155","year":"2018","journal-title":"BESS (Berkeley Extensible Software Switch)"},{"key":"ref150","doi-asserted-by":"publisher","DOI":"10.1145\/2774993.2775007"},{"key":"ref152","doi-asserted-by":"publisher","DOI":"10.1145\/3124680.3124747"},{"key":"ref151","first-page":"629","article-title":"High speed packet forwarding compiled from protocol independent data plane specifications","author":"laki","year":"2016","journal-title":"Proc ACM SIGCOMM Conf (SIGCOMM?11)"},{"key":"ref146","doi-asserted-by":"publisher","DOI":"10.1145\/2656877.2656890"},{"key":"ref147","doi-asserted-by":"publisher","DOI":"10.1145\/3050220.3050234"},{"key":"ref148","doi-asserted-by":"publisher","DOI":"10.1145\/2881025.2889480"},{"key":"ref149","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2016.46"},{"key":"ref59","year":"2018","journal-title":"Impressive Packet Processing Performance Enables Greater Workload Consolidation"},{"key":"ref58","first-page":"2005","article-title":"When NAPI comes to town","author":"salim","year":"0","journal-title":"Proc Linux Conf"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1145\/263326.263335"},{"key":"ref56","first-page":"85","article-title":"Improving passive packet capture: Beyond device polling","author":"deri","year":"2004","journal-title":"Proceedings of SANE"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1145\/2396556.2396563"},{"key":"ref54","author":"rizzo","year":"2018","journal-title":"OVS Accelerating the Datapath Through Netmap\/VALE"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1109\/HPCC-SmartCity-DSS.2016.0106"},{"key":"ref52","article-title":"Understanding the packet processing capability of multi-core servers","author":"egi","year":"2009"},{"key":"ref40","first-page":"1","article-title":"Extending networking into the virtualization layer","author":"pfaff","year":"2009","journal-title":"Proc Workshop on Hot Topics in Networks (HotNets-V)"},{"key":"ref4","year":"2018","journal-title":"Broadcom&#x2019;s Tomahawk&#x00AE; 3 Ethernet Switch Chip Delivers 12 8 Tb\/s of Speed in a Single 16 nm Device"},{"key":"ref3","year":"2018","journal-title":"Intel&#x00AE; Ethernet Switch FM10000"},{"key":"ref6","doi-asserted-by":"publisher","DOI":"10.1145\/2619239.2626311"},{"key":"ref5","year":"2016","journal-title":"The Future Is 40 Gigabit Ethernet"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1109\/ANCS.2015.7110116"},{"key":"ref49","year":"2004","journal-title":"Scalable networking Eliminating the receive processing bottleneckintroduction RSS"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1145\/2090147.2103536"},{"key":"ref9","year":"2018","journal-title":"Dpdk Data plane development kit"},{"key":"ref46","doi-asserted-by":"publisher","DOI":"10.1109\/GLOCOM.2004.1378257"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4419-6700-8"},{"key":"ref48","first-page":"1","article-title":"10 Gbit\/s line rate packet processing using commodity hardware: Survey and new proposals","author":"rizzo","year":"2012"},{"key":"ref47","first-page":"1","article-title":"Where are the bottlenecks in software packet processing and forwarding? Towards high-performance network operating systems","author":"asai","year":"2014","journal-title":"Proc ACM 9th Int Conf Future Internet Technol (CFI)"},{"key":"ref42","year":"2018","journal-title":"Open Project"},{"key":"ref41","author":"robin","year":"2018","journal-title":"Open vSwitch With DPDK Overview Intel"},{"key":"ref44","author":"medhi","year":"2007","journal-title":"Network Routing Algorithms Protocols and Architectures"},{"key":"ref43","year":"2018","journal-title":"OpenWrt Table of Supported Hardware"},{"key":"ref127","year":"2018","journal-title":"Altera SDK for OpenCL"},{"key":"ref126","article-title":"The click modular router","author":"kohler","year":"2001"},{"key":"ref125","doi-asserted-by":"publisher","DOI":"10.1109\/EWSDN.2016.11"},{"key":"ref124","doi-asserted-by":"publisher","DOI":"10.1145\/3098583.3098585"},{"key":"ref73","doi-asserted-by":"publisher","DOI":"10.1111\/j.1467-8659.2007.01012.x"},{"key":"ref72","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2008.917718"},{"key":"ref129","year":"2018","journal-title":"Vivado Design Suite"},{"key":"ref71","doi-asserted-by":"publisher","DOI":"10.1109\/INFCOM.2012.6195638"},{"key":"ref128","year":"2018","journal-title":"SDAccel development environment"},{"key":"ref70","first-page":"61","year":"2018","journal-title":"Intel&#x00AE; SSE4 Programming Reference"},{"key":"ref76","doi-asserted-by":"publisher","DOI":"10.1145\/3123878.3132013"},{"key":"ref130","year":"2018","journal-title":"NVIDIA CUDA SDK 3 0"},{"key":"ref77","doi-asserted-by":"publisher","DOI":"10.1145\/2504730.2504756"},{"key":"ref74","doi-asserted-by":"publisher","DOI":"10.1109\/NETSOFT.2016.7502464"},{"key":"ref75","doi-asserted-by":"publisher","DOI":"10.1109\/TNET.2016.2642338"},{"key":"ref133","year":"2018","journal-title":"Syskonnect gigabit ethernet card"},{"key":"ref134","year":"2018","journal-title":"XMACII chipset"},{"key":"ref131","year":"2018","journal-title":"Intel&#x2014;Linux Ixgbe* Base Driver Overview and Installation"},{"key":"ref78","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2008.917757"},{"key":"ref132","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA.2014.6853195"},{"key":"ref79","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2010.5470378"},{"key":"ref136","first-page":"1","author":"corbet","year":"2016","journal-title":"Linux Kernel Development How Fast It is Going Who is Doing It What They Are Doing and Who is Sponsoring It"},{"key":"ref135","year":"2018","journal-title":"OpenFastPath&#x2013;Technical Overview"},{"key":"ref138","author":"warnicke","year":"2018","journal-title":"FD io Intro"},{"key":"ref137","year":"2018","journal-title":"Fd io"},{"key":"ref60","year":"2018","journal-title":"6WINDGate Packet Processing Software for COTS Servers Scalable Data Plane Performance for Multicore Platforms"},{"key":"ref139","year":"2018","journal-title":"Vector Packet Processing (VPP)"},{"key":"ref62","doi-asserted-by":"publisher","DOI":"10.1145\/1400181.1400197"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1109\/HOTCHIPS.2007.7482491"},{"key":"ref63","first-page":"409","article-title":"Raising the bar for using GPUs in software packet processing","author":"kalia","year":"2015","journal-title":"Proc 9th USENIX Conf Netw Syst Design Implement (NSDI)"},{"key":"ref64","article-title":"Understanding latency hiding on GPUs","author":"volkov","year":"2016"},{"key":"ref140","year":"2018","journal-title":"VPP\/What Is VPP?"},{"key":"ref65","first-page":"321","article-title":"GASPP: A GPU-accelerated stateful packet processing framework","author":"vasiliadis","year":"2014","journal-title":"Proc of USENIX Annual Technical Conf (USENIX)"},{"key":"ref141","year":"2018","journal-title":"VPP on OpenDataPlane Enabled SmartNICs"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.1145\/1592648.1592651"},{"key":"ref142","year":"2018","journal-title":"OpenDataPlane (ODP) Project"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1109\/ANCS.2015.7110118"},{"key":"ref143","author":"warnicke","year":"2018","journal-title":"OpenDataPlane (ODP) Users-Guide"},{"key":"ref68","author":"hudek","year":"2018","journal-title":"Introduction to the NDIS PacketDirect Provider Interface"},{"key":"ref144","year":"2018","journal-title":"PCIe NIC Optimised Implementation (ODP-DPDK)"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1201\/9780849380587"},{"key":"ref69","doi-asserted-by":"publisher","DOI":"10.1016\/j.ipl.2011.11.015"},{"key":"ref145","year":"2018","journal-title":"OpenFastPath"},{"key":"ref1","year":"2016","journal-title":"Cisco Global Cloud Index Forecast and methodology 2015&#x2013;2020"},{"key":"ref109","year":"2018","journal-title":"Netmap"},{"key":"ref95","doi-asserted-by":"publisher","DOI":"10.1561\/1000000005"},{"key":"ref108","year":"2018","journal-title":"SnAP"},{"key":"ref94","doi-asserted-by":"publisher","DOI":"10.1109\/ISVLSI.2004.1339567"},{"key":"ref107","year":"2018","journal-title":"FastClick"},{"key":"ref93","first-page":"23","author":"prado","year":"2006","journal-title":"A Tutorial on FPGA Routing"},{"key":"ref106","year":"2018","journal-title":"RouteBricks"},{"key":"ref92","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2015.2445739"},{"key":"ref105","year":"2018","journal-title":"Click Modular Router"},{"key":"ref91","doi-asserted-by":"publisher","DOI":"10.1109\/HPSR.2015.7483084"},{"key":"ref104","doi-asserted-by":"publisher","DOI":"10.1109\/SCNS.2016.7870563"},{"key":"ref90","article-title":"NetThreads: Programming NetFPGA with threaded software","author":"labrecque","year":"2009","journal-title":"NetFPGA Developers Workshop"},{"key":"ref103","doi-asserted-by":"publisher","DOI":"10.1109\/HOTCHIPS.2012.7476487"},{"key":"ref102","doi-asserted-by":"publisher","DOI":"10.1109\/HiPINEB.2017.8"},{"key":"ref111","year":"2018","journal-title":"PF_RING"},{"key":"ref112","year":"2018","journal-title":"DPDK"},{"key":"ref110","year":"2018","journal-title":"NetSlice"},{"key":"ref98","doi-asserted-by":"publisher","DOI":"10.1109\/FPGA.1997.624617"},{"key":"ref99","first-page":"356","article-title":"A new global routing algorithm for FPGAs","author":"chang","year":"1994","journal-title":"Proc IEEE\/ACM Int Conf Comput -Aided Design"},{"key":"ref96","doi-asserted-by":"crossref","first-page":"111","DOI":"10.1109\/FPGA.1995.242049","article-title":"pathfinder: a negotiation-based performance-driven router for fpgas","author":"mcmurchie","year":"1995","journal-title":"Third International ACM Symposium on Field-Programmable Gate Arrays"},{"key":"ref97","first-page":"1","article-title":"Parallel FPGA routing: Survey and challenges","author":"stojilovi?","year":"2017","journal-title":"Proc Int Conf Field Program Logic Appl (FPL)"},{"key":"ref10","first-page":"9","article-title":"Netmap: A novel framework for fast packet I\/O","author":"rizzo","year":"2012","journal-title":"Proc of USENIX Annual Technical Conf (USENIX ATC)"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1145\/1851182.1851207"},{"key":"ref12","year":"2018","journal-title":"PF_RING"},{"key":"ref13","year":"2018","journal-title":"OpenOnload"},{"key":"ref14","year":"2018","journal-title":"PACKET_MMAP Linux Kernel Contributors"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1145\/354871.354874"},{"key":"ref118","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2013.29"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629578"},{"key":"ref82","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2010.5681761"},{"key":"ref117","doi-asserted-by":"publisher","DOI":"10.1145\/945461.945462"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1109\/ANCS.2013.6665173"},{"key":"ref81","first-page":"93","article-title":"IP routing processing with graphic processors","author":"mu","year":"2010","journal-title":"Proc Design Autom and Test in Euro Conf and Exhib (DATE'05)"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/2349896.2349910"},{"key":"ref84","doi-asserted-by":"publisher","DOI":"10.1145\/2436696.2443836"},{"key":"ref119","first-page":"41","article-title":"QEMU, a fast and portable dynamic translator","author":"bellard","year":"2005","journal-title":"Proc USENIX Annu Technical Conf Freenix Track"},{"key":"ref19","first-page":"333","article-title":"Flexible control of parallelism in a multiprocessor PC router","author":"chen","year":"2001","journal-title":"Proc General Track USENIX Annual Technical Conf"},{"key":"ref83","doi-asserted-by":"publisher","DOI":"10.1145\/2636342"},{"key":"ref114","year":"2018","journal-title":"PacketShader Website"},{"key":"ref113","year":"2018","journal-title":"PacketShader"},{"key":"ref116","doi-asserted-by":"publisher","DOI":"10.1109\/icc.2011.5962554"},{"key":"ref80","doi-asserted-by":"publisher","DOI":"10.1145\/2024724.2024953"},{"key":"ref115","doi-asserted-by":"publisher","DOI":"10.1109\/GLOCOM.2010.5684322"},{"key":"ref120","first-page":"225","article-title":"KVM: The Linux virtual machine monitor","author":"kivity","year":"2007","journal-title":"Proc Ottawa Linux Symp (OLS)"},{"key":"ref89","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2015.7293966"},{"key":"ref121","doi-asserted-by":"publisher","DOI":"10.1109\/LANMAN.2016.7548852"},{"key":"ref122","doi-asserted-by":"publisher","DOI":"10.1145\/1400097.1400108"},{"key":"ref123","year":"2015","journal-title":"Open vSwitch* Enables SDN and NFV Transformation"},{"key":"ref85","first-page":"7","article-title":"The Click2NetFPGA toolchain","author":"rinta-aho","year":"2012","journal-title":"Proc of USENIX Annual Technical Conf (USENIX ATC)"},{"key":"ref86","doi-asserted-by":"publisher","DOI":"10.1109\/TE.2008.919664"},{"key":"ref87","doi-asserted-by":"publisher","DOI":"10.1109\/MSE.2007.69"},{"key":"ref88","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2014.61"}],"container-title":["IEEE Communications Surveys &amp; Tutorials"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/9739\/8540503\/08398225.pdf?arnumber=8398225","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,27]],"date-time":"2022-01-27T02:43:56Z","timestamp":1643251436000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/8398225\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"references-count":156,"journal-issue":{"issue":"4"},"URL":"https:\/\/doi.org\/10.1109\/comst.2018.2851072","relation":{},"ISSN":["1553-877X","2373-745X"],"issn-type":[{"value":"1553-877X","type":"electronic"},{"value":"2373-745X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018]]}}}