[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1007/978-3-540-31985-6_6guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Task partitioning for multi-core network processors

Published: 04 April 2005 Publication History

Abstract

Network processors (NPs) typically contain multiple concurrent processing cores. State-of-the-art programming techniques for NPs are invariably low-level, requiring programmers to partition code into concurrent tasks early in the design process. This results in programs that are hard to maintain and hard to port to alternative architectures. This paper presents a new approach in which a high-level program is separated from its partitioning into concurrent tasks. Designers write their programs in a high-level, domain-specific, architecturally-neutral language, but also provide a separate Architecture Mapping Script (AMS). An AMS specifies semantics-preserving transformations that are applied to the program to re-arrange it into a set of tasks appropriate for execution on a particular target architecture. We (i) describe three such transformations: pipeline introduction, pipeline elimination and queue multiplexing; and (ii) specify when each can be safely applied.
As a case study we describe an IP packet-forwarder and present an AMS script that partitions it into a form capable of running at 3Gb/s on an Intel IXP2400 Network Processor.

References

[1]
Allen, J. R., Bass, B. M., Basso, C., Boivie, R. H., Calvignac, J. L., Davis, G. T., Frelechoux, L., Heddes, M., Herkesdorf, A., Kind, A., Logan, J. F., Peyravian, M., Sabhikhi, M. A. R. R. K., Siegel, M. S., and Waldvogel, M. PowerNP network processor: Hardware, software and applications. IBM Journal of research and development 47, 2-3 (3003), 177-194.
[2]
Barros, E., and Sampaio, A. Towards provably correct hardware/software partitioning using occam. In Proceedings of the 3rd international workshop on Hardware/ software co-design (1994), IEEE Computer Society Press, pp. 210-217.
[3]
Burstall, R., and Darlington, J. A transformation system for developing recursive programs. In JACM 24(1) (1977).
[4]
Ennals, R., Sharp, R., and Mycroft, A. Linear types for packet processing. In Proceedings of the European Symposium on Programming (ESOP) 2004 (2004).
[5]
Feather, M. A system for assisting program transformation. ACM Transactions on Programming Languages and Systems 4, 1 (January 1982), 1-20.
[6]
Freescale. C-5 Network Processor Architecture Guide, 2001.
[7]
George, L., and Blume, M. Taming the IXP network processor. In Proceedings of the ACM SIGPLAN 2003 conference on Programming Language Design and Implementation (2003), pp. 26-37.
[8]
Hwang, C.-T., Hsu, Y.-C., and Lin, Y.-L. Scheduling for functional pipelining and loop winding. In Proceedings of the 28th conference on ACM/IEEE design automation (1991), ACM Press, pp. 764-769.
[9]
Ikinci, M. Multilevel heuristics for task assignment in distributed systems. Master's thesis, Bilkent University, Turkey, 1998.
[10]
Intel Corporation. Intel IXP2400 Network Processor: Flexible, highperformance solution for access and edge applications. Available from: http://www.intel.com/design/network/papers/ixp2400.htm.
[11]
Intel Corporation. PacLang. http://sourceforge.net/projects/paclang/.
[12]
Intel Corporation. Microengine C Language Support Reference Manual, 2003.
[13]
Lam, M. Software pipelining: An effective scheduling technique for VLIW machines. In Proceedings of the ACM SIGPLAN conference on Programming Language Design and Implementation (1988), pp. 318-328.
[14]
Lam, M. Compiler optimizations for asynchronous systolic array programs. In Proceedings of the ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages (1998).
[15]
Lo, V. Heuristic algorithms for task assignment in distributed systems. IEEE Transactions on Computers (1988), 1384-1397.
[16]
Marinescu, M.-C. V., and Rinard, M. High-level automatic pipelining for sequential circuits. In Proceedings of the 14th international symposium on Systems Synthesis (2001), ACM Press, pp. 215-220.
[17]
Mycroft, A., and Sharp, R. A statically allocated parallel functional language. In Proceedings of the International Conference on Automata, Languages and Programming (2000), vol. 1853 of LNCS, Springer-Verlag.
[18]
Network Working Group. RFC1812: Requirements for IP version 4 routers.
[19]
Papaefthymiou, M. C. On retiming synchronous circuitry and mixed integer optimization. Master's thesis, Massachusetts Institute of Technology, 1990.
[20]
Radisys. ENP-2611 network processor board. http://www.radisys.com.
[21]
Teja. Teja NP: The first software platform for multiprocessor system-on-chip architectures. http://www.teja.com.
[22]
Winskel, G. The formal semantics of programming languages: an introduction. Foundations of computing. MIT Press, 1993.
[23]
Yavatkar, R., and H. Vin (eds.). IEEE Network Magazine. Special issue on Network Processors: Architecture, Tools, and Applications 17, 4 (July 2003).

Cited By

View all
  • (2017)Scalable Bandwidth Shaping Scheme via Adaptively Managed Parallel Heaps in Manycore-Based Network ProcessorsACM Transactions on Design Automation of Electronic Systems10.1145/306592622:4(1-26)Online publication date: 20-May-2017
  • (2011)RouteBricksACM SIGOPS Operating Systems Review10.1145/1945023.194503745:1(112-125)Online publication date: 18-Feb-2011
  • (2011)Multi-core application performance optimization using a constrained tandem queueing modelJournal of Network and Computer Applications10.1016/j.jnca.2011.07.00434:6(1990-1996)Online publication date: 1-Nov-2011
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
CC'05: Proceedings of the 14th international conference on Compiler Construction
April 2005
304 pages
ISBN:3540254110
  • Editor:
  • Rastislav Bodik

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 04 April 2005

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Scalable Bandwidth Shaping Scheme via Adaptively Managed Parallel Heaps in Manycore-Based Network ProcessorsACM Transactions on Design Automation of Electronic Systems10.1145/306592622:4(1-26)Online publication date: 20-May-2017
  • (2011)RouteBricksACM SIGOPS Operating Systems Review10.1145/1945023.194503745:1(112-125)Online publication date: 18-Feb-2011
  • (2011)Multi-core application performance optimization using a constrained tandem queueing modelJournal of Network and Computer Applications10.1016/j.jnca.2011.07.00434:6(1990-1996)Online publication date: 1-Nov-2011
  • (2010)Thread to strand binding of parallel network applications in massive multi-threaded systemsACM SIGPLAN Notices10.1145/1837853.169348045:5(191-202)Online publication date: 9-Jan-2010
  • (2010)Thread to strand binding of parallel network applications in massive multi-threaded systemsProceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/1693453.1693480(191-202)Online publication date: 9-Jan-2010
  • (2009)An intrusion detection sensor for the NetVM virtual processorProceedings of the 23rd international conference on Information Networking10.5555/1699392.1699406(68-72)Online publication date: 21-Jan-2009
  • (2009)A high level development, modeling and simulation methodology for complex multicore network processorsProceedings of the 12th international conference on Symposium on Performance Evaluation of Computer & Telecommunication Systems10.5555/1688291.1688294(5-12)Online publication date: 13-Jul-2009
  • (2009)RouteBricksProceedings of the ACM SIGOPS 22nd symposium on Operating systems principles10.1145/1629575.1629578(15-28)Online publication date: 11-Oct-2009
  • (2008)Language-based optimisation of sensor-driven distributed computing applicationsProceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering10.5555/1792838.1792876(407-422)Online publication date: 29-Mar-2008
  • (2008)Design and implementation of a framework for creating portable and efficient packet-processing applicationsProceedings of the 8th ACM international conference on Embedded software10.1145/1450058.1450091(237-244)Online publication date: 19-Oct-2008
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media