2DT-FP: A parallel functional programming language on two-dimensional data

Yosi Ben-Asher, Gudula Rünger, Assaf Schuster, Reinhard Wilhelm

Research output: Contribution to journalArticlepeer-review

Abstract

We propose a new paradigm for programming multiprocessor systems, 2DT (two-dimensional transformations). 2DT programs are composed of local computations on linear data (columns) and global transformations on 2-dimensional combinations of columns (2D-arrays). Local computations can be expressed in a functional or imperative base language; a typed variant of Backus' FP is chosen for 2DT-FP. The level of abstraction of 2DT makes it suitable for programming a relevant set of algorithms, in general any algorithms, whose data can be easily mapped to 2-dimensional representations. A set of examples tries to prove this claim. 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. The implementation realized on the Intel Hypercube is described.

Original languageEnglish
Pages (from-to)389-422
Number of pages34
JournalInternational Journal of Parallel Programming
Volume23
Issue number5
DOIs
StatePublished - Oct 1995

Keywords

  • 2-dimensional transformations
  • Parallel language
  • SPMD
  • functional programming

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Information Systems

Fingerprint

Dive into the research topics of '2DT-FP: A parallel functional programming language on two-dimensional data'. Together they form a unique fingerprint.

Cite this