DocumentCode
2536134
Title
PacketC Language and Parallel Processing of Masked Databases
Author
Duncan, Ralph ; Jungck, Peder ; Ross, Kenneth
Author_Institution
CloudShield Technol., an SAIC Co., Sunnyvale, CA, USA
fYear
2010
fDate
13-16 Sept. 2010
Firstpage
472
Lastpage
481
Abstract
Network packet processing´s increasing speeds and volume create an incentive to use parallel processing. Such processing often involves comparing selected packet data to the contents of large tables (e.g., for routing packets or controlling system access). Thus, commercial systems often use multiple network processors to provide parallel processing in general and use associative memory chips to provide parallel table operations in particular. Parallel network programming is usually done in a C dialect with machine-specific extensions. The associative memory capabilities are often provided by ternary content addressable memory (TCAM) chips in order to supply the fast, masking-based searches needed in this domain. TCAM use is normally controlled by vendor software, rather than by the application developer. Thus, an application is typically restricted to a small number of predefined templates and mediated by vendor system software. Thus, application developers cannot use high-level languages to express network table operations in an intuitive, portable way, nor exploit parallel devices like TCAMs in a flexible manner. This paper presents CloudShield´s packetC® language, a C dialect that hides most host-machine specifics, supports coarse-grain parallelism and supplies high-level data type and operator extensions for packet processing. We describe packetC´s database and record constructs that support network application table operations, including masked matching. We show how our implementation of packetC with network processors, FPGAs and TCAMs lets the user enjoy parallel performance benefits without the usual vendor constraints or reliance on hardware-specific programming.
Keywords
C language; content-addressable storage; field programmable gate arrays; multiprocessing systems; parallel programming; CloudShield packetC language; FPGA; associative memory chips; hardware-specific programming; high-level data type; machine-specific extensions; masked databases; masked matching; multiple network processors; network table operations; packet processing; parallel network programming; parallel processing; ternary content addressable memory chips; Arrays; Databases; Hardware; High level languages; Parallel processing; Programming; Protocols; TCAMs; high performance; network processing; parallel processing; programming languages;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel Processing (ICPP), 2010 39th International Conference on
Conference_Location
San Diego, CA
ISSN
0190-3918
Print_ISBN
978-1-4244-7913-9
Electronic_ISBN
0190-3918
Type
conf
DOI
10.1109/ICPP.2010.55
Filename
5599193
Link To Document