𝔖 Bobbio Scriptorium
✦   LIBER   ✦

Costing stepwise refinements of parallel programs

✍ Scribed by Nils Ellmenreich; Christian Lengauer


Publisher
Elsevier Science
Year
2007
Tongue
English
Weight
626 KB
Volume
33
Category
Article
ISSN
1477-8424

No coin nor oath required. For personal study only.

✦ Synopsis


The idea of the stepwise refinement of a problem specification into an efficient target program dates back to the 1970. With the high-level programming languages available today, it is becoming practical to make every node of the refinement tree executable (and not just the leaves of the tree). Consequently, one can also perform run time experiments with the intermediate programs (not just with the leaves).

Our problem domain is scientific computing. We use experiments with the intermediate refinements, written in Haskell, to derive cost predictions for the target programs written in C with MPI. These predictions guide our choices of alternative refinements, as we navigate through the refinement tree.

This non-standard use of a cost model introduces two new requirements:

β€’ The higher up in the refinement tree a programs is, the less determined its target implementation is, i.e., the less accurate the cost prediction will be. However, the cost data we obtain must (and can) suffice to make a correct choice between alternative refinements, based on a relative comparison of the respective performance predictions. β€’ The costing of an intermediate program happens necessarily on an interpreter, not on the installation on which the target program will run-which is not yet fully determined! Still, the cost model must be calibrated with respect to the real installation-even when it is used for intermediate programs-since our choice of refinement will depend on the characteristics of the real installation.

We propose a cost model for the stepwise prototyping of high-performance parallel programs, which satisfies these requirements.


πŸ“œ SIMILAR VOLUMES


Compile-Time Estimation of Communication
✍ Thomas Fahringer πŸ“‚ Article πŸ“… 1996 πŸ› Elsevier Science 🌐 English βš– 416 KB

A key measure of the performance of a distributed memory parallel program is the communication overhead. On most current parallel systems, sending data from a local to a remote processor still takes one or two orders of magnitude longer than the time to access data on a local processor. The behavior

Predicting the performance of parallel p
✍ V Blanco; J.A GonzΓ‘lez; C LeΓ³n; C Rodrı́guez; G Rodrı́guez; M Printista πŸ“‚ Article πŸ“… 2004 πŸ› Elsevier Science 🌐 English βš– 326 KB