Results 1 - 10
of
16
Efficient Run-time Support for Irregular Block-Structured Applications
, 1998
"... Parallel implementations of scientific applications often rely on elaborate dynamic data structures with complicated communication patterns. We describe a set of intuitive geometric programming abstractions that simplify coordination of irregular block-structured scientific calculations without sacr ..."
Abstract
-
Cited by 38 (14 self)
- Add to MetaCart
Parallel implementations of scientific applications often rely on elaborate dynamic data structures with complicated communication patterns. We describe a set of intuitive geometric programming abstractions that simplify coordination of irregular block-structured scientific calculations without sacrificing performance. We have implemented these abstractions in KeLP, a C++ run-time library. KeLP's abstractions enable the programmer to express complicated communication patterns for dynamic applications, and to tune communication activity with a high-level, abstract interface. We show that KeLP's flexible communication model effectively manages elaborate data motion patterns arising in structured adaptive mesh refinement, and achieves performance comparable to hand-coded message-passing on several structured numerical kernels. to appear in J. Parallel and Distributed Computing 1 Introduction Many scientific numerical methods employ structured irregular representations to improve accura...
Flexible Communication Mechanisms for Dynamic Structured Applications
, 1996
"... . Irregular scientific applications are often difficult to parallelize due to elaborate dynamic data structures with complicated communication patterns. We describe flexible data orchestration abstractions that enable the programmer to express customized communication patterns arising in an impo ..."
Abstract
-
Cited by 35 (9 self)
- Add to MetaCart
. Irregular scientific applications are often difficult to parallelize due to elaborate dynamic data structures with complicated communication patterns. We describe flexible data orchestration abstractions that enable the programmer to express customized communication patterns arising in an important class of irregular computations---adaptive finite difference methods for partial differential equations. These abstractions are supported by KeLP, a C++ run-time library. KeLP enables the programmer to manage spatial data dependence patterns and express data motion handlers as first-class mutable objects. Using two finite difference applications, we show that KeLP's flexible communication model effectively manages elaborate data motion arising in semi-structured adaptive methods. 1 Introduction Many scientific numerical methods employ structured irregular representations to improve accuracy. Irregular representations can resolve fine physical structures in complicated geometri...
Communication Overlap in Multi-Tier Parallel Algorithms
- Proceedings of Supercomputing
, 1998
"... Hierarchically organized multicomputers such as SMP clusters offer new opportunities and new challenges for high-performance computation, but realizing their full potential remains a formidable task. We present a hierarchical model of communication targeted to block-structured, bulk-synchronous appl ..."
Abstract
-
Cited by 25 (9 self)
- Add to MetaCart
Hierarchically organized multicomputers such as SMP clusters offer new opportunities and new challenges for high-performance computation, but realizing their full potential remains a formidable task. We present a hierarchical model of communication targeted to block-structured, bulk-synchronous applications running on dedicated clusters of symmetric multiprocessors. Our model supports node-level rather processor-level communication as the fundamental operation, and is optimized for aggregate patterns of regular section moves rather than point-topoint messages. These two capabilities work synergistically. They provide flexibility in overlapping communication and overcome deficiencies in the underlying communication layer on systems where internode communication bandwidth is at a premium. We have implemented our communication model in the KeLP2.0 run time library. We present empirical results for five applications running on a cluster of Digital AlphaServer 2100's. Four of the applicatio...
ParaMEME: A Parallel Implementation and a Web Interface for a DNA and Protein Motif Discovery Tool
- Computer Applications in the Biosciences
, 1996
"... Many advanced software tools fail to reach a wide audience because they require specialized hardware, installation expertise, or an abundance of CPU cycles. The worldwide web offers a new opportunity for distributing such systems. One such program, MEME, discovers repeated patterns, called motifs, ..."
Abstract
-
Cited by 24 (9 self)
- Add to MetaCart
Many advanced software tools fail to reach a wide audience because they require specialized hardware, installation expertise, or an abundance of CPU cycles. The worldwide web offers a new opportunity for distributing such systems. One such program, MEME, discovers repeated patterns, called motifs, in sets of DNA or protein sequences. This tool is now available to biologists over the worldwide web, using an asynchronous, single-program multiple-data version of the program called ParaMEME that runs on an Intel Paragon XP/S parallel computer at the San Diego Supercomputer Center. ParaMEME scales gracefully to 64 nodes on the Paragon with efficiencies above 72% for large data sets. The worldwide web interface to ParaMEME accepts a set of sequences interactively from a user, submits the sequences to the Paragon for analysis, and e-mails the results back to the user. ParaMEME is available for free public use at http://www.sdsc.edu/MEME. Keywords: intelligent system, supercomputer, ...
A Parallel Software Infrastructure for Structured Adaptive Mesh Methods
- in Proceedings of Supercomputing '95, IEEE Computer
, 1995
"... Structured adaptive mesh algorithms dynamically allocate computational resources to accurately resolve interesting portions of a numerical calculation. Such methods are difficult to implement and parallelize because they rely on dynamic, irregular data structures. We have developed an efficient, por ..."
Abstract
-
Cited by 19 (4 self)
- Add to MetaCart
Structured adaptive mesh algorithms dynamically allocate computational resources to accurately resolve interesting portions of a numerical calculation. Such methods are difficult to implement and parallelize because they rely on dynamic, irregular data structures. We have developed an efficient, portable, parallel software infrastructure for adaptive mesh methods; our software provides computational scientists with high-level facilities that hide low-level details of parallelism and resource management. We have applied our software infrastructure to the solution of adaptive eigenvalue problems arising in materials design. We describe our software infrastructure and analyze its performance. We also present computational results which indicate that the uniformity restrictions imposed by a data parallel Fortran implementation of a structured adaptive mesh application would significantly impact performance. 1 Introduction The accurate solution of many problems in science and engineering ...
Parallelization of Structured, Hierarchical Adaptive Mesh Refinement Algorithms
, 1999
"... We describe an approach to parallelization of structured adaptive mesh refinement algorithms. This type of adaptive methodology is based on the use of local grids superimposed on a coarse grid to achieve sufficient resolution in the solution. The key elements of the approach to parallelization are a ..."
Abstract
-
Cited by 19 (5 self)
- Add to MetaCart
We describe an approach to parallelization of structured adaptive mesh refinement algorithms. This type of adaptive methodology is based on the use of local grids superimposed on a coarse grid to achieve sufficient resolution in the solution. The key elements of the approach to parallelization are a dynamic load-balancing technique to distribute work to processors and a software methodology for managing data distribution and communications. The methodology is based on a message-passing model that exploits the coarse-grained parallelism inherent in the algorithms. The approach is illustrated for an adaptive algorithm for hyperbolic systems of conservation laws in three space dimensions. A numerical example computing the interaction of a shock with a helium bubble is presented. We give timings to illustrate the performance of the method.
Compiler-directed Shared-Memory Communication for Iterative Parallel Applications
- In Proceedings of Supercomputing '96
, 1996
"... Many scientific applications are iterative and specify repetitive communication patterns. This paper shows how a parallel-language compiler and a predictive cachecoherence protocol in a distributed shared memory system together can implement shared-memory communication efficiently for applications w ..."
Abstract
-
Cited by 19 (0 self)
- Add to MetaCart
Many scientific applications are iterative and specify repetitive communication patterns. This paper shows how a parallel-language compiler and a predictive cachecoherence protocol in a distributed shared memory system together can implement shared-memory communication efficiently for applications with unpredictable but repetitive communication patterns. The compiler uses static analysis to identify program points where potentially repetitive communication occurs. At runtime, the protocol builds a communication schedule in one iteration and uses the schedule to pre-send data in subsequent iterations. This paper contains measurements of three iterative applications (including adaptive programs with unstructured data accesses) that show that a predictive protocol increases the number of shared-data requests satisfied locally, thus reducing the remote data access latency and total execution time. This work is supported in part by Wright Laboratory Avionics Directorate, Air Force Materi...
Parallel Software Abstractions for Structured Adaptive Mesh Methods
"... ions for Structured Adaptive Mesh Methods Scott R. Kohn Department of Chemistry and Biochemistry University of California, San Diego La Jolla, CA 92093-0340 Scott B. Baden Department of Computer Science and Engineering University of California, San Diego La Jolla, CA 92093-0114 This work was sup ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
ions for Structured Adaptive Mesh Methods Scott R. Kohn Department of Chemistry and Biochemistry University of California, San Diego La Jolla, CA 92093-0340 Scott B. Baden Department of Computer Science and Engineering University of California, San Diego La Jolla, CA 92093-0114 This work was supported by NSF contract ASC-9110793 and ONR contract N00014-93-1-0152. Intel Paragon and Cray C-90 time at the San Diego Supercomputer Center was provided by a UCSD School of Engineering Block Grant. Access to the IBM SP2 was provided by the Cornell Theory Center. Kohn and Baden, "Parallel Software Abstractions : : :" 2 Proposed running head: Parallel Software Abstractions for Adaptive Meshes Corresponding Author: Scott Kohn Department of Chemistry and Biochemistry University of California, San Diego 9500 Gilman Drive La Jolla, CA 92093-0340 Tel: (619) 534-2026 Fax: (619) 534-7244 Email: skohn@chem.ucsd.edu Abstract We describe a software infrastructure for implementing portable structur...
Programming with the HPC++ Parallel Standard Template Library
- In Proceedings of the 8th SIAM Conference on Parallel Processing for Scientific Computing (PP’97
, 1997
"... We present an overview of the HPC++ Parallel Standard Template Library (PSTL), a parallel version of the C++ Standard Template Library (STL). The PSTL is part of HPC++, a C++ library and language extension framework being developed by the HPC++ consortium as a standard model for portable parallel ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
We present an overview of the HPC++ Parallel Standard Template Library (PSTL), a parallel version of the C++ Standard Template Library (STL). The PSTL is part of HPC++, a C++ library and language extension framework being developed by the HPC++ consortium as a standard model for portable parallel programming in C++. The PSTL includes distributed versions of the seven STL containers (vector, list, deque, set, map, multiset, multimap), as well as parallel versions of the STL algorithms. A key component of the PSTL is the parallel iterator, which provides global access to all elements in the distributed containers and faciliates generic parallel programming. 1 Introduction Reusable software components are of primary importance for software developers. Until recently, however, C++ provided neither standard basic data structures (such as linked lists and vectors) nor algorithms. Instead, each new software project included a development phase for these basic structures. Algorithms w...
Support for Parallel Generic Programming
, 1996
"... Introduction Reusable software components are of primary importance for software developers. Unfortunately, until very recently C++ provided no standard basic data structures (such as linked lists and vectors) or algorithms. Instead, each new software project included a development phase for these ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Introduction Reusable software components are of primary importance for software developers. Unfortunately, until very recently C++ provided no standard basic data structures (such as linked lists and vectors) or algorithms. Instead, each new software project included a development phase for these basic structures. Algorithms would then be created to operate on these structures. If the structures changed, the algorithms needed to be modified. Each programming team also had to be concerned about efficiency of data structure access and algorithms. This problem is particularly acute in the parallel programming realm, where data structures must be built to utilize concurrency whenever possible. With no widely accepted standard of serial data structures, the parallel data structures roam even farther afield. Each new parallel C++ library provides either non-standard tools to build and support data structures or includes a set of specialized data structures. Clearly, if cost-effect

