2DT-FP: A parallel functional programming language on two-dimensional data
- Haifa Univ. (Israel)
- Universitaet des Saarlandes, Saarbruechen (Germany); and others
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.
- Sponsoring Organization:
- USDOE
- OSTI ID:
- 191985
- Journal Information:
- International Journal of Parallel Programming, Journal Name: International Journal of Parallel Programming Journal Issue: 5 Vol. 23; ISSN IJPPE5; ISSN 0885-7458
- Country of Publication:
- United States
- Language:
- English
Similar Records
Single-assignment language in a distributed-memory multiprocessor. Research report
Lazy evaluation of FP programs: A data-flow approach