High Performance Packet Processing with FlexNIC
- 25 March 2016
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
The recent surge of network I/O performance has put enormous pressure on memory and software I/O processing sub systems. We argue that the primary reason for high memory and processing overheads is the inefficient use of these resources by current commodity network interface cards (NICs). We propose FlexNIC, a flexible network DMA interface that can be used by operating systems and applications alike to reduce packet processing overheads. FlexNIC allows services to install packet processing rules into the NIC, which then executes simple operations on packets while exchanging them with host memory. Thus, our proposal moves some of the packet processing traditionally done in software to the NIC, where it can be done flexibly and at high speed. We quantify the potential benefits of FlexNIC by emulating the proposed FlexNIC functionality with existing hardware or in software. We show that significant gains in application performance are possible, in terms of both latency and throughput, for several widely used applications, including a key-value store, a stream processing system, and an intrusion detection system.Keywords
Funding Information
- National Science Foundation (#CNS-1518702)
This publication has 28 references indexed in Scilit:
- Jupiter RisingPublished by Association for Computing Machinery (ACM) ,2015
- Twitter HeronPublished by Association for Computing Machinery (ACM) ,2015
- Using RDMA efficiently for key-value servicesACM SIGCOMM Computer Communication Review, 2014
- NetFPGA SUME: Toward 100 Gbps as Research CommodityIEEE Micro, 2014
- Forwarding metamorphosisPublished by Association for Computing Machinery (ACM) ,2013
- An FPGA memcached appliancePublished by Association for Computing Machinery (ACM) ,2013
- OpenFlowACM SIGCOMM Computer Communication Review, 2008
- Direct Cache Access for High Bandwidth Network I/OACM SIGARCH Computer Architecture News, 2005
- Eliminating receive livelock in an interrupt-driven kernelACM Transactions on Computer Systems, 1997
- The design and implementation of a log-structured file systemACM Transactions on Computer Systems, 1992