skip to main content
article

ILP and heuristic techniques for system-level design on network processor architectures

Published: 01 September 2007 Publication History

Abstract

Network processors incorporate several architectural features, including symmetric multiprocessing (SMP), block multithreading, and multiple memory elements, to support the high-performance requirements of current day applications. This article presents automated system-level design techniques for application development on such architectures. We propose integer linear programming formulations and heuristic techniques for process allocation and data mapping on SMP and block-multithreading-based network processors. The techniques incorporate process transformations and multithreading-aware data mapping to maximize the throughput of the application. The article presents experimental results that evaluate the techniques by implementing network processing applications on the Intel IXP 2400 architecture.

References

[1]
3GPP Organizational Partners. 2002. 3GPP confidentiality and integrity algorithms F8 and F9. http://www.3gpp.org/TB/Other/algorithms.htm.
[2]
Ausiello, G., Protasi, M., Marchetti-Spaccamela, A., Gambosi, G., Crescenzi, P., and Kann, V. 1999. Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties. Springer.
[3]
Bender, A. 1996. Milp based task mapping for heterogeneous multiprocessor systems. In Proceedings of the Conference on European Design Automation. IEEE Computer Society Press, 190--197.
[4]
Blake, S. 1998. An Architecture for differentiated services. Request for Comments - 2475, Internet Engineering Task Force (IETF).
[5]
Campbell, A., Chou, S., Kounavis, M., Stachtos, V., and Vicente, J. 2002. Netbind: A binding tool for constructing data paths in network processor-based routers. In Proceedings of the IEEE Conference on Open Architectures and Network Programming. 91--103
[6]
Chekuri, C. 2000. Approximation algorithms for scheduling problems. Tech. Rep. CS-TR-98-116, Computer Science Department of Stanford University.
[7]
Chen, M.K., Li, X.F., Lian, R., Lin, J.H., Liu, L., Liu, T., and Ju, R. 2005. Shangri-La: Achieving high performance from compiled network applications while enabling ease of programming. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM Press, New York, 224--236.
[8]
Haas, R., Jeffries, C., Kencl, L., Kind, A., Metzler, B., Pletka, R., Waldvogel, M., Freléchoux, L., and Droz, P. 2002. Creating advanced functions on network processors: Experience and perspectives. Res. Rep. RZ--3460, IBM. November.
[9]
Hwang, C.-T., Lee, J.-H., and Hsu, Y.-C. 1991. A formal approach to scheduling problem in high level synthesis. IEEE Trans. Comput.-Aided Design Integrated Circ. Syst. 10, 464--475.
[10]
Intel. 2007. INTEL IXA SDK.
[11]
Johnson, E.J. and Kunze, A.R. 2003. IXP2400/2800 Programming: The Complete Microengine Coding Guide. Intel Press, Hillsboro, OR.
[12]
Keller, R., Ruf, L., Guindehi, A., and Plattner, B. 2002. Promethos: A dynamically extensible router architecture for active networks. In Proceedings of Active Networks 4th International Conference. 20--31.
[13]
Kulkarni, C., Gries, M., Sauer, C., and Keutzer, K. 2003. Programming challenges in network processor deployment. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), 178--187.
[14]
Lee, K., Coulson, G., Blair, G., Joolia, A., and Ueyama, J. 2004. Towards a generic programming model for network processors. In Proceedings of the IEEE International Conference on Networks.
[15]
Morris, R., Kohler, E., Jannotti, J., and Kaashoek, M.F. 1999. The click modular router. In Proceedings of the Symposium on Operating Systems Principles. 217--231.
[16]
Ostler, C. and Chatha, K.S. 2007. An ilp formulation for system-level application mapping on network processor architectures. IEEE/ACM In the Conference on Design, Automation, and Test in Europe.
[17]
Plishker, W., Ravindran, K., Shah, N., and Keutzer, K. 2004. Automated task allocation on single chip, hardware multithreaded, multiprocessor systems. In Proceedings of the Workshop on Embedded Parallel Architectures (WEPA), 14--20.
[18]
Ramakrishna, S. and Jamadagni, H. 2003. Analytical bounds on the threads in IXP1200 network processor. In Proceedings of the Euromicro Symposium on Digital System Design, 426--429.
[19]
Ramamurthi, V., McCollum, J., Ostler, C., and Chatha, K.S. 2005. System level methodology for programming cmp based multi-threaded network processor architectures. In International Symposium on VLSI.
[20]
Ramaswamy, R., Weng, N., and Wolf, T. 2005. Application analysis and resource mapping for heterogeneous network processor architectures. In Network Processor Design: Issues and Practices, Vol. 3. M.A. Franklin et al. eds. Morgan Kaufmann Chapter 13, 277--306.
[21]
Ramaswamy, R. and Wolf, T. 2003. Packetbench: A tool for workload characterization of network processing. In Proceedings of the IEEE 6th Annual Workshop on Workload Characterization.
[22]
RFC. 1981. Request for comments 791, Internet Protocol Specification. http://www.faqs.org/rfcs/rfc791.html.
[23]
Roberts, L.G. 2000. Beyond Moore's law: Internet growth trends. IEEE Comput., 117--119.
[24]
Shachnai, H. and Tamir, T. 1999. Polynomial time approximation schemes for class-constrained packing problems. In Proceedings of Aproximation Algorithms for Combinatorial Optunization 3rd International Workshop. 123--138.
[25]
Shah, N. 2001. Understanding network processors. M.S. thesis, University of California, Berkeley.
[26]
Shah, N. and Keutzer, K. 2002. Network processors: Origin of species. In Proceedings of the 17th International Symposium on Computer and Information Sciences.
[27]
Shah, N., Plishker, W., and Keutzer, K. 2003. NP-Click: A programming model for the Intel ixp1200. In Proceedings of the 2nd Workshop on Network Processors at the 9th International Symposium on High Performance Computer Architecture.
[28]
Shirazi, B.A., Kavi, K.M., and Hurson, A.R., eds. 1995. Scheduling and Load Balancing in Parallel and Distributed Systems. IEEE Computer Society Press, Los Alamitos, CA.
[29]
Srinivasan, A., Holman, P., Anderson, J., Baruah, S., and Kaur, J. 2003. Multiprocessor scheduling in processor-based router platforms: Issues and ideas. In Proceedings of the 2nd Workshop on Network Processors at the 9th International Symposium on High Performance Computer Architecture.
[30]
Tan, Z., Lin, C., Yin, H., and Li, B. 2004. Optimization and benchmark of cryptographic algorithms on network processors. IEEE Micro. 24, 5, 55--69.
[31]
Teja Corporation. 2006. Teja NP software platform for the intel IXP2XXX network processor family. http://www.teja.com/products/intel_ixp2xxx.html.
[32]
Thiele, L., Chakraborty, S., Gries, M., and Knzli, S. 2002. Design space exploration of network processor architectures. In Proceedings of the 1st Workshop on Network Processors at the 8th International Symposium on High Performance Computer Architecture.
[33]
Weng, N. and Wolf, T. 2005. Profiling and mapping of parallel workloads on network processors. In Proceedings of the 20th Annual ACM Symposium on Applied Computing (SAC) (Santa Fe, NM), 890--896.
[34]
Wheeler, B., Bolaria, J., and Iyer, S. 2005. NPU market sees broad-based expansion. http://www.linleygroup.com/npu/Newsletter/wire050420.html.

Cited By

View all

Index Terms

  1. ILP and heuristic techniques for system-level design on network processor architectures

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Design Automation of Electronic Systems
    ACM Transactions on Design Automation of Electronic Systems  Volume 12, Issue 4
    September 2007
    449 pages
    ISSN:1084-4309
    EISSN:1557-7309
    DOI:10.1145/1278349
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Journal Family

    Publication History

    Published: 01 September 2007
    Published in TODAES Volume 12, Issue 4

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. block multithreading
    2. multiprocessor

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 05 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media