Embedded Software in Network Processors — Models and Algorithms

  • Lothar Thiele
  • Samarjit Chakraborty
  • Matthias Gries
  • Alexander Maxiaguine
  • Jonas Greutert
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2211)


We introduce a task model for embedded systems operating on packet streams, such as network processors. This model along with a calculus meant for reasoning about packet streams allows a unified treatment of several problems arising in the network packet processing domain such as packet scheduling, task scheduling and architecture/algorithm explorations in the design of network processors. The model can take into account quality of service constraints such as data throughput and deadlines associated with packets. To illustrate its potential, we provide two applications: (a)a new task scheduling algorithm for network processors to support a mix of real-time and non-real-time flows, (b)a scheme for design space exploration of network processors.


Schedule Algorithm Task Schedule Task Graph Packet Schedule Design Space Exploration 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R. Agrawal, R. L. Cruz, C. Okino, and R. Rajan. Performance bounds for flow control protocols. IEEE/ACM Transactions on Networking, 7(3):310–323, 1999.CrossRefGoogle Scholar
  2. 2.
    N. Audsley, A. Burns, M. Richardson, and A. Wellings. Fixed priority preemptive scheduling: A historical perspective. Real-Time Systems, 8:173–198, 1995.CrossRefGoogle Scholar
  3. 3.
    F. Baccelli, G. Cohen, G.J. Olsder, and J.-P. Quadrat. Synchronization and Linearity. John Wiley, Sons, New York, 1992.zbMATHGoogle Scholar
  4. 4.
    S.K. Baruah. Dynamic-and static-priority scheduling of recurring real-time tasks, 2001. To appear in Real-Time Systems.Google Scholar
  5. 5.
    A. Bavier and L. Peterson. BERT: A scheduler for best effort and real-time tasks. Technical Report TR-602-99, Department of Computer Science, Princeton University, 2001. Revised in January 2001.Google Scholar
  6. 6.
    T. Blickle, J. Teich, and L. Thiele. System-level synthesis using evolutionary algorithms. Design Automation for Embedded Systems, 3(1):23–58, 1998.CrossRefGoogle Scholar
  7. 7.
    J.Y. Le Boudec. Application of network calculus to guaranteed service networks. IEEE Trans on Information theory, 44(3), May 1998.Google Scholar
  8. 8.
    J.Y. Le Boudec and P. Thiran. Network Calculus-A Theory of Deterministic Queuing Systems for the Internet. LNCS 2050, Springer Verlag, 2001.Google Scholar
  9. 9.
    G.C. Buttazzo. Hard Real-Time Computing Systems-Predictable Scheduling Algorithms and Applications. Kluwer Academic Publishers, 1997.Google Scholar
  10. 10.
    G.C. Buttazzo and F. Sensini. Optimal deadline assignment for scheduling soft aperiodic tasks in hard real-time environments. IEEE Transactions on Computers, 48(10):1035–1052, 1999.CrossRefGoogle Scholar
  11. 11.
    S. Chakraborty, T. Erlebach, and L. Thiele. On the complexity of scheduling conditional real-time code. In Proc. 7th International Workshop on Algorithms and Data Structures (WADS), LNCS 2125, 2001.CrossRefGoogle Scholar
  12. 12.
    R.L. Cruz. A calculus for network delay. IEEE Trans. Information Theory, 37(1):114–141, 1991.CrossRefMathSciNetGoogle Scholar
  13. 13.
    K. Deb. Multi-objective optimization using evolutionary algorithms. John Wiley, Chichester, 2001.zbMATHGoogle Scholar
  14. 14.
    D. Decasper, Z. Dittia, G. M. Parulkar, and B. Plattner. Router plugins: A software architecture for next-generation routers. IEEE/ACM Transactions on Networking, 8(1):2–15, 2000.CrossRefGoogle Scholar
  15. 15.
    A. Demers, S. Keshav, and S. Shenkar. Analysis and simulation of a fair queueing algorithm. Journal of Internetworking Research and Experience, 1(1):3–26, 1990.Google Scholar
  16. 16.
    E. Kohler, R. Morris, B. Chen, J. Jannotti, and M.F. Kaashoek. The Click modular router. ACM Transactions on Computer Systems, 18(3):263–297, 2000.CrossRefGoogle Scholar
  17. 17.
    J. Lehoczky, L. Sha, and Y. Ding. The rate monotonic scheduling algorithm. In Proc. IEEE Real-Time Systems Symposium, pages 166–171, 1989.Google Scholar
  18. 18.
    C. Liu and J. Layland. Scheduling algorithms for multiprogramming in hard realtime environment. Journal of the ACM, 20(1):46–61, 1973.zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    L. Thiele M. Eisenring, E. Zitzler. Handling conflicting criteria in embedded system design. IEEE Design &Test of Computers, 17(2):51–59, 2000.CrossRefGoogle Scholar
  20. 20.
    G. De Micheli. Synthesis and Optimization of Digital Circuits. McGraw-Hill International Editions, New York, 1994.Google Scholar
  21. 21.
    A. K. Mok and D. Chen. A multiframe model for real-time tasks. IEEE Transactions on Software Engineering, 23(10):635–645, 1997.CrossRefGoogle Scholar
  22. 22.
    The Moses project homepage.
  23. 23.
    M. Naedele, L. Thiele, and M. Eisenring. General task and resource models for processor task scheduling, 1998. TIK Report 45, ETH Zürich.Google Scholar
  24. 24.
    M. Naedele, L. Thiele, and M. Eisenring. Characterizing variable task releases and processor capacities. In Proceedings of the 14th IFAC World Congress, 1999.Google Scholar
  25. 25.
    A. K. Parekh and R. G. Gallager. A generalized processor sharing approach to flow control in integrated services networks: the single-node case. IEEE/ACM Transactions on Networking, 1(3):344–357, 1993.CrossRefGoogle Scholar
  26. 26.
    S. Prakash and A. C. Parker. Synthesis of application-specific multiprocessor systems including memory components. In Proc. IEEE Application Specific Array Processors, 1992.Google Scholar
  27. 27.
    X. Qie, A. Bavier, L. Peterson, and S. Karlin. Scheduling computations on a software-based router. In Proc. SIGMETRICS, 2001.Google Scholar
  28. 28.
    S. Shenker and J. Wroclawski. General characterization parameters for integrated service network elements. RFC 2215, IETF, September 1997.Google Scholar
  29. 29.
    L. Thiele, S. Chakraborty, and M. Naedele. Real-time calculus for scheduling hard real-time systeme. In Proc. IEEE Internation Conference on Circuits and Systems, 2000.Google Scholar
  30. 30.
    E. Zitzler, J. Teich, and S. S. Bhattacharyya. Evolutionary algorithms for the synthesis of embedded software. IEEE Transactions on VLSI Systems, 8(4):452–456, August 2000.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Lothar Thiele
    • 1
  • Samarjit Chakraborty
    • 1
  • Matthias Gries
    • 1
  • Alexander Maxiaguine
    • 1
  • Jonas Greutert
    • 1
  1. 1.Computer Engineering and Networks LaboratorySwiss Federal Institute of Technology (ETH)ZürichZürichSwitzerland

Personalised recommendations