Results 1 -
3 of
3
Systems Engineering For High Performance Computing Software: The Hdda/dagh Infrastructure For Implementation Of Parallel Structured Adaptive Mesh Refinement
- In Structured Adaptive Mesh Refinement Grid Methods, IMA Volumes in Mathematics and its Applications
, 1997
"... . 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 ..."
Abstract
-
Cited by 40 (5 self)
- Add to MetaCart
. 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 adaptive 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 develop...
Data Management and Control-Flow Aspects of an SIMD/SPMD Parallel Language/Compiler
- IEEE Transactions on Parallel and Distributed Systems
, 1993
"... Abstract-Features of an explicitly parallel programming lan-guage targeted for reconfigurable parallel processing systems, where the machine's-1- processing elements (PE's) are capable of operating in both the SIMD and SPMD modes of parallelism, are described. The SPMD (Single Program-Multiple Data) ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Abstract-Features of an explicitly parallel programming lan-guage targeted for reconfigurable parallel processing systems, where the machine's-1- processing elements (PE's) are capable of operating in both the SIMD and SPMD modes of parallelism, are described. The SPMD (Single Program-Multiple Data) mode of parallelism is a subset of the MIMD mode where all processors ex-ecute the same program. By providing all aspects of the language with an SIMD mode version and an SPMD mode version that are syntactically and semantically equivalent, the language facilitates experimentation with and exploitation of hybrid SlMDiSPMD machines. Language constructs (and their implementations) for data management, data-dependent control-flow, and PE-address dependent control-flow are presented. These constructs are based on experience gained from programming a parallel machine prototype, and are being incorporated into a compiler under development. Much of the research presented is applicable to general SIMD machines and MIMD machines.
Views on Template-Based Parallel Programming
, 1996
"... For almost a decade we have been working at developing and using template-based models for coarse-grained parallel computing. Our initial system, FrameWorks, was positively received but had a number of shortcomings. The Enterprise parallel programming environment evolved out of this work, and now, a ..."
Abstract
- Add to MetaCart
For almost a decade we have been working at developing and using template-based models for coarse-grained parallel computing. Our initial system, FrameWorks, was positively received but had a number of shortcomings. The Enterprise parallel programming environment evolved out of this work, and now, after several years of experience with the system, its shortcomings are becoming evident. This paper outlines our experiences in developing and using the two parallel programming systems. Many of our observations are relevant to other parallel programming systems, even though they may be based on different assumptions. Although template-base models have the potential for simplifying the complexities of parallel programming, they have yet to realize these expectations for high-performance applications. 1 Introduction Along with the growing interest in parallel and distributed computing, there has been a corresponding increase in the development of models, tools and systems for parallel progra...

