Skip to main content

A Paradigm for Processing Network Protocols in Parallel

  • Conference paper
Algorithms and Architectures for Parallel Processing (ICA3PP 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6082))

Abstract

Network packet processing applications increasingly execute at speeds of 1-40 Gigabits per second, often running on multi-core chips that contain multithreaded network processing units (NPUs) and a general-purpose processor core. Such applications are typically programmed in a language that exposes NPU specifics needed to optimize low-level thread control and resource management. This facilitates optimization at the cost of increased software complexity and reduced portability. In contrast, our approach provides portability by combining coarse-grained, SPMD parallelism with programming in the packetC languageā€™s high-level constructs. This paper focuses on searching packet contents for packet protocol headers. We require the host system to locate protocol headers for layers 2, 3 and 4, and to encode their offsets data in a packet information block (PIB). packetC provides descriptors, C-style structures superimposed on the packet array at runtime-calculable, user or PIB-supplied offsets. We deliver state-of-the-practice performance via an FPGA for locating layer offsets and via micro-coded interpretation that treats PIB layer offsets as a special addressing mode.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Duncan, R., Jungck, P.: packetC Language for High Performance Packet Processing. In: Proceedings of the 11th IEEE International Conference on High Performance Computing and Communications, Seoul, South Korea, pp. 450ā€“457. IEEE, Los Alamitos (June 2009)

    ChapterĀ  Google ScholarĀ 

  2. ANSI T1.105: SONET - Basic Description including Multiplex Structure, Rates and Formats

    Google ScholarĀ 

  3. ANSI T1.119/ATIS PP 0900119.01.2006: SONET - Operations, Administration, Maintenance, and Provisioning (OAM&P) - Communications

    Google ScholarĀ 

  4. IEEE Std 802.3ae-2002. To be superseded by more recent but not finalized IEEE Std 802.3-2008

    Google ScholarĀ 

  5. CloudShield Technologies. packetC Programming Language Specification. Rev. 1.128 (October 10, 2008)

    Google ScholarĀ 

  6. ISO/IEC 9899:1999. Standard for the C programming language, version (ā€˜C99ā€™) (May 2005)

    Google ScholarĀ 

  7. International Organization for Standardization (ISO) 7498. Open Systems Interconnections (OSI) reference model (1983)

    Google ScholarĀ 

  8. CloudShield Technologies. CS-2000 Technical Specifications. Product datasheet available from CloudShield Technologies, 212 Gibraltar Dr., Sunnyvale, CA, USA 94089 (2006)

    Google ScholarĀ 

  9. IXIA. IXIA 1600T/400T. Datasheet (retrieved 11/29/2009), www.ixiacom.com/pdfs/datasheets/ch_1600t_400t.pdf

  10. George, L., Blume, M.: Taming the IXP network processor. In: Proceedings of the ACM SIGPLAN ā€™03 Conference on Programming Language Design and Implementation, San Diego, California, USA, pp. 26ā€“37. ACM, New York (June 2003)

    ChapterĀ  Google ScholarĀ 

  11. Intel Microengine C Compiler Language Support: Reference Manual. Intel Corporation, order number 278426-004 (August 10, 2001)

    Google ScholarĀ 

  12. Intel Microengine C Networking Library for the IXP1200 Network Processor: Reference Guide. Intel Corporation (December 2001)

    Google ScholarĀ 

  13. Risso, F., Baldi, M.: NetPDL: an extensible XML-based language for packet header description. Computer Networks. The International Journal of Computer and Telecommunications NetworkingĀ 50(5) (2006)

    Google ScholarĀ 

  14. Wagner, J., Leupers, R.: C compiler design for a network processor. IEEE Trans. on CADĀ 20(11), 1ā€“7 (2001)

    Google ScholarĀ 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

Ā© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Duncan, R., Jungck, P., Ross, K. (2010). A Paradigm for Processing Network Protocols in Parallel. In: Hsu, CH., Yang, L.T., Park, J.H., Yeo, SS. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2010. Lecture Notes in Computer Science, vol 6082. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13136-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13136-3_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13135-6

  • Online ISBN: 978-3-642-13136-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics