Systems Engineering for High Performance Computing Software: The HDDA/DAGH Infrastructure for Implementation of Parallel Structured Adaptive Mesh

  • Parashar M
  • Browne J
N/ACitations
Citations of this article
23Readers
Mendeley users who have this article in their library.
Get full text

Abstract

This paper defines, describes and illustrates a systems engineering process for development of software systems implementing high performance computing applications. The example which drives the creation of this process is development of a flexible and extendible program development infrastructure for parallel structured adap-tive meshes, the HDDA/DAGH package. The fundamental systems engineering principles used (hierarchical abstractions based on separation of concerns) are well-known but are not commonly applied in the context of high performance computing software. Application of these principles will be seen to enable implementation of an infrastructure which combines breadth of applicability and portability with high performance. Key words. Software systems engineering, Structured adaptive mesh-refinement, High performance software development, Distributed dynamic data-structures. 1. Overview. This paper describes the systems engineering process which was followed in the development of the Hierarchical Dynamic Distributed Array/Distributed Adaptive Grid Hierarchy (HDDA/DAGH) program development infrastructure (PDI) for implementation of solutions of partial differential equations using adaptive mesh refinement algorithms. The term "systems engineering" was carefully chosen to distinguish the development process we propose as appropriate for development of high performance computing software from the conventional "software engineer-ing" development process. The term "systems engineering" is not widely used in the vernacular of high performance computing. Indeed, formal structured development processes are not commonly used in development of high performance computing (HPC) software. This may be because conventional software engineering processes do not address many of the issues important for HPC software systems. This paper uses development of the HDDA/DAGH PDI as a case study to present a structured development process which addresses the issues encountered in development of high performance computing software systems. While HDDA/DAGH is a PDI for applications rather than an application, the issues addressed by the systems engineering process we describe are common to all types of high performance computing software systems. We propose this systems engineering process as one which is generally appropriate for high performance computing applications. Conventional software engineering [1, 2]

Cite

CITATION STYLE

APA

Parashar, M., & Browne, J. C. (2000). Systems Engineering for High Performance Computing Software: The HDDA/DAGH Infrastructure for Implementation of Parallel Structured Adaptive Mesh (pp. 1–18). https://doi.org/10.1007/978-1-4612-1252-2_1

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free