Lock-free and Zero-copy Framework for Packet Forwarding Based on Multi-core Processor

Yue-zhen XIAO,Bei HUA
DOI: https://doi.org/10.3969/j.issn.1000-3428.2013.12.008
2013-01-01
Abstract:To work out performance bottleneck relating to memory accessing in forwarding path of high-speed software router, after introducing the forwarding frameworks of two software routers--PacketShader and Netmap, and analyzing their problems, this paper presents MapRouter, a zero-copy forwarding framework based on multi-core processors. MapRouter eliminates packet copying using zero-copy technology, and solves the problem of packet buffer management among multiple ports based on currently lock-free First In First Out(FIFO). By exploiting a series of optimization techniques including highly-optimized packet I/O driver, efficient packet buffer recycling mechanism, and high-efficient lock-free FIFO queue implementation, MapRouter achieves 10 Gb/s minimal forwarding(without IP address lookup) throughput on a two-port software router, which is higher than that of PacketShader and Netmap, meanwhile it has much lower CPU utilization ratio.
What problem does this paper attempt to address?