Shangri-la: Achieving high performance from compiled network applications while enabling ease of programming

被引:14
作者
Chen, MK [1 ]
Li, XF
Lian, RQ
Lin, JH
Liu, LX
Liu, T
Ju, R
机构
[1] Intel Corp, Microproc Technol Labs, Santa Clara, CA 95051 USA
[2] Intel China Res Ctr Ltd, Beijing, Peoples R China
[3] Chinese Acad Sci, Inst Comp Technol, Beijing, Peoples R China
关键词
packet processing; network processors; chip multiprocessors; throughput-oriented computing; program partitioning; dataflow programming;
D O I
10.1145/1064978.1065038
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programming network processors is challenging. To sustain high line rates, network processors have extremely tight memory access and instruction budgets. Achieving desired performance has traditionally required hand-coded assembly. Researchers have recently proposed high-level programming languages for packet processing, but the challenges of compiling these languages into code that is competitive with hand-tuned assembly remain unanswered. This paper describes the Shangri-La compiler, which accepts a packet program written in a C-like high-level language and applies scalar and specialized optimizations to generate a highly optimized binary. Hot code paths identified by profiling are mapped across processing elements to maximize processor utilization. Since our compilation target has no hardware caches, software-controlled caches are generated for frequently accessed application data structures. Packet handling optimizations significantly reduce per-packet memory access and instruction counts. Finally, a custom stack model maps stack frames to the fastest levels of the target processor's heterogeneous memory hierarchy. Binaries generated by the compiler were evaluated on the Intel IXP2400 network processor with eight packet processing cores and eight threads per core. Our results show the importance of both traditional and specialized optimization techniques for achieving the maximum forwarding rates on three network applications, L3-Switch, MPLS and Firewall.
引用
收藏
页码:224 / 236
页数:13
相关论文
共 38 条
  • [1] AMARAL JN, 2000, PACT 00 PHIL PA OCT
  • [2] AVISSAR O, 2002, ACM T EMBED COMPUT S, V1, P6, DOI DOI 10.1145/581888.581891
  • [3] BAER JL, 2003, PACT 03 NEW ORL LA S
  • [4] *BROADC CORP, SIB BCM1250 PROC
  • [5] CHEN B, 2001, USENIX 2001 ANN TECH
  • [6] CHIUEH T, IEEE INF 99 NY NY MA
  • [7] CHOW F, 1997, PLDI 97 LAS VEG NV J
  • [8] COOPER K, 1998, ASPLOS, V8
  • [9] DAI J, 2005, IN PRESS PLDI 05 CHI
  • [10] DAVIDSON J, 1994, PLDI 94 ORL FL JUN