Static analysis of interaction nets for distributed implementations

  • Ian Mackie
Concurrency
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1302)

Abstract

Interaction nets can be seen as both a programming language and an intermediate language for the implementation of other paradigms of computation. One of their principal advantages is that the reduction process is both local and confluent, thus being ideally suited for the development of parallel implementations. For distributed memory architectures, however, there is a need to know how the net should be distributed amongst processors, i.e. how do we break up the net so that the communication is kept to a minimum. The purpose of this paper is to suggest an analysis to solve this problem, and hint at other possible analyses for different applications, for example dynamic load balancing.

Keywords

Interaction Nets Abstract Interpretation Distributed Implementations 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    François Bourdoncle. Abstract interpretation by dynamic partitioning. Journal of Functional Programming, 2(4):407–435, 1992.Google Scholar
  2. 2.
    Christopher Colby. Analyzing the communication topology of concurrent programs. In Proceedings of the ACM Symposium on Partial Evaluation and Semantic Based Program Manipulation (PEPM'95), 1995.Google Scholar
  3. 3.
    Patrick Cousot and Radhia Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM Symposium on Principles of Programming Languages, pages 238–252, January 1977.Google Scholar
  4. 4.
    Patrick Cousot and Radhia Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2-3):103–179, July 1992. Available from http://ww.dmi.ens.fr/~Couot.Google Scholar
  5. 5.
    Patrick Cousot and Radhia Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511–547, August 1992.Google Scholar
  6. 6.
    Patrick Cousot and Radhia Cousot. Formal language, grammar and set-constraint-based program analysis by abstract interpretation. In Conference Record of FPCA '95 SIGPLAN/SIGARCH/WG2.8 Conference on Punctional Programming and Computer Architecture, pages 170–181. ACM Press, 1995.Google Scholar
  7. 7.
    Maribel Fernández and Ian Mackie. From term rewriting to generalised interaction nets. In Herbert Kuchen and S. Doaitse Swierstra, editors, Programming Languages: Implementations, Logics, and Programs. 8th International Symposium, PLILP'96, Aachen, Germany, number 1140 in Lecture Notes in Computer Science, pages 319–333. Springer-Verlag, September 1996.Google Scholar
  8. 8.
    Maribel Fernández and Ian Mackie. Integrating paradigms via interaction nets. In Manuel M. T. Chakravarty, Yike Guo, and Tetsuo Ida, editors, Multi-Paradigm Logic Programming, MPLP'96. Proceedings of the JICSLP'96 Post Conference Workshop, pages 137–146. Technical University of Berlin Report Number 96-28, August 1996.Google Scholar
  9. 9.
    Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek, and Vaidy Sunderam. PVM Parallel Virtual Machine. Scientific and Engineering Computation Series. The MIT Press, 1994.Google Scholar
  10. 10.
    Georges Gonthier, Martín Abadi, and Jean-Jacques Lévy. The geometry of optimal lambda reduction. In Proceedings of the 19th ACM Symposium on Principles of Programming Languages, pages 15–26, January 1992.Google Scholar
  11. 11.
    Yves Lafont. Interaction nets. In Proceedings of the 17th ACM Symposium on Principles of Programming Languages, pages 95–108, January 1990.Google Scholar
  12. 12.
    Yves Lafont. Interaction combinators. Information and Computation, 1997. To appear.Google Scholar
  13. 13.
    Ian Mackie. A λ-evaluator based on interaction nets. In Chris Hankin, Ian Mackie, and Raja Nagarajan, editors, Theory and Formal Methods 1994: Proceedings of the Second Imperial College, Department of Computing, Workshop on Theory and Formal Methods, pages 41–60. Imperial College Press, September 1995.Google Scholar
  14. 14.
    Hanne Riis Nielson and Flemming Nielson. Higher-order concurrent programs with finite communication topology. In Proceedings of the 21st ACM Symposium on Principles of Programming Languages (POPL'94), 1994.Google Scholar
  15. 15.
    Marc Snir, Steve W. Otto, Steven Huss-Lederman, David W. Walker, and Jack Dongarra. MPI The Complete Reference. Scientific and Engineering Computation Series. The MIT Press, 1996.Google Scholar
  16. 16.
    Arnaud Venet. Abstract interpretation of the π-calculus. In Proceedings of the 5th LOMAPS Workshop on Analysis and Verification of High-Level Concurrent Languages, number 1192 in Lecture Notes in Computer Science, pages 51–75. Springer-Verlag, 1996.Google Scholar

Copyright information

© Springer-Verlag 1997

Authors and Affiliations

  • Ian Mackie
    • 1
  1. 1.Laboratoire d'Informatique (LIX-CNRS URA 1439)École PolytechniquePalaiseau CedexFrance

Personalised recommendations