Results 1 - 10
of
10
Structural Prediction Models for High-Performance Distributed Applications
- PROCEEDINGS OF THE CLUSTER COMPUTING CONFERENCE (CCC '97)
, 1997
"... We present a structural performance model that uses application profiles and component models to predict an application's performance on a set of distributed resources. We decompose application performance in accordance with the structure of the application: that is, into interacting component model ..."
Abstract
-
Cited by 27 (10 self)
- Add to MetaCart
We present a structural performance model that uses application profiles and component models to predict an application's performance on a set of distributed resources. We decompose application performance in accordance with the structure of the application: that is, into interacting component models that correspond to component tasks. Then, using the application profile and available information as guides, we select models for each component appropriately. As a proof of concept, we have implemented this approach for two distributed applications, a master-slave genetic algorithm code and a red-black stencil successive over-relaxation code. Our predictions are within 10% of actual time. Context Clusters of distributed machines have become a common platform for high performance applications, but remain a challenging environment in which to achieve good performance. One reason for this is the difficulty of predicting an application's execution time in this variable setting, where only mi...
On the Future of Problem Solving Environments
-
, 2000
"... In this paper we review the current state of the problem solving environment (PSE) field and make projections for the future. First we describe the computing context, the definition of a PSE and the goals of a PSE. The state-of-the-art is summarized along with sources (books, bibliographics, web sit ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
In this paper we review the current state of the problem solving environment (PSE) field and make projections for the future. First we describe the computing context, the definition of a PSE and the goals of a PSE. The state-of-the-art is summarized along with sources (books, bibliographics, web sites) of more detailed information. The principal components and paradigms for building PSEs are presented. The discussion of the future is given in three parts: future trends, scenarios for 2010/2025, and research
A Pattern Language for Parallel Application Programs
, 1999
"... A design pattern is a description of a high-quality solution to a frequently occurring problem in some domain. A pattern language is a collection of design patterns that are carefully organized to embody a design methodology. A designer is led through the pattern language, at each step choosing ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
A design pattern is a description of a high-quality solution to a frequently occurring problem in some domain. A pattern language is a collection of design patterns that are carefully organized to embody a design methodology. A designer is led through the pattern language, at each step choosing an appropriate pattern, until the nal design is obtained in terms of a web of patterns. This paper describes a pattern language for parallel application programs. The current version of the pattern language can be viewed at http://www.cise.ufl.edu/research/ParallelPatterns. The goal of our pattern language is to lower the barrier to parallel programming by guiding a programmer through the entire process of developing a parallel program. The main target audience is experienced programmers who may lack experience with parallel programming. The programmer brings to the process a good understanding of the actual problem to be solved, then works through the pattern language to obtain a ...
Performance Prediction and Scheduling for Parallel Applications on Multi-User Clusters
, 1998
"... ..."
Generic Program Structures Induced by Partitions of a Systolic Computation Graph
- in Proc. of the IASTED International Conference on Parallel and Distributed Computing and Systems, PDCS'98
, 1997
"... We propose a technique which essentially constructs a set of program structures, each representing a valid parallel implementation of a sequentially specified program. Our approach is based on partitioning a systolic computation graph and the subsequent mappings of the computations involved to proce ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We propose a technique which essentially constructs a set of program structures, each representing a valid parallel implementation of a sequentially specified program. Our approach is based on partitioning a systolic computation graph and the subsequent mappings of the computations involved to processors in a multicomputer environment. We show that the partitioning and mapping processes induce a specific processor topology dependent on the partitioning strategy used. The processing requirements based on the topology imply a specific program structure. Details of such resulting program structures are discussed. The formalism contained in this paper is useful for the construction of automated tools to support the generation of parallel program codes.
Discovery and Application of Network Information
, 2000
"... USAF, under agreement number F30602-96-1-0287. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as neces ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
USAF, under agreement number F30602-96-1-0287. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Advanced Research
The Mesh-Spectral Archetype
, 1996
"... A parallel program archetype [2] aids in the development of reliable, efficient parallel applications with common computation/communication structures by providing development methods and code libraries specific to the structure. This document presents an archetype for meshspectral computations. It ..."
Abstract
- Add to MetaCart
A parallel program archetype [2] aids in the development of reliable, efficient parallel applications with common computation/communication structures by providing development methods and code libraries specific to the structure. This document presents an archetype for meshspectral computations. It describes the common structure captured by the archetype abstraction, discusses a parallelization strategy for such computations, documents our code library to support this parallelization strategy, and presents a collection of tutorial example application programs. 1 Introduction The mesh-spectral archetype is a combination and generalization of the mesh [5] and spectral [3] archetypes. In this section, we describe the data structures and operations on which this archetype is based and a strategy for parallelizing it. 1.1 Mesh-spectral computations In a mesh-spectral computation: ffl Data is based on 3-dimensional grids (arrays). A computation may contain multiple grids of different di...
Application Development using Compositional Performance Analysis
, 1999
"... A parallel programming archetype [Cha94, CMMM95] is an abstraction that captures the common features of a class of problems with a similar computational structure and combines them with a parallelization strategy to produce a pattern of dataflow and communication. Such abstractions are useful in ap ..."
Abstract
- Add to MetaCart
A parallel programming archetype [Cha94, CMMM95] is an abstraction that captures the common features of a class of problems with a similar computational structure and combines them with a parallelization strategy to produce a pattern of dataflow and communication. Such abstractions are useful in application development, both as a conceptual framework and as a basis for tools and techniques. The efficiency of a parallel program can depend a great deal on how its data and tasks are decomposed and distributed. This thesis describes a simple performance evaluation methodology that includes an analytic model for predicting the performance of parallel and distributed computations developed for multicomputer machines and networked personal computers. This analytic model can be supplemented by a simulation infrastructure for application writers to use when developing parallel programs using archetypes. These performance evaluation tools were developed with the following restricted goal in m...
© 2001 Springer-Verlag Parallel programming with a pattern language
"... Abstract. A design pattern is a description of a highquality solution to a frequently occurring problem in some domain. A pattern language is a collection of design patterns that are carefully organized to embody a design methodology. A designer is led through the pattern language, at each step choo ..."
Abstract
- Add to MetaCart
Abstract. A design pattern is a description of a highquality solution to a frequently occurring problem in some domain. A pattern language is a collection of design patterns that are carefully organized to embody a design methodology. A designer is led through the pattern language, at each step choosing an appropriate pattern, until the final design is obtained in terms of a web of patterns. This paper describes a pattern language for parallel application programs aimed at lowering the barrier to parallel programming by guiding a programmer through the entire process of developing a parallel program. We describe the pattern language, present two example patterns, and sketch a case study illustrating the design process using the pattern language. Key words: Design patterns – Parallel programming 1
Experience with Parallel . . .
- EXPERIENCE
, 1998
"... For almost a decade wehavebeenworking at developing and using template-based models for parallel computing. Template-based models separate the specification of the parallel structuring aspects from the application code that is to be parallelized. A user provides the application code and specifies ..."
Abstract
- Add to MetaCart
For almost a decade wehavebeenworking at developing and using template-based models for parallel computing. Template-based models separate the specification of the parallel structuring aspects from the application code that is to be parallelized. A user provides the application code and specifies the parallel structure of the application using high-level icons, called templates. The parallel programming system then generates the code necessary for parallelizing the application. The goal here is to provide a mechanism for quick and reliable development of coarse-grain parallel applications that employ frequently occurring parallel structures. Our initial template-based system, FrameWorks, was positively received but had a number of shortcomings. The Enterprise parallel programming environmentevolved out of this work. Now, after several years of experience with the system, its shortcomings are becoming evident. Controlled experiments have been conducted to assess the usability o...

