Results 11 - 20
of
31
Explicit Management of Memory Hierarchy
- In
, 1996
"... All scalable parallel computers feature a memory hierarchy, in which some locations are “closer ” to a particular processor than others. The hardware in a particular system may support a shared memory or message passing programming model, but these factors effect only the relative costs of local and ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
All scalable parallel computers feature a memory hierarchy, in which some locations are “closer ” to a particular processor than others. The hardware in a particular system may support a shared memory or message passing programming model, but these factors effect only the relative costs of local and remote accesses, not the system’s fundamental Non-Uniform Memory Access (NUMA) characteristics. Yet while the efficient management of memory hierarchies is fundamental to high performance in scientific computing, existing parallel languages and tools provide only limited support for this management task. Recognizing this deficiency, we propose abstractions and programming tools that can facilitate the explicit management of memory hierarchies by the programmer, and hence the efficient programming of scalable parallel computers. The abstractions comprise local arrays, global (distributed) arrays, and disk resident arrays located on secondary storage. The tools comprise the Global Arrays library, which supports the transfer of data between local and global arrays, and the Disk Resident Arrays (DRA) library, for transferring data between global and disk resident
Derivation of Concurrent Algorithms in Tempo
- In LOPSTR95: Fifth International Workshop on Logic Program Synthesis and Transformation
, 1995
"... Tempo is a logic programming language that has recently been designed with the aim of allowing concurrent programs to be written in a more declarative manner than existing languages. One of the benefits of declarative programming is the potential for systematic derivation of programs --- the subject ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Tempo is a logic programming language that has recently been designed with the aim of allowing concurrent programs to be written in a more declarative manner than existing languages. One of the benefits of declarative programming is the potential for systematic derivation of programs --- the subject of this paper. Here we present a few transformation rules that can be applied to Tempo programs, and then describe in detail the derivation of some concurrent algorithms in Tempo. An outline of the Tempo language is also included in order to make the paper self-contained. 1 Introduction One of the major advantages of the declarative approach to programming is the ability to construct programs systematically from specifications by applying correctnesspreserving transformation rules. Existing programs can be transformed to new, possibly more efficient, programs in the same way. Although it could be argued that the same technique can also be applied to "conventional" languages, it is undoubted...
Composing Leads-to Properties
- Theoretical Computer Science
, 1996
"... Compositionality is of great practical importance when building systems from individual components. Unfortunately, leads-to properties are not, in general, compositional, and theorems describing the special cases where they are, are needed. In this paper, we develop a general theory of compositi ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Compositionality is of great practical importance when building systems from individual components. Unfortunately, leads-to properties are not, in general, compositional, and theorems describing the special cases where they are, are needed. In this paper, we develop a general theory of compositional leadsto properties, and use it to derive a composition theorem based on the notion of progress sets, where progress sets can be defined in various ways. Appropriate definitions of progress sets yield new results and generalized versions of known theorems. 1 Introduction Although leads-to properties are not compositional, in general, it is worthwhile to identify the special cases where they are. Composition theorems for leads-to properties have been proposed, for example, in [Rao92, Mi91a, Mi91b]. In this paper, we develop a general theory about composition of leads-to properties, then specialize the results to give a composition theorem based on the notion of progress sets. A prog...
A RULE-BASED SPECIFICATION SYSTEM FOR COMPUTATIONAL FLUID DYNAMICS By
, 1999
"... ions as a model for parallel computations[10]. These Phase Abstractions are identified by the XYZ levels of programming, where the X level corresponds to an individual sequential processor, the Y level represents a collection of processors working on a common task in a data parallel mode, and the Z ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
ions as a model for parallel computations[10]. These Phase Abstractions are identified by the XYZ levels of programming, where the X level corresponds to an individual sequential processor, the Y level represents a collection of processors working on a common task in a data parallel mode, and the Z level which represents the control structure "in the large" of an application. It is argued that this model maps well to most parallel architectures, and, as a result, applications built around this model will execute with high efficiency on a wide range of architectural variations. 2.1.4 Bulk-Synchronous Protocol The Bulk-Synchronous Protocol (BSP) has been proposed as a bridging model for parallel computations[11]. The term "bridging model" is used here to describe a model, much like the von Neumann model for sequential architectures, that facilitates development of computer 9 architectures such that certain quantitative guarantees regarding software performance are met. Given such a mod...
Early Experiences with the IBM SP1 and the High-Performance Switch
, 1993
"... 1 1 Introduction 2 1.1 Comments on Timings : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 2 Programming Packages and Tools 6 2.1 Graphical Display of System Use : : : : : : : : : : : : : : : : : : : : : : : : 6 2.2 Parallel Unix Tools : : : : : : : : : : : : : : : : : : : : : : : : ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
1 1 Introduction 2 1.1 Comments on Timings : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 2 Programming Packages and Tools 6 2.1 Graphical Display of System Use : : : : : : : : : : : : : : : : : : : : : : : : 6 2.2 Parallel Unix Tools : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 2.3 BlockSolve : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 2.4 Fortran M : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 2.5 Chameleon : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.6 Parallel Research on Invariant Subspace Methods : : : : : : : : : : : : : : : 10 2.7 MPI : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 2.8 PCN : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 2.9 Portable, Extensible Tools for Scientific Computing (PETSc) : : : : : : : : 13 2.10 p4 : : : : : : : : : : : : : : : : : : : : : : : : : : : ...
Programming in concurrent logic languages
- IEEE Software
, 1995
"... Coordination using a Single-Writer Multiple-Reader ..."
M-Tree: A parallel abstract data type for block-irregular adaptive applications
- In Proceedings of Euro-Par '97, number 1300 in LNCS
, 1997
"... ..."
Approaches to Support Parallel Programming on Workstation Clusters: A Survey
- A Survey, Informatik Berichte, Fachgruppe Informatik, Universitat-GH Siegen
, 1995
"... The goal of this report is to survey state of the art and existing approaches for parallel programming on workstation clusters with special emphasis on object-oriented programming. First, workstation clusters as parallel computing platforms are characterized and fundamental concepts for parallel pro ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The goal of this report is to survey state of the art and existing approaches for parallel programming on workstation clusters with special emphasis on object-oriented programming. First, workstation clusters as parallel computing platforms are characterized and fundamental concepts for parallel programming are discussed. Then, an overview of existing tools, systems, languages, and environments is given. The report concludes by identifying features of software systems suitable for parallel object-oriented programming on top of workstation clusters.
Modernization of Legacy Application Software
, 1998
"... . Legacy application software is typically written in a dialect of Fortran, and must be reprogrammed to run on today's microprocessorbased multicomputer architectures. We describe our experiences in modernizing a legacy direct numerical simulation (DNS) code with the KeLP software infrastructure. Th ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
. Legacy application software is typically written in a dialect of Fortran, and must be reprogrammed to run on today's microprocessorbased multicomputer architectures. We describe our experiences in modernizing a legacy direct numerical simulation (DNS) code with the KeLP software infrastructure. The resultant code runs on the IBM SP2 with higher numerical resolutions than possible with the legacy code running on a vector mainframe. 1 Introduction Legacy application software is typically written in a dialect of Fortran, and optimized for execution on a vector class architecture like the Cray C90 or T94. Such codes often run on just one processor and must be reprogrammed to run on today's microprocessor-based multicomputer architectures like the IBM SP2 or Cray T3E. A principal motivation for modernizing legacy code is increased memory capacity. For example, the Cray T94 at the San Diego Supercomputer Center has only about 2 Gigabytes of memory, but just 8 nodes of SDSC's 128node IBM S...
Massively Parallel Implementation Of The Penn State/ncar Mesoscale Model
- NCAR Mesoscale Model Argonne National Laboratory
, 1992
"... this paper, we report on a project at Argonne National Laboratory that will allow scientists to take advantage of parallel computing technology. This Massively Parallel Mesoscale Model (MPMM) will be functionally equivalent to the Penn State/NCAR Mesoscale Model (MM). In a prototype study, we produc ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
this paper, we report on a project at Argonne National Laboratory that will allow scientists to take advantage of parallel computing technology. This Massively Parallel Mesoscale Model (MPMM) will be functionally equivalent to the Penn State/NCAR Mesoscale Model (MM). In a prototype study, we produced a parallel version of MM4 using a static (compile-time) coarse-grained "patch" decomposition. This code achieves one-third the performance of a oneprocessor CRAY Y-MP on twelve Intel i860 microprocessors. The current version of MPMM is based on MM5 and uses a more fine-grained approach, decomposing the grid as finely as the mesh itself allows so that each horizontal grid cell is a parallel process. This will allow the code to utilize many hundreds of processors. A high-level language for expressing parallel programs is used to implement communication streams between the processes in a way that permits dynamic remapping to the physical processors of a particular parallel computer. This facilitates load balancing, grid nesting, and coupling with graphical systems and other models. In the rest of this paper, we first introduce the Penn State/NCAR model and discuss issues that must be addressed in a massively parallel implementation. We then discuss the prototype parallel MM4 and the subsequent fine-grained parallelization of MM5 to produce MPMM.

