A Multi-Threaded Network Interface Using Network Processors

In this paper, we propose a network interface that takes advantage of the parallelism available in network processors to improve the communication performance. Morespecifically, our proposal is based on the Intel IXP28xx network processor, as it includes sixteen processing cores with multithreading and an optimized design for packet processing. Thus, the proposed interface facilitates the exploitation of  different options to optimize the communication path in the host by using network interface offloading and/or onloading strategies that try to take advantage of multi-core processors, which are available even in the network cards. The experimental results obtained for TCP/IP and raw Ethernet packets show that multithreading, implemented through the processing cores of the network processor, improves communication performance in both latency of the packets and bandwidth, thus allowing the applications that present high communication requirements to fulfill them through the use of multithreading.

[1]  Torsten Hoefler,et al.  Netgauge: A Network Performance Measurement Framework , 2007, HPCC.

[2]  Greg Kroah-Hartman,et al.  Linux device drivers, third edition , 2005 .

[3]  Scott Rixner,et al.  Parallelization Strategies for Network Interface Firmware , 2006 .

[4]  Greg Kroah-Hartman,et al.  Linux Device Drivers, 3rd Edition , 2005 .

[5]  Greg J. Regnier,et al.  TCP onloading for data center servers , 2004, Computer.

[6]  Muli Ben-Yehuda,et al.  Loosely Coupled TCP Acceleration Architecture , 2006, 14th IEEE Symposium on High-Performance Interconnects (HOTI'06).

[7]  Patrick Crowley,et al.  Network I/O Acceleration in Heterogeneous Multicore Processors , 2006, 14th IEEE Symposium on High-Performance Interconnects (HOTI'06).

[8]  W. de Bruijn,et al.  Model-T: Rethinking the OS for terabit speeds , 2008, IEEE INFOCOM Workshops 2008.

[9]  Fabrizio Petrini,et al.  Guest Editors' Introduction: High-Performance Interconnects , 2006, IEEE Micro.

[10]  Weidong Shi,et al.  An Intel IXP1200-based Network Interface , 2003 .

[11]  D. Abts,et al.  Design of Interconnection Networks , 2007 .

[12]  Wu-chun Feng,et al.  An Analysis of 10-Gigabit Ethernet Protocol Stacks in Multicore Environments , 2007, 15th Annual IEEE Symposium on High-Performance Interconnects (HOTI 2007).

[13]  Alan L. Cox,et al.  An Evaluation of Network Stack Parallelization Strategies in Modern Operating Systems , 2006, USENIX Annual Technical Conference, General Track.