DocumentCode
2571794
Title
packetC Language for High Performance Packet Processing
Author
Duncan, Ralph ; Jungck, Peder
Author_Institution
CloudShield Technol., Sunnyvale, CA, USA
fYear
2009
fDate
25-27 June 2009
Firstpage
450
Lastpage
457
Abstract
Increasingly, applications that process network packets, especially those that inspect packet payload content, need to run at speeds in the range of 1-40 gigabits per second. These requirements en-courage exploiting specialized hardware. Thus, typical approaches involve programming a specific network processor in assembly language or a C dialect that exposes machine-specific particulars so developers can closely control task switching and machine-specific resources. This paper describes CloudShield Technologypsilas alternative approach, which combines a parallel model, the packetC language and heterogeneous multiprocessor implementations. The parallel packet processing model uses coarse-grain, SPMD parallelism to free users from thread management and it requires the host system to locate protocol headers in the packet before a parallel copy of the program executes. The packetC language abstracts and encapsulates familiar packet processing data sets and operations into new aggregate data types and operators, e.g., for packets, databases and searchsets. These language constructs can be implemented by ordinary arrays, strings, instructions, etc. However, they are especially amenable to being implemented with specialized hardware without requiring any specific hardware. Our current implementation combines FPGAs, microcoded NPUs (Network Processing Units), content addressable memories and other specialized chips.
Keywords
C language; field programmable gate arrays; multi-threading; multiprocessing systems; CloudShield Technology; FPGA; SPMD parallelism; content addressable memories; heterogeneous multiprocessor implementations; high performance packet processing; microcoded network processing units; network processor programming; packet payload content inspection; packetC language; parallel packet processing model; thread management; Abstracts; Aggregates; Assembly; Associative memory; Databases; Field programmable gate arrays; Hardware; Payloads; Protocols; Yarn; deep packet inspection; high performance; network processing; parallel processing; programming languages;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computing and Communications, 2009. HPCC '09. 11th IEEE International Conference on
Conference_Location
Seoul
Print_ISBN
978-1-4244-4600-1
Electronic_ISBN
978-0-7695-3738-2
Type
conf
DOI
10.1109/HPCC.2009.89
Filename
5167027
Link To Document