Table of Contents Author Guidelines Submit a Manuscript
Scientific Programming
Volume 6, Issue 2, Pages 215-227
http://dx.doi.org/10.1155/1997/926796

Run-Time and Compiler Support for Programming in Adaptive Parallel Environments

Guy Edjlali,2 Gagan Guyagrawal,1 Alan Sussman,2 Jim Humphries,2 and Joel Saltz2

1Department of Computer and Information Sciences, University of Delaware, Newark, DE 19716, USA
2UMIACS and Department of Computer Science, University of Maryland, College Park, MD 20742, USA

Received 26 September 1995; Accepted 26 March 1996

Copyright © 1997 Hindawi Publishing Corporation. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

For better utilization of computing resources, it is important to consider parallel programming environments in which the number of available processors varies at run-time. In this article, we discuss run-time support for data-parallel programming in such an adaptive environment. Executing programs in an adaptive environment requires redistributing data when the number of processors changes, and also requires determining new loop bounds and communication patterns for the new set of processors. We have developed a run-time library to provide this support. We discuss how the run-time library can be used by compilers of high-performance Fortran (HPF)-like languages to generate code for an adaptive environment. We present performance results for a Navier-Stokes solver and a multigrid template run on a network of workstations and an IBM SP-2. Our experiments show that if the number of processors is not varied frequently, the cost of data redistribution is not significant compared to the time required for the actual computation. Overall, our work establishes the feasibility of compiling HPF for a network of nondedicated workstations, which are likely to be an important resource for parallel programming in the future.