Most applications like image understanding, multidisciplinary analysis and design, and command and control require integrating algorithms from diverse areas such as image processing, numerical analysis, graph theory, artificial intelligence and databases. These problems are difficult to solve on one parallel machine because they consist of several parts, each of which requires differing types and amounts of parallelization. In this paper we study software and application issues related to using heterogeneous systems for high-performance computing. A typical environment would consist of a suite of high-performance SIMD and MIMD parallel machines and workstations connected by a high speed interconnection network.