2DT-FP: An FP based programming language for efficient parallel programming of multiprocessor networks

  • Yosi Ben-Asher
  • Gudula Rünger
  • Assaf Schuster
  • Reinhard Wilhelm
Paper Sessions Functional Programming
Part of the Lecture Notes in Computer Science book series (LNCS, volume 694)


We propose a new paradigm for programming tightly coupled multicomputer systems, 2DT. 2DT-programs are composed of local computations on linear data (columns) and global transformations on 2-dimensional combinations of the columns (2D-arrays). Local computations can be expressed in a functional or imperative base language; a typed variant of Backus' FP, 2DT-FP, is chosen in this paper.

An interleaving semantics for 2DT-FP is given, exposing the potential for parallel execution of 2DT-FP programs. The claim is proved that any sequential and thus any parallel execution will deliver the same result.


parallel language operational semantics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [A091]
    K. R. Apt and E. R. Olderog. Verification of Sequential and Concurrent Programs. Springer-Verlag, 1991.Google Scholar
  2. [Bac78]
    J. Backus. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Communication of the ACM, 21(8):613–641, 1978.CrossRefGoogle Scholar
  3. [Bel92]
    G. Bell. Ultracomputers: a teraflop before its time. Communications of the ACM, 35(8), 1992.Google Scholar
  4. [BES92]
    Y. Ben-Asher, D. Egozi, and A. Schuster. 2-D SIMD algorithms for perfect shuffle networks. J. Parallel and Distributed Computing, 16:250–257, 1992.Google Scholar
  5. [BRSW92]
    Y. Ben-Asher, G. Rünger, A. Schuster, and R. Wilhelm. 2DT-FP: An FP based programming language. Technical report, Universität des Saarlandes, SFB 124, 1992.Google Scholar
  6. [BRSW93]
    Y. Ben-Asher, G. Rünger, A. Schuster, and R. Wilhelm. Implementing 2DT-FP on a multiprocessor. 1993. submitted to ParCo93.Google Scholar
  7. [BS90]
    G.E. Blelloch and G.W. Sabot. Compiling collection-oriented languages onto massively parallel computers. J. of Parallel and Distributed Computing, 8(2):119–134, February 1990.Google Scholar
  8. [BSW89]
    Y. Ben-Asher, H. Seidl, and R. Wilhelm. The TRANSPOSE machine: A global implementation of a parallel graph reducer. In Proc. of Tencon'89, Bombay, 1989.Google Scholar
  9. [Inm84]
    Inmos Ltd. Occam Programming Manual, 1984.Google Scholar
  10. [PCM83]
    R.H. Perrott, D. Crookes, and P. Milligan. The programming language ACTUS. Software — Pract. & Exp., 13(4):305–322, April 1983.Google Scholar
  11. [Per87]
    R.H. Perrott. Parallel programming. Addison-Wesley, 1987. International Computer Science series.Google Scholar
  12. [Plo81]
    G. D. Plotkin. A structural approach to operational semantics. Technical Report DAIMI-FN 19, Department of Computer Science, Aarhus University, 1981.Google Scholar
  13. [Ros87]
    J.R. Rose. C⋆: a C++-like language for data parallel computation. Usenix C++ Papers, pages 127–134, December 1987.Google Scholar
  14. [Uni83]
    United States Department of Defense. Reference Manual for the Ada Programming Language, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Yosi Ben-Asher
    • 1
  • Gudula Rünger
    • 2
  • Assaf Schuster
    • 3
  • Reinhard Wilhelm
    • 2
  1. 1.Department of MathematicsHaifa UniversityHaifaIsrael
  2. 2.FB 14 InformatikUniversität des SaarlandesSaarbrückenGermany
  3. 3.Computer Science DepartmentTechnion IITHaifaIsrael

Personalised recommendations