• 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