|
ABSTRACT
Modern network processors employs parallel processing engines (PEs) to keep up with explosive internet packet processing demands. Most network processors further allow processing engines to be organized in a pipelined fashion to enable higher processing throughput and flexibility. In this paper, we present a novel program transformation technique to exploit parallel and pipelined computing power of modern network processors. Our proposed method automatically partitions a sequential packet processing application into coordinated pipelined parallel subtasks which can be naturally mapped to contemporary high-performance network processors. Our transformation technique ensures that packet processing tasks are balanced among pipeline stages and that data transmission between pipeline stages is minimized. We have implemented the proposed transformation method in an auto-partitioning C compiler product for Intel Network Processors. Experimental results show that our method provides impressive speed up for the commonly used NPF IPv4 forwarding and IP forwarding benchmarks. For a 9-stage pipeline, our auto-partitioning C compiler obtained more than 4X speedup for the IPv4 forwarding PPS and the IP forwarding PPS (for both the IPv4 traffic and IPv6 traffic).
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Challenges in Building Network Processor Based Solutions, http://www.futsoft.com/pdf/NPwp.pdf
|
| |
2
|
Intel IXP family of Network Processors, www.intel.com/design/network/products/npfamily/index.htm
|
| |
3
|
IBM PowerNP Network Processors http://www-3.ibm.com/chips/techlib/techlib.nsf/products/IBM_PowerNP_NP4GS3
|
| |
4
|
CPort Network Processor family, http://www.windriver.com/cgi-bin/partnerships/directory/viewProd.cgi?id=1371
|
| |
5
|
Agere's PayloadPlus Family of Network Processors, http://www.agere.com/telecom/network_processors.html
|
| |
6
|
AMCC's nP7xxx series of Network Processors, http://www.mmcnetworks.com/solutions/
|
| |
7
|
Introduction to the Auto-Partitioning Programming Model, http://www.intel.com/design/network/papers/25411401.pdf
|
| |
8
|
|
| |
9
|
TejaNP*: A Software Platform for Network Processors, http://www.teja.com
|
| |
10
|
Vin, H., Mudigonda, J., Jason, J., Johnson, E., Ju, R., Kunze, A. and Lian, R. A Programming Environment for Packet-processing Systems: Design Considerations, 3rd Workshop on Network Processors & Applications (Feb. 2004)
|
 |
11
|
Michael K. Chen , Xiao Feng Li , Ruiqi Lian , Jason H. Lin , Lixia Liu , Tao Liu , Roy Ju, Shangri-La: achieving high performance from compiled network applications while enabling ease of programming, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
 |
12
|
|
| |
13
|
|
 |
14
|
|
 |
15
|
Tao Zhang , Santosh Pande , Antonio Valverde, Tamper-resistant whole program partitioning, Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, June 11-13, 2003, San Diego, California, USA
|
 |
16
|
|
| |
17
|
|
| |
18
|
|
 |
19
|
|
 |
20
|
|
| |
21
|
|
| |
22
|
Jaspal Subhlok , David R. O'Hallaron , Thomas Gross , Peter A. Dinda , Jon Webb, Communication and memory requirements as the basis for mapping task and data parallel programs, Proceedings of the 1994 conference on Supercomputing, p.330-339, December 1994, Washington, D.C., United States
|
| |
23
|
|
 |
24
|
Michael I. Gordon , William Thies , Michal Karczmarek , Jasper Lin , Ali S. Meli , Andrew A. Lamb , Chris Leger , Jeremy Wong , Henry Hoffmann , David Maze , Saman Amarasinghe, A stream compiler for communication-exposed architectures, Proceedings of the 10th international conference on Architectural support for programming languages and operating systems, October 05-09, 2002, San Jose, California
|
| |
25
|
Network Processor Forum (NPF), IPv4 Forwarding Benchmark Implementation Agreements (July 2002), http://www.npforum.org/benchmarking/licenseagm_IPv4.shtml
|
| |
26
|
Network Processor Forum (NPF), IP Forwarding Benchmark Implementation Agreements (June 2003), http://www.npforum.org/benchmarking/licenseagm_ipforwarding.shtml
|
| |
27
|
William Thies, Michal Karczmarek, Michael Gordon, David Maze, Jeremy Wong, Henry Hoffmann, Matthew Brown, and Saman Amarasinghe. StreamIt: A Compiler for Streaming Applications, MIT-LCS Technical Memo TM-622, Cambridge, MA (December, 2001)
|
| |
28
|
|
| |
29
|
|
 |
30
|
|
CITED BY 12
|
|
|
|
|
Michael K. Chen , Xiao Feng Li , Ruiqi Lian , Jason H. Lin , Lixia Liu , Tao Liu , Roy Ju, Shangri-La: achieving high performance from compiled network applications while enabling ease of programming, ACM SIGPLAN Notices, v.40 n.6, June 2005
|
|
|
|
|
|
|
|
|
Ram Rangan , Neil Vachharajani , Adam Stoler , Guilherme Ottoni , David I. August , George Z. N. Cai, Support for High-Frequency Streaming in CMPs, Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, p.259-272, December 09-13, 2006
|
|
|
Xiaofeng Guo , Jinquan Dai , Long Li , Zhiyuan Lv , Prashant R. Chandra, Latency hiding through multithreading on a network processor, Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming, March 14-17, 2007, San Jose, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alastair D. Reid , Krisztian Flautner , Edmund Grimley-Evans , Yuan Lin, SoC-C: efficient programming abstractions for heterogeneous multicore systems on chip, Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems, October 19-24, 2008, Atlanta, GA, USA
|
|
|
|
|