Static and dynamic processor allocation for higher-order concurrent languages

  • Hanne Riis Nielson
  • Flemming Nielson
FASE Fase-3: Static Analysis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 915)


Starting from the process algebra for Concurrent ML we develop two program analyses that facilitate the intelligent placement of processes on processors. Both analyses are obtained by augmenting an inference system for counting the number of channels created, the number of input and output operations performed, and the number of processes spawned by the execution of a Concurrent ML program. One analysis provides information useful for making a static decision about processor allocation; to this end it accumulates the communication cost for all processes with the same label. The other analysis provides information useful for making a dynamic decision about processor allocation; to this end it determines the maximum communication cost among processes with the same label. We prove the soundness of the inference system and the two analyses and demonstrate how to implement them; the latter amounts to transforming the syntax-directed inference problems to instances of syntax-free equation solving problems.


  1. [1]
    T.Amtoft, F.Nielson, H.R.Nielson: Type and behaviour reconstruction for higher-order concurrent programs. Manuscript.Google Scholar
  2. [2]
    J. Cai, R. Paige: Program Derivation by Fixed Point Computation. Science of Computer Programming 11, pp. 197–261, 1989.CrossRefGoogle Scholar
  3. [3]
    R. Cridlig, E.Goubault: Semantics and analysis of Linda-based languages. Proc. Static Analysis, Springer Lecture Notes in Computer Science 724, 1993.Google Scholar
  4. [4]
    C.E:McDowell: A practical algorithm for static analysis of parallel programs. Journal of parallel and distributed computing 6, 1989.Google Scholar
  5. [5]
    A.Giacalone, P.Mishra, S.Prasad: Operational and Algebraic Semantics for Facile: a Symmetric Integration of Concurrent and Functional Programming. Proc. ICALP'90, Springer Lecture Notes in Computer Science 443, 1990.Google Scholar
  6. [6]
    M.S.Hecht: Flow Analysis of Computer Programs, North-Holland, 1977.Google Scholar
  7. [7]
    Y.-C.Hung, G.-H.Chen: Reverse reachability analysis: a new technique for deadlock detection on communicating finite state machines. Software — Practice and Experience 23, 1993.Google Scholar
  8. [8]
    S.Jagannathan, S.Week: Analysing stores and references in a parallel symbolic language. Proc. L&FP, 1994.Google Scholar
  9. [9]
    M. Jourdan, D. Parigot: Techniques for Improving Grammar Flow Analysis. proc. ESOP'90, Springer Lecture Notes in Computer Science 432, pp. 240–255, 1990.Google Scholar
  10. [10]
    N. Mercouroff: An algorithm for analysing communicating processes. Proc. of MFPS, Springer Lecture Notes in Computer Science 598, 1992.Google Scholar
  11. [11]
    F.Nielson, H.R.Nielson: From CML to Process Algebras. Proc. CONCUR'93, Springer Lecture Notes in Computer Science 715, 1993.Google Scholar
  12. [12]
    H.R.Nielson, F.Nielson: Higher-Order Concurrent Programs with Finite Communication Topology. Proc. POPL'94, pp. 84–97, ACM Press, 1994.Google Scholar
  13. [13]
    F.Nielson, H.R.Nielson: Constraints for Polymorphic Behaviours for Concurrent ML. Proc. CCL'94, Springer Lecture Notes in Computer Science 845, 1994.Google Scholar
  14. [14]
    J.H.Reif, S.A.Smolka: Dataflow analysis of distributed communicating processes. International Journal of Parallel Programs 19, 1990.Google Scholar
  15. [15]
    J.R. Reppy: Concurrent ML: Design, Application and Semantics. Springer Lecture Notes in Computer Science 693, pp. 165–198, 1993.Google Scholar
  16. [16]
    R.Tarjan: Iterative Algorithms for Global Flow Analysis. In J.Traub (ed.), Algorithms and Complexity, pp. 91–102, Academic Press, 1976.Google Scholar
  17. [17]
    B.Thomsen. Personal communication, May 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Hanne Riis Nielson
    • 1
  • Flemming Nielson
    • 1
  1. 1.Computer Science DepartmentAarhus UniversityDenmark

Personalised recommendations