Parallel programs often exhibit strong preferences for different system structures, and machines with the ideal structures may all be available within a single heterogeneous network. There is also the complication that, although a particular application might execute fastest when running by itself on one system, the best turnaround time might result from running the program on a diffeient system that is less heavily loaded at the time the job is submitted. In this paper, we suggest that application programmers should be able to write their code using whatever programming model, control or data parallel, they feel is most appropriate - without worrying about the heterogeneous nature of the execution environment. The system software should automatically determine where that code will execute most efficiently and cause tile code to be executed there. In addition to presenting the basic concepts for building: such system software, this paper describes a prototype system, called AHS, that allows a MIMD programming model to be used with heterogeneous supercomputer networks including various types of UNIX systems (including UNIX-based M I D machines like the Sun 4/600 or the KSR- 1) and even massively-parallel SIMD machines (e.g., the MasPar MP-1).
Heterogeneous Supercomputing, MIMD, SIMD, Compilers, Performance Prediction, Scheduling.
Date of this Version