ABSTRACT
With the ever-increasing pervasiveness of the Internet and its stringent performance requirements, network system designers have begun utilizing specialized chips to increase the performance of network functions. To increase performance, many more advanced functions, such as traffic shaping and policing, are being implemented at the network interface layer to reduce delays that occur when these functions are handled by a general-purpose CPU. While some designs use ASICs to handle network functions, many system designers have moved toward using programmable network processors due to their increased exibility and lower design cost. In this paper, we describe a code generation technique designed for the Agere Payload Plus network processor. This processor utilizes a multi-block pipeline containing a Fast Pattern Processor (FPP) for classification, a Routing Switch Processor (RSP) for traffic management and a third block, the Agere Systems Interface (ASI), which provides additional functionality for performance. This paper focuses on code generation for the clustered VLIW compute engines on the RSP. Currently, due to the real-time nature of the applications run on the APP, the programmer must lay out and partition the application-specific data by hand to get good performance.The major contribution of this paper is to remove the need for hand partitioning for the RSP compute engines. We propose both a greedy code-generation approach that achieves harmonic mean performance equal to code that has been hand partitioned by an application programmer and a genetic algorithm that achieves a harmonic mean speedup of 1.08 over the same hand-partitioned code. Achieving harmonic mean performance that is equal to or better than hand partitioning removes the need to hand code for performance. This allows the programmer to spend more time on algorithm development.
- A. Aletá, J. Codina, J. Sánchez, A. González, and D. Kaeli. Exploiting pseudo-schedules to guide data dependence graph partitioning. In Procedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques, Charlottesville, VA, September 2002. Google Scholar
Digital Library
- V. Allan, S. J. Beaty, B. Su, and P. H. Sweany. Building a retargetable local instruction scheduler. Software Practice and Experience, 28(3):249--284, March 1998. Google Scholar
Digital Library
- N. C. Audsley, A. Burns, M. F. Richardson, and A. J. Wellings. Hard real-time scheduling: The deadline monotonic approach. In Proceedings 8th IEEE Workshop on Real-Time Operating Systems and Software, Atlanta, GA, 1991.Google Scholar
Cross Ref
- G. Desoli. Instruction assignment for clustered VLIW DSP compilers: A new approach. HP Labs Technical Report HPL-98-13, HP Labs, Jan. 1998.Google Scholar
- J. R. Ellis. A Compiler for VLIW Architectures. PhD thesis, Yale University, 1984.Google Scholar
- L. George and M. Blume. Taming the IXP network processor. In Proceedings of the 2003 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 26--37, San Diego, CA, June 2003. Google Scholar
Digital Library
- J. Hiser, S. Carr, and P. Sweany. Global register partitioning. In Proceedings of the 2000 International Conference on Parallel Architectures and Compiler Techniques, pages 13--23, Philadelphia, PA, October 2000. Google Scholar
Digital Library
- J. Hiser, S. Carr, P. Sweany, and S. Beaty. Register partitioning for software pipelining with partitioned register banks. In Proceedings of the 14th International Parallel and Distributed Processing Symposium, pages 211--218, Cancun, Mexico, May 2000. Google Scholar
Digital Library
- R. Leupers. Instruction scheduling for clustered VLIW DSPs. In Proceedings of the 2000 International Conference on Parallel Architectures and Compilation Techniques, pages 291--300, Philadelphia, PA, Oct. 2000. Google Scholar
Digital Library
- E. Nystrom and A. Eichenberger. Effective cluster assignment for modulo scheduling. In Proceedings of the 31st International Symposium on Microarchitecture (MICRO-31), pages 103--114, Dallas, TX, December 1998. Google Scholar
Digital Library
- E. Özer, S. Banerjia, and T. Conte. Unified assign and schedule: A new approach to scheduling for clustered register file microarchitectures. In Proceedings of the 31st International Symposium on Microarchitecture (MICRO-31), pages 308--316, Dallas, TX, December 1998. Google Scholar
Digital Library
- V. Rayward-Smith, I. Osman, C. Reeves, and G. Smith. Modern Heuristic Search Methods. John Wiley and Sons, Ltd., 1996.Google Scholar
- D. Sule, P. Sweany, and S. Carr. Evaluating register partitioning with genetic algorithms. In Proceedings of the Fourth International Conference on Massively Parallel Computing Systems, Ischia, Italy, April 2002.Google Scholar
- D. Whitley. An overview of evolutionary algorithms. Journal of Information and Software Technology, 43:817--831, 2001.Google Scholar
Cross Ref
- X. Zhuang and S. Pande. Resolving register bank conflicts for a network processor. In Proceedings of the 12th International Conference on Parallel Architectures and Compilation Techniques, pages 269--278, New Orleans, LA, September 2003. Google Scholar
Digital Library
Index Terms
Automatic data partitioning for the agere payload plus network processor
Recommendations
C Compiler Design for an Industrial Network Processor
One important problem in code generation for embedded processors is the design of efficient compilers for ASIPs with application specific architectures. This paper outlines the design of a C compiler for an industrial ASIP for telecom applications. The ...
C Compiler Design for an Industrial Network Processor
One important problem in code generation for embedded processors is the design of efficient compilers for ASIPs with application specific architectures. This paper outlines the design of a C compiler for an industrial ASIP for telecom applications. The ...
C Compiler Design for an Industrial Network Processor
One important problem in code generation for embedded processors is the design of efficient compilers for ASIPs with application specific architectures. This paper outlines the design of a C compiler for an industrial ASIP for telecom applications. The ...






Comments