Results 1 -
8 of
8
Communication Characteristics of Large-Scale Scientific Applications for Contemporary Cluster Architectures
- In International Parallel and Distributed Processing Symposium
, 2002
"... This paper examines the explicit communication characteristics of several sophisticated scientific applications, which, by themselves, constitute a representative suite of publicly available benchmarks for large cluster architectures. By focusing on the Message Passing Interface (MPI) and by using ..."
Abstract
-
Cited by 74 (9 self)
- Add to MetaCart
This paper examines the explicit communication characteristics of several sophisticated scientific applications, which, by themselves, constitute a representative suite of publicly available benchmarks for large cluster architectures. By focusing on the Message Passing Interface (MPI) and by using hardware counters on the microprocessor, we observe each application's inherent behavioral characteristics: point-to-point and collective communication, and floating-point operations. Furthermore, we explore the sensitivities of these characteristics to both problem size and number of processors. Our analysis reveals several striking similarities across our diverse set of applications including the use of collective operations, especially those collectives with very small data payloads. We also highlight a trend of novel applications parting with regimented, static communication patterns in favor of dynamically evolving patterns, as evidenced by our experiments on applications that use implicit linear solvers and adaptive mesh refinement. Overall, our study contributes a better understanding of the requirements of current and emerging paradigms of scientific computing in terms of their computation and communication demands.
Statistical Scalability Analysis of Communication Operations in Distributed Applications
"... Current trends in high performance computing suggest that users will soon have widespread access to clusters of multiprocessors with hundreds, if not thousands, of processors. This unprecedented degree of parallelism will undoubtedly expose scalability limitations in existing applications, where sca ..."
Abstract
-
Cited by 34 (2 self)
- Add to MetaCart
Current trends in high performance computing suggest that users will soon have widespread access to clusters of multiprocessors with hundreds, if not thousands, of processors. This unprecedented degree of parallelism will undoubtedly expose scalability limitations in existing applications, where scalability is the ability of a parallel algorithm on a parallel architecture to effectively utilize an increasing number of processors. Users will need precise and automated techniques for detecting the cause of limited scalability. This paper addresses this dilemma. First, we argue that users face numerous challenges in understanding application scalability: managing substantial amounts of experiment data, extracting useful trends from this data, and reconciling performance information with their application's design. Second, we propose a solution to automate this data analysis problem by applying fundamental statistical techniques to scalability experiment data. Finally, we evaluate our operational prototype on several applications, and show that statistical techniques offer an effective strategy for assessing application scalability. In particular, we find that non-parametric correlation of the number of tasks to the ratio of the time for communication operations to overall communication time provides a reliable measure for identifying communication operations that scale poorly. 1
Snippets: Support for Drag-and-Drop Programming in the Redwood Environment
- Journal of Universal Computer Science
, 2004
"... Abstract. This paper presents an overview of the Redwood programming environment and details one of its key features, snippets. Through snippets, developers can both make use of a variety of predefined programming constructs and build their own reusable program components. Languageindependent, snipp ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Abstract. This paper presents an overview of the Redwood programming environment and details one of its key features, snippets. Through snippets, developers can both make use of a variety of predefined programming constructs and build their own reusable program components. Languageindependent, snippets are descriptions of program parts that can be as simple as an assignment statement or as complex as a sophisticated optimization algorithm. In Redwood, snippets also provide support for a distinguishing facility of visual environments: direct manipulation via drag-and-drop. An example of working with snippets, including snippet definition, visualization, customization, and mapping to code is also presented in the paper. 1.
BRISK: A Portable and Flexible Distributed Instrumentation System
- Software - Practice and Experience
, 1999
"... Researchers and practitioners in the area of parallel and distributed computing have been lacking a portable, flexible and robust distributed instrumentation system. We present the Baseline Reduced Instrumentation System Kernel (BRISK) that we have developed as a part of a realtime system instrument ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Researchers and practitioners in the area of parallel and distributed computing have been lacking a portable, flexible and robust distributed instrumentation system. We present the Baseline Reduced Instrumentation System Kernel (BRISK) that we have developed as a part of a realtime system instrumentation and performance visualization project. The design is based on a simple distributed instrumentation system model for flexibility and extensibility. The basic implementation poses minimalistic system requirements and achieves high performance. We show evaluations of BRISK using two distinct configurations: one emphasizes isolated simple performance metrics; and the other, BRISK's operation on distributed applications, its built-in clock synchronization and dynamic on-line sorting algorithms. 1 Introduction and Related Work Designers and users of parallel and distributed systems have applied a variety of monitoring methods and instrumentation techniques to gather information for testing...
VisOK: A Flexible Visualization System for Distributed Java Object Application
- Proceedings of 14th International Parallel and Distributed Processing Symposium (IPDPS'00
, 2000
"... Distributed Object Systems are known to be very complex. Consequently it is very difficult, if not impossible, to see the overall relationship among participating objects in the system. That complicates the issues connected with performance tuning and maintenance. An economical way to visualize the ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Distributed Object Systems are known to be very complex. Consequently it is very difficult, if not impossible, to see the overall relationship among participating objects in the system. That complicates the issues connected with performance tuning and maintenance. An economical way to visualize the system is clearly needed. In this paper, we propose a tracing facility for Java-based distributed object system, especially Java RMI(Remote Method Invocation). Our visualization system VisOK(Visual Object-Kit) uses twophase hybrid post-mortem/on-the-fly technique. The fundamental tracing part has a flexible and dynamic mechanism. The main idea behind the tracing technique is the Plug-in Sensor Model(PSM). There is a close relationship between tracing part and the visualization part. For effective visualization of a working system, the causality of events has to be preserved. VisOK supports global event ordering. And for collecting and assembling local states of objects, we propose a distribu...
Visual Analysis of Stream Data
, 1995
"... We present the DEVise toolkit designed for visual exploration of stream data. Data of this type are collected continuously from sources such as remote sensors, program traces, and the stock market. A typical application involves looking for correlations, which may not be precisely defined, by exp ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We present the DEVise toolkit designed for visual exploration of stream data. Data of this type are collected continuously from sources such as remote sensors, program traces, and the stock market. A typical application involves looking for correlations, which may not be precisely defined, by experimenting with graphical representations. This includes selectively comparing data from multiple sources, selective viewing by zooming and scrolling at various resolutions, and querying the underlying data from the graphics. DEVise is designed to provide greater support than packages such as AVS or Khoros for this type of application. First, by abandoning the network flow model of AVS and Khoros in favor of a database query model, we are able to incorporate many performance improvements for visualizing large amounts of data. To our knowledge, this is the first attempt to eliminate data size limitations in a visualization package. Second, by structuring the stand-alone graphics module of mos...
Interactive Visualization Environment of Multi-threaded Parallel Programs
"... This paper describes an interactive visualization environment for displaying the execution of parallel programs where a potentially large number of threads (of various lifetimes) execute on each node of the parallel system. The architecture of the system is based on components which are connected in ..."
Abstract
- Add to MetaCart
This paper describes an interactive visualization environment for displaying the execution of parallel programs where a potentially large number of threads (of various lifetimes) execute on each node of the parallel system. The architecture of the system is based on components which are connected in a data flow graph to produce a given visualization tool. Original components were designed for scalability and interactivity. 1. Introduction The main characteristics of the Paje interactive visualization environment are the possibilities to display and inspect the entities of parallel programs executing a potentially large number of threads. This environment is currently being developed in the Apache research project [1]. It is mainly intended for ATHAPASCAN [2] programs. The ATHAPASCAN programming model is designed for parallel hardware systems composed of shared-memory multiprocessor nodes connected by a communication network. It exploits two levels of parallelism: inter-nodes parallel...
Communication Characteristics of Large-Scale Scientific Applications for
- In International Parallel and Distributed Processing Symposium
, 2002
"... This paper examines the explicit communication characteristics of several sophisticated scientific applications, which, by themselves, constitute a representative suite of publicly available benchmarks for large cluster architectures. By focusing on the Message Passing Interface (MPI) and by using h ..."
Abstract
- Add to MetaCart
This paper examines the explicit communication characteristics of several sophisticated scientific applications, which, by themselves, constitute a representative suite of publicly available benchmarks for large cluster architectures. By focusing on the Message Passing Interface (MPI) and by using hardware counters on the microprocessor, we observe each application's inherent behavioral characteristics: point-to-point and collective communication, and floating-point operations. Furthermore, we explore the sensitivities of these characteristics to both problem size and number of processors. Our analysis reveals several striking similarities across our diverse set of applications including the use of collective operations, especially those collectives with very small data payloads. We also highlight a trend of novel applications parting with regimented, static communication patterns in favor of dynamically evolving patterns, as evidenced by our experiments on applications that use implicit linear solvers and adaptive mesh refinement. Overall, our study contributes a better understanding of the requirements of current and emerging paradigms of scientific computing in terms of their computation and communication demands.

