• 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