Requirements on the Execution of Kahn Process Networks

  • Marc Geilen
  • Twan Basten
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2618)


Kahn process networks (KPNs) are a programming paradigm suitable for streaming-based multimedia and signal-processing applications. We discuss the execution of KPNs, and the criteria for correct scheduling of their realisations. In [12], Parks shows how process networks can be scheduled in bounded memory; the proposed method is used in many implementations of KPNs. However, it does not result in the correct behaviour for all KPNs. We investigate the requirements for a scheduler to guarantee both correct and bounded execution of KPNs and present an improved scheduling strategy that satisfies them.


Kahn process networks Kahn Principle dynamic scheduling deadlock resolution multi-processor architectures media processing, signal processing streaming 


  1. 1.
    G.E. Allen, B. Evans, and D. Schanbacher. Real-time sonar beamforming on a UNIX workstation using process networks and POSIX threads. In Proc. of the 32nd Asilomar Conference on Signals, Systems and Computers, pages 1725–1729. IEEE Computer Society, 1998.Google Scholar
  2. 2.
    T. Basten and J. Hoogerbrugge. Efficient execution of process networks. In A. Chalmers, M. Mirmehdi, and H. Muller, editors, Proc. of Communicating Process Architectures 2001, Bristol, UK, September 2001, pages 1–14. IOS Press, 2001.Google Scholar
  3. 3.
    S. Brookes. On the Kahn principle and fair networks. Technical Report CMU-CS-98-156, School of Computer Science, Carnegie Mellon University, 1998. Presented at FMPS’98. Submitted to Theoretical Computer Science.Google Scholar
  4. 4.
    J.T. Buck. Scheduling Dynamic Dataflow Graphs with Bounded Memory Using the Token Flow Model. PhD thesis, University of California, EECS Dept., Berkeley, CA, 1993.Google Scholar
  5. 5.
    A.A. Faustini. An operational semantics for pure dataflow. In M. Nielsen and E. M. Schmidt, editors, Automata, Languages and Programming, 9th Colloquium, Aarhus, Denmark, July 12-16, 1982, Proceedings, pages 212–224. Springer, 1982.Google Scholar
  6. 6.
    M. Goel. Process networks in Ptolemy II. Technical Memorandum UCB/ERL No. M98/69, University of California, EECS Dept., Berkeley, CA, December 1998.Google Scholar
  7. 7.
    G. Kahn. The semantics of a simple language for parallel programming. In J.L. Rosenfeld, editor, Information Processing 74: Proceedings of the IFIP Congress 74, Stockholm, Sweden, August 1974, pages 471–475. North-Holland, 1974.Google Scholar
  8. 8.
    G. Kahn and D.B. MacQueen. Coroutines and networks of parallel programming. In B. Gilchrist, editor, Information Processing 77: Proceedings of the IFIP Congress 77, Toronto, Canada, August 8-12, 1977, pages 993–998. North-Holland, 1977.Google Scholar
  9. 9.
    E.A. de Kock et al. YAPI: Application modeling for signal processing systems. In Proc. of the 37th. Design Automation Conference, Los Angeles, CA, June 2000, pages 402–405. IEEE, 2000.Google Scholar
  10. 10.
    E.A. Lee. Overview of the Ptolemy project. Technical Memorandum UCB/ERL No. M01/11, University of California, EECS Dept., Berkeley, CA, March 2001.Google Scholar
  11. 11.
    E.A. Lee and D.G. Messerschmitt. Synchronous data flow. IEEE Proceedings, 75(9):1235–1245, September 1987.Google Scholar
  12. 12.
    T.M. Parks. Bounded Scheduling of Process Networks. PhD thesis, University of California, EECS Dept., Berkeley, CA, December 1995.Google Scholar
  13. 13.
    E.W. Stark. Concurrent transition system semantics of process networks. In Proc. of the 1987 SIGACT-SIGPLAN Symposium on Principles of Programming Languages, Munich, Germany, January 1987, pages 199–210. ACM Press, 1987.Google Scholar
  14. 14.
    R.S. Stevens, M. Wan, P. Laramie, T.M. Parks, and E.A. Lee. Implementation of process networks in Java. Technical Memorandum UCB/ERL No. M97/84, University of California, EECS Dept., Berkeley, CA, 1997.Google Scholar
  15. 15.
    J. Vayssière, D. Webb, and A. Wendelborn. Distributed process networks. Technical Report TR 99-03, University of Adelaide, Department of Computer Science, South Australia 5005, Australia, October 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Marc Geilen
    • 1
  • Twan Basten
    • 1
  1. 1.Dept. of Elec. Eng.Eindhoven University of TechnologyThe Netherlands

Personalised recommendations