A language and system for the construction and tuning of parallel programs

Abstract
The programming of efficient parallel software typically requires extensive experimentation with program prototypes. To facilitate such experimentation, any programming system that supports rapid prototyping of parallel programs should provide high-level language primitives with which programs can be explicitly, statically, or dynamically tuned with respect to performance and reliability. When using such primitives, programmers should not need to interact explicitly or even be aware of the different software tools involved in program construction and tuning, such as compilers, linkers, and loaders. In addition, such language primitives should be able to refer conveniently to the information about the executing program and the parallel hardware required for tuning. Such information may include monitoring data about the current or previous program or even hints regarding appropriate tuning decisions. Language primitives and an associated programming system for program tuning are presented in this paper. The primitives and system have been implemented, and have been tested with several parallel applicationson a network of UNIX@ workstations.

This publication has 29 references indexed in Scilit: