Network processors are designed to handle the inherently parallel nature of network processing applications. However, partitioning and scheduling of application tasks and data allocation to reduce memory contention remain as major challenges in realizing the full performance potential of a given network processor. The large variety of processor architectures in use and the increasing complexity of network applications further aggravate the problem. This work proposes a novel framework, called FEADS, for automating the task of application partitioning and scheduling for network processors. FEADS uses the simulated annealing approach to perform design space exploration of application mapping onto processor resources. Further, it uses cyclic and r-periodic scheduling to achieve higher throughput schedules. To evaluate dynamic performance metrics such as throughput and resource utilization under realistic workloads, FEADS automatically generates a Petri net (PN) which models the application, architectural resources, mapping and the constructed schedule and their interaction. The throughput obtained by schedules constructed by FEADS is comparable to that obtained by manual scheduling for linear task flow graphs; for more complicated task graphs, FEADS’ schedules have a throughput which is upto 2.5 times higher compared to the manual schedules. Further, static scheduling of tasks results in an increase in throughput by upto 30% compared to an implementation of the same mapping without task scheduling.
Similar content being viewed by others
References
T. Blickle, J. Teich, and L. Thiele, System-Level Synthesis Using Evolutionary Algorithms, in Design Automation for Embedded Systems, 1998.
M. Chen, X. Li, R. Lian, J. Lin, L. Liu, T. Liu, and R. Ju. Shangri-La, Achieving High Performance from Compiled Network Applications While Enabling Ease of Programming, in ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation (PLDI), June 2005.
R. Ennals, R. Sharp, and A. Mycroft, Task Partitioning for Multi-Core network processors, in International Conference on Compiler Construction (CC), 2005.
M. Franklin and S. Datar, Pipeline Task Scheduling on Network Processors, in Proceedings of Third Workshop on Network Processors, 2004.
Garber L. (2000). Denial of Service Attacks Rip the Internet. IEEE Comput 33(4): 12–17
S. Govind and R. Govindarajan, Performance Modeling and Architecture Exploration of Network Processors. in Proceedings of the International Conference on Quantitative Evaluation of Systems, Torino, Italy, 2005.
Hu T.C. (1961). Parallel Sequencing and Assembly Line Problems. Oper. Res. 9(6): 841–848
Intel Corp, Intel IXP1200 Network processor family.
Intel Corp, Intel IXP2400 Hardware reference manual.
Intel Corp, Intel IXP2800 Hardware reference manual.
Intel Corp, Intel IXP2850 Hardware reference manual.
Kirkpatrick S., Gelatt C.D. Jr., Vecchi M.P. (1983). Optimization by Simulated Annealing. in Science 220, 598
C. Kulkarni, M. Gries, C. Sauer, and K. Keutzer, Programming Challenges in Network Processor Deployment. in Proceedings of the 2003 International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES03), 2003.
M. Lam, Software Pipelining: An Effective Scheduling Technique for VLIW Machines, in Conference on Programming Language Design and Implementation, 1988.
W. E. Leland, M. S. Taqqu, W. Willinger and D. Wilson, On the Self Similar Nature of Ethernet Traffic., Proc of SIGCOMM, Sept 1993.
Lucent Technologies Inc, PayloadPlus Fast Pattern Processor, Apr. 2000. http://www.agere.com/support/non-nda/docs/FPPProductBrief.pdf
Morris R., Kohler E., Jannotti J., Kaashoek M.F. (2000).The Click Modular Router. ACM Trans. Comput. Syst. 18(3): 263–297
N. Shah, W. Plishker, and K. Keutzer. NP-Click, A Programming Model for the Intel IXP1200, in Proceesings of Second Workshop on Network Processors (NP2) at the Ninth International Symposium on High Performance Computer Architecture (HPCA9), 2003.
L. Thiele, S. Chakraborty, M. Gries, and S. Kunzli, Design Space Exploration of Network Processor Architectures., in Proceedings of First Workshop on Network Processors at the Eighth International Symposium on High Performance Compter Architecture (HPCA8), 2002.
V. Van Dongen, G. Gao, and Q. Ning, A Polynomial Time Method for Optimal Software Pipelining., in Proceedings of the Second Joint International Conference on Vector and Parallel Processing: Parallel Processing, 1992.
J. Wang and C. Eisenbeis, Decomposed Software Pipelining: A New Approach to Exploit Instruction Level Parallelism for Loop Programs., in Proceedings of the IFIP WG10.3. Working Conference on Architectures and Compilation Techniques for Fine and Medium Grain Parallelism, Vol. A-23, 1993.
N. Weng and T. Wolf, Pipelining versus Multiprocessors: Choosing the Right Network Processor System Topology, in Proceedings of Advanced Networking and Communications Hardware Workshop (ANCHOR 2004) in conjunction with the 31st Annual International Symposium on Computer Architecture (ISCA 2004), June 2004.
W. M. Zuberek, Modeling Using Timed Petri nets—Event-Driven Simulation, Technical Report No. 9602, Department of Computer Science, Memorial University of Newfoundland, St. John’s, Canada, 1996. ftp://ftp.ca.mun.ca/pub/techreports/ tr-9602.ps.Z.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Pai, R., Govindarajan, R. FEADS: A Framework for Exploring the Application Design Space on Network Processors. Int J Parallel Prog 35, 1–31 (2007). https://doi.org/10.1007/s10766-006-0023-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-006-0023-0