Results 1 - 10
of
49
Falcon: On-line Monitoring and Steering of Large-Scale Parallel Programs
, 1995
"... Falcon is a system for on-line monitoring and steering of large-scale parallel programs. The purpose of such interactive steering is to improve its performance or to affect its execution behavior. The Falcon system is composed of an application-specific on-line monitoring system, an interactive stee ..."
Abstract
-
Cited by 76 (17 self)
- Add to MetaCart
Falcon is a system for on-line monitoring and steering of large-scale parallel programs. The purpose of such interactive steering is to improve its performance or to affect its execution behavior. The Falcon system is composed of an application-specific on-line monitoring system, an interactive steering mechanism, and a graphical display system. In this paper, we present a framework of the Falcon system, its implementation, and evaluation of the system performance. A complex sample application -- a molecular dynamics simulation program (MD) -- is used to motivate the research as well as to evaluate the performance of the Falcon system. 1 Introduction The high performance of current parallel supercomputers is permitting users to interact with their applications during program execution. Such interactive executions of large-scale parallel codes typically make use of multiple networked machines working in concert on behalf of a single user, as computational engines, display engines, inpu...
Dome: Parallel programming in a heterogeneous multi-user environment
, 1995
"... Writing parallel programs for distributed multi-user computing environments is a difficult task. The Distributed object migration environment (Dome) addresses three major issues of parallel computing in an architecture independent manner: ease of programming, dynamic load balancing, and fault tolera ..."
Abstract
-
Cited by 76 (4 self)
- Add to MetaCart
Writing parallel programs for distributed multi-user computing environments is a difficult task. The Distributed object migration environment (Dome) addresses three major issues of parallel computing in an architecture independent manner: ease of programming, dynamic load balancing, and fault tolerance. Dome programmers, with modest effort, can write parallel programs that are automatically distributed over a heterogeneous network, dynamically load balanced as the program runs, and able to survive compute node and network failures. This paper provides the motivation for and an overview of Dome, including a preliminary performance evaluation of dynamic load balancing for distributed vectors. Dome programs are shorter and easier to write than the equivalent programs written with message passing primitives. The performance overhead of Dome is characterized, and it is shown that this overhead can be recouped by dynamic load balancing in imbalanced systems. Finally, we show that a parallel ...
Falcon: On-line Monitoring for Steering Parallel Programs
- In Ninth International Conference on Parallel and Distributed Computing and Systems (PDCS’97
, 1998
"... Advances in high performance computing, communications, and user interfaces enable developers to construct increasingly interactive high performance applications. The Falcon system presented in this paper supports such interactivity by providing runtime libraries, tools, and user interfaces that per ..."
Abstract
-
Cited by 51 (13 self)
- Add to MetaCart
Advances in high performance computing, communications, and user interfaces enable developers to construct increasingly interactive high performance applications. The Falcon system presented in this paper supports such interactivity by providing runtime libraries, tools, and user interfaces that permit the on-line monitoring and steering of large-scale parallel codes. The principal aspects of Falcon described in this paper are its abstractions and tools for capture and analysis of application-specific program information, performed on-line, with controlled latencies and scalable to parallel machines of substantial size. In addition, Falcon provides support for the on-line graphical display of monitoring information, and it allows programs to be steered during their execution, by human users or algorithmically. This paper presents our basic research motivation, outlines the Falcon system's functionality, and includes a detailed evaluation of its performance characteristics in light of i...
MDL: A Language and Compiler for Dynamic Program Instrumentation
"... We use a form of dynamic code generation, called dynamic instrumentation, to collect data about the execution of an application program. Dynamic instrumentation allows us to instrument running programs to collect performance and other types of information. The instrumentation code is generated incre ..."
Abstract
-
Cited by 45 (6 self)
- Add to MetaCart
We use a form of dynamic code generation, called dynamic instrumentation, to collect data about the execution of an application program. Dynamic instrumentation allows us to instrument running programs to collect performance and other types of information. The instrumentation code is generated incrementally and can be inserted and removed at any time. Our instrumentation currently runs on the SPARC, PA-RISC, Power2, Alpha, and x86 architectures. Specification of what data to collect are written in a specialized language called the Metric Description Language, that is part of the Paradyn Parallel Performance Tools. This language allows platform-independent descriptions of how to collect performance data. It also provides a concise way to specify how to constrain performance data to particular resources such as modules, procedures, nodes, files, or message channels (or combinations of these resources). We also describe the details of how we weave instrumentation into a running program.
Heterogeneous distributed computing
- In Encyclopedia of Electrical and Electronics Engineering
, 1999
"... Vol. 8, pp. 679-690. ..."
Parallelizing Existing Applications in a Distributed Heterogeneous Environment
- 4TH HETEROGENEOUS COMPUTING WORKSHOP (HCW '95
, 1995
"... Applications based upon the finite element method are well known for their demand for computational resources. An effective method for satisfying this demand is heterogeneous parallel computing. This paper presents the results obtained by applying heterogeneous computing to a large, existing finite ..."
Abstract
-
Cited by 26 (0 self)
- Add to MetaCart
Applications based upon the finite element method are well known for their demand for computational resources. An effective method for satisfying this demand is heterogeneous parallel computing. This paper presents the results obtained by applying heterogeneous computing to a large, existing finite element application code: CSTEM. A difficult problem associated with heterogeneous computing is the mapping and scheduling problem---the process of assigning the tasks of a parallel program to the individual processors. A simple assignment heuristic, Levelized Min-Time (LMT), is presented, along with simulated results from applying the LMT algorithm to heterogeneous CSTEM on a variety of different heterogeneous machine clusters.
A Graphical Development and Debugging Environment for Parallel Programs
, 1997
"... To provide high-level graphical support for PVM (Parallel Virtual Machine) based program development, a complex programming environment (GRADE) is being developed. GRADE currently provides tools to construct, execute, debug, monitor and visualise message-passing parallel programs. It offers high-lev ..."
Abstract
-
Cited by 23 (7 self)
- Add to MetaCart
To provide high-level graphical support for PVM (Parallel Virtual Machine) based program development, a complex programming environment (GRADE) is being developed. GRADE currently provides tools to construct, execute, debug, monitor and visualise message-passing parallel programs. It offers high-level graphical programming abstraction mechanism to construct parallel applications by introducing a new graphical language called GRAPNEL. GRADE also provides the programmer with the same graphical user interface during the program design and debugging stages. A distributed debugging engine (DDBG) assists the user in debugging GRAPNEL programs on distributed memory computer architectures. Tape/PVM and PROVE support the performance monitoring and visualization of parallel programs developed in the GRADE environment.
Designing Parallel Programs by the Graphical Language GRAPNEL
, 1996
"... We propose a new visual programming language, called GRAPNEL (GRAphical Process's NEt Language), for designing distributed parallel programs based on the message passing programming paradigm. GRAPNEL is a high level graphical interface for creating distributed applications, and can be useful for bot ..."
Abstract
-
Cited by 22 (7 self)
- Add to MetaCart
We propose a new visual programming language, called GRAPNEL (GRAphical Process's NEt Language), for designing distributed parallel programs based on the message passing programming paradigm. GRAPNEL is a high level graphical interface for creating distributed applications, and can be useful for both non-professional and professional programmers dealt with parallel programming. GRAPNEL provides high level abstraction mechanisms in order to support the structured design at level of processes. These mechanisms include the Process Group abstraction and the automatic generation of several regular process topology based on predefined topology templates. Dynamic process creation and destruction are possible, but can be applied only in a well structured manner. GRAPNEL is a hybrid language, where the communication related parts of the program are described using graphical symbols but textual descriptions are applied where they are more appropriate. It makes possible to incorporate large ordin...
A Callgraph-Based Search Strategy for Automated Performance Diagnosis
, 2000
"... We introduce a new technique for automated performance diagnosis, using the program's callgraph. We discuss our implementation of this diagnosis technique in the Paradyn Performance Consultant. Our implementation includes the new search strategy and new dynamic instrumentation to resolve pointe ..."
Abstract
-
Cited by 21 (7 self)
- Add to MetaCart
We introduce a new technique for automated performance diagnosis, using the program's callgraph. We discuss our implementation of this diagnosis technique in the Paradyn Performance Consultant. Our implementation includes the new search strategy and new dynamic instrumentation to resolve pointer-based dynamic call sites at run-time. We compare the effectiveness of our new technique to the previous version of the Performance Consultant for several sequential and parallel applications. Our results show that the new search method performs its search while inserting dramatically less instrumentation into the application, resulting in reduced application perturbation and consequently a higher degree of diagnosis accuracy.
Integrating Visualization Support Into Distributed Computing Systems
- 15th International Conference on Distributed Computing Systems, Vancouver, B.C
, 1995
"... Visualization and animation tools may become extremely important aids in the understanding, verification, and performance tuning of parallel computations. Presently, however, the use of visualization has had only a limited use for enhancing parallel computation. We hypothesize that one of the primar ..."
Abstract
-
Cited by 19 (4 self)
- Add to MetaCart
Visualization and animation tools may become extremely important aids in the understanding, verification, and performance tuning of parallel computations. Presently, however, the use of visualization has had only a limited use for enhancing parallel computation. We hypothesize that one of the primary reasons for the limited use of visualization tools in parallel program development is the difficulty of acquiring the information necessary to drive the visual display. Our approach to this impediment focuses on integrating visualization support directly into a distributed computing system. Central to this integration is the addition of a logical clock that prevents the timestamps of events from violating causality. The implementation requires the "piggybacking" of a negligible amount of extra header information on system messages and the impact on performance is minimal. This results in a system that produces useful visualizations with no extra effort required by the applications programm...

