Software Issues in High-Performance Computing and a Framework for the Development of HPC Applications

Abstract

We identify the following key problems faced by HPC software:(1) the large gap between HPC design and implementation models in application development, (2) achieving high performance for a single application on different HPC platforms, and (3) accommodating constant changes in both problem specification and target architecture as computational methods and architectures evolve. To attack these problems, we suggest an application development methodology in which high-level architecture-independent specifications are elaborated, through an iterative refinement process which introduces architectural detail, into a form which can be translated to efficient low-level architecture-specific programming notations. A tree-structured development process permits multiple architectures to be targeted with implementation strategies appropriate to each architecture, and also provides a systematic means to accommodate changes in specification and target architecture. We describe the Proteus system, an application development system based on a wide-spectrum programming notation coupled with a notion of program refinement. This system supports the above development methodology via: (1)the construction of the specification and the successive designs in a uniform notation, which can be interpreted to provide early feedback on functionality and performance, (2) migration of the design towards specific architectures using formal methods of program refinement, (3) techniques for performance assessment in which the computational model varies with the level of refinement, and (4) the automatic translation of suitably refined programs to low-level parallel virtual machine codes for efficient execution.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1995
Accession Number
AD1004530

Entities

People

  • Jan F. Prins
  • John Reif
  • Lars S. Nyland
  • Peter H. Mills

Organizations

  • Duke University

Tags

DTIC Thesaurus Topics

  • Algorithms
  • Computational Science
  • Computations
  • Computer Programming
  • Computers
  • High Level Languages
  • High Performance Computing
  • Language
  • Mathematical Models
  • Molecular Dynamics
  • Parallel Computing
  • Product Prototyping
  • Programming Languages
  • Prototypes
  • Simulations
  • Software Development
  • Virtual Machines

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Finite Element Method (FEM) for solving Partial Differential Equations (PDEs)
  • Parallel and Distributed Computing.