A survey of heterogeneous computing: concepts and systems

This survey of heterogeneous computing concepts and systems is based on the recently proposed by the authors "EM/sup 3/ " (Execution Modes/Machine Models) taxonomy of computer systems in general. The taxonomy is based on two criteria: the number of execution modes supported by the system and the number of machine models present in the system. Since these two criteria are orthogonal, four classes exist: Single Execution mode/Single machine Model (SESM), Single Execution modes/Multiple machine Models (SEMM), Multiple Execution modes/Single machine Model (MESM), and Multiple Execution modes/Multiple machine Models (MEMM). In Section II, heterogeneous computing concepts are viewed through three phases of the compilation and execution of any heterogeneous application: parallelism detection, parallelism characterization and resource allocation. Parallelism detection phase discovers fine-grain parallelism inside every task. This phase is not an exclusive feature of heterogeneous computing, so it will not be dealt with in greater detail. The assignment of parallelism characterization phase is to estimate the behavior of each task in the application on every architecture in the heterogeneous system. In the parallelism characterization domain, one original taxonomy is given. This taxonomy contains scheme classes such as vector and matrix static and dynamic, implicit and explicit, algorithmic and heuristic and numeric and symbolic. Resource allocation phase determines the place and the moment for execution of every task to optimize certain performance measure related to some criteria. In the resource allocation domain, the existing Casavant-Kuhl taxonomy is extended and used. This well known taxonomy is supplemented with scheme classes such as noncooperative competitive, noncooperative noncompetitive, and load sharing. In Section III, heterogeneous systems characterized with multiple execution modes ("fully" heterogeneous systems falling in the MESM and the MEMM class) are surveyed. The MESM class systems are described and illustrated with three case studies, two of which support SIMD/MIMD and one supports scalar/vector combination of execution modes. The MEMM class systems are described and illustrated with two representative examples of fully heterogeneous networks supporting multiple execution modes. The system software for heterogeneous computing systems is presented according to an original three-dimensional (3-D) taxonomy whose criteria rely on the level of heterogeneity support implementation, the programming approach, and the data access technique applied. In Section III, several representative heterogeneous applications are described with their computation requirements and the systems used for their execution. Each topic covered in the paper contains several concise examples.

[1]  Howard Jay Siegel,et al.  Software Issues for the PASM Parallel Processing System , 1993 .

[2]  Arif Ghafoor,et al.  PAWS: a performance evaluation tool for parallel computing systems , 1991, Computer.

[3]  R. F. Freund,et al.  SmartNet - a PVM based management system for near optimal scheduling of very heterogeneous HPC resources (machines and networks) , 1993, Supercomputing '93. Proceedings.

[4]  David Hung-Chang Du,et al.  Distributed computing with high-speed optical networks , 1993, Computer.

[5]  Viktor K. Prasanna,et al.  Heterogeneous Supercomputing: Problems and Issues , 1992, Proceedings. Workshop on Heterogeneous Processing.

[6]  Computer Staff Gigabit network testbeds , 1990, Computer.

[7]  C. H. Lee,et al.  Design of a Heterogeneous Parallel Processing System for Beam Forming , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[8]  Veljko M. Milutinovic,et al.  EM³: A Taxonomy of Heterogeneous Computing Systems , 1995, Computer.

[9]  L. Tao,et al.  Heuristics for Mapping Parallel Computations to Parallel Architectures , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[10]  Nicholas Carriero,et al.  Linda in Heterogeneous Computing Environments , 1992, Proceedings. Workshop on Heterogeneous Processing.

[11]  Bhagirath Narahari,et al.  Matching and scheduling in a generalized optimal selection theory , 1994, Proceedings Heterogeneous Computing Workshop.

[12]  A. Ghafoor,et al.  A heterogeneous processing (HP) framework for multimedia query processing , 1994, Proceedings Heterogeneous Computing Workshop.

[13]  Walter B. Ligon,et al.  Evaluating Multigauge Architectures for Computer Vision , 1994, J. Parallel Distributed Comput..

[14]  David H. C. Du,et al.  Network Supercomputing: Experiments with a Cray-2 to Cm-2 Hippi Connection , 1992, Proceedings. Workshop on Heterogeneous Processing.

[15]  Song Chen,et al.  A Selection Theory and Methodology for Heterogeneous Supercomputing , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[16]  Jerry L. Potter Heterogeneous Associative Computing , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[17]  Arif Ghafoor,et al.  A distributed heterogeneous supercomputing management system , 1993, Computer.

[18]  Veljko M. Milutinovic,et al.  The Loco Approach to Distributed Task Allocation in AIDA by VERDI , 1985, ICDCS.

[19]  R. F. Freund,et al.  Special Issue on Heterogeneous Processing - Guest Editors' Introduction , 1994, J. Parallel Distributed Comput..

[20]  Jack J. Dongarra,et al.  Visualization and debugging in a heterogeneous environment , 1993, Computer.

[21]  R. F. Freund,et al.  Optimal selection theory for superconcurrency , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[22]  Viktor K. Prasanna,et al.  Heterogeneous computing: challenges and opportunities , 1993, Computer.

[23]  Arif Ghafoor,et al.  Estimating execution time for parallel tasks in heterogeneous processing (HP) environment , 1994, Proceedings Heterogeneous Computing Workshop.

[24]  Charles C. Weems Image Understanding: A Driving Application for Research in Heterogeneous Parallel Processing , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[25]  G. Jack Lipovski,et al.  An overview of the Texas reconfigurable array computer , 1899, AFIPS '80.

[26]  Gul A. Agha,et al.  A Methodology for Programming Scalable Architectures , 1994, J. Parallel Distributed Comput..

[27]  Michael Philippsen,et al.  Triton/1: A Massively-Parallel Mixed-Mode Computer Designed to Support High Level Languages , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[28]  Milos D. Ercegovac,et al.  Heterogeneity in supercomputer architectures , 1988, Parallel Comput..

[29]  N. P. Jouppi,et al.  A unified vector/scalar floating-point architecture , 1989, ASPLOS 1989.

[30]  R. F. Freund,et al.  Guest Editor's Introduction: Heterogeneous Processing , 1993 .

[31]  M. Auguin,et al.  The OPSILA computer , 1986 .

[32]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[33]  S. L. Scott,et al.  A framework for the Virtual Heterogeneous Associative Machine , 1994, Proceedings Heterogeneous Computing Workshop.

[34]  William Gropp,et al.  Developing Applications for a Heterogeneous Computing Environment , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[35]  Carlos R. Mechoso,et al.  Achieving superlinear speedup on a heterogeneous, distributed system , 1994, IEEE Parallel & Distributed Technology: Systems & Applications.

[36]  Julian Padget,et al.  Towards a Virtual Multicomputer , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[37]  Gul Agha,et al.  An Actor-Based Framework for Heterogeneous Computing Systems , 1992, Proceedings. Workshop on Heterogeneous Processing.

[38]  Frank J. Rinaldo,et al.  Event reconstruction in high-energy physics , 1993, Computer.

[39]  T. H. Probert,et al.  Heterogeneous by Design: An Environment for Exploiting Heterogeneity , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[40]  Arif Ghafoor,et al.  Estimation of Execution times on Heterogeneous Supercomputer Architectures , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[41]  Charles C. Weems,et al.  Linguistic support for heterogeneous parallel processing: a survey and an approach , 1994, Proceedings Heterogeneous Computing Workshop.

[42]  John R. Nicol,et al.  Object orientation in heterogeneous distributed computing systems , 1993, Computer.

[43]  Yan Alexander Li,et al.  Goals of and open problems in high-performance heterogeneous computing , 1995, Other Conferences.

[44]  A.V. Malevsky,et al.  A Case Study in Metacomputing: Distributed Simulations of Mixing in Turbulent Convection , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[45]  Howard Jay Siegel,et al.  Instruction execution trade-offs for SIMD vs. MIMD vs. mixed mode parallelism , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

[46]  Lixin Tao Heuristics for Mapping Parallel Computations to Heterogeneous Parallel Architectures , 1993 .

[47]  M. A. Iqbal Partitioning Problems in Heterogeneous Computer Systems , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[48]  Mikhail J. Atallah,et al.  A Framework for Compile-Time Selection of Parallel Modes in an Simd/spmd Heterogeneous Environment , 1993, Proceedings. Workshop on Heterogeneous Processing,.

[49]  Mikhail J. Atallah,et al.  A Block-Based Mode Selection Model for SIMD/SPMD Parallel Environments , 1994, J. Parallel Distributed Comput..

[50]  Julian G. Rosenman,et al.  VISTAnet Gigabit Testbed , 1992, IEEE J. Sel. Areas Commun..

[51]  Ian T. Foster,et al.  Productive Parallel Programming: The PCN Approach , 1995, Sci. Program..

[52]  A.C. Parker,et al.  A sub-optimal assignment of application tasks onto heterogeneous systems , 1994, Proceedings Heterogeneous Computing Workshop.

[53]  H. T. Kung,et al.  The design of nectar: a network backplane for heterogeneous multicomputers , 1989, ASPLOS 1989.

[54]  Thomas L. Casavant,et al.  A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems , 1988, IEEE Trans. Software Eng..