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 language | English |
---|---|
Pages (from-to) | 389-422 |
Number of pages | 34 |
Journal | International Journal of Parallel Programming |
Volume | 23 |
Issue number | 5 |
DOIs | |
State | Published - Oct 1995 |
Keywords
- 2-dimensional transformations
- Parallel language
- SPMD
- functional programming
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Information Systems