Results 1 - 10
of
31
The Software Architecture of a Distributed Problem-Solving Environment
, 2000
"... vi 1 Introduction 1 2 The Visual Component Composition Environment 1 2.1 Components and Their Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Features of the VCCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Computational Steering . ..."
Abstract
-
Cited by 24 (4 self)
- Add to MetaCart
vi 1 Introduction 1 2 The Visual Component Composition Environment 1 2.1 Components and Their Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Features of the VCCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Computational Steering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 Collaborative Use of PSEs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 The Component Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 The Intelligent Resource Management System 13 3.1 The Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 Information Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4 The Execution Controller . . . . . . . . . . . . . . . . ....
Program Control Language: A Programming Language for Adpative Distributed Applications
- Journal of Parallel and Distributed Computing
, 2002
"... Applications on a Computational Grid must meet stringent performance requirements even when the performance characteristics of the underlying systems and networks vary significantly at runtime. Runtime adaptation can be used to tolerate such changes, but adaptive codes can be challenging to design a ..."
Abstract
-
Cited by 18 (1 self)
- Add to MetaCart
Applications on a Computational Grid must meet stringent performance requirements even when the performance characteristics of the underlying systems and networks vary significantly at runtime. Runtime adaptation can be used to tolerate such changes, but adaptive codes can be challenging to design and debug. This papers propose a language called Program Control Language (PCL) that provides a novel means of specifying adaptations in distributed applications. PCL is based on an abstract, global representation of the distributed program that enables one to reason about and describe application-specific adaptation strategies at a high level, using a few key mechanisms. The global representation enables distributed performance metrics and adaptations to be specified in simple, global terms and implemented transparently by the compiler and runtime system. The paper describes the conceptual adaptation framework, the PCL language, and our implementation of the PCL compiler and runtime system. The paper uses two examples to illustrate the capabilities and benefits of PCL, and to show experimentally that the performance overheads of using PCL for implementing an adaptive application are negligible.
Parallel program performance prediction using deterministic task graph analysis
- ACM Trans. Comput. Syst
, 2004
"... In this paper, we consider analytical techniques for predicting detailed performance characteristics of a single shared memory parallel program for a particular input. Analytical models for parallel programs have been successful at providing simple qualitative insights and bounds on program scalabil ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
In this paper, we consider analytical techniques for predicting detailed performance characteristics of a single shared memory parallel program for a particular input. Analytical models for parallel programs have been successful at providing simple qualitative insights and bounds on program scalability, but have been less successful in practice for providing detailed insights and metrics for program performance (leaving these to measurement or simulation). We develop a conceptually simple modeling technique called deterministic task graph analysis that provides detailed performance prediction for shared-memory programs with arbitrary task graphs, a wide variety of task scheduling policies, and significant communication and resource contention. Unlike many previous models that are stochastic models, our model assumes deterministic task execution times (while retaining the use of stochastic models for communication and resource contention). This assumption is supported by a previous study of the influence of non-deterministic delays in parallel programs. We evaluate our model in three ways. First, an experimental evaluation shows that our analysis technique is accurate and efficient for a variety of shared-memory programs, including programs with large and/or complex task graphs, sophisticated task scheduling, highly non-uniform task
The Software Architecture of a Virtual Distributed Computing Environment
- in Proceedings of the Sixth IEEE International Symposium on High Performance Distributed Computing (HPDC-6
, 1997
"... The requirements of grand challenge problems and the deployment of gigabit networks makes the network computing framework an attractive and cost effective computing environment with which to interconnect geographically distributed processing and storage resources. Our project, Virtual Distributed Co ..."
Abstract
-
Cited by 16 (2 self)
- Add to MetaCart
The requirements of grand challenge problems and the deployment of gigabit networks makes the network computing framework an attractive and cost effective computing environment with which to interconnect geographically distributed processing and storage resources. Our project, Virtual Distributed Computing Environment (VDCE), provides a problem-solving environment for high-performance distributed computing over wide area networks. VDCE delivers well-defined library functions that relieve end-users of tedious task implementations and also support reusability. In this paper we present the conceptual design of VDCE software architecture, which is defined in three modules: a) the Application Editor, a user-friendly application development environment that generates the Application Flow Graph (AFG) of an application; b) the Application Scheduler, which provides an efficient task-toresource mapping of AFG; and c) the VDCE Runtime System, which is responsible for running and managing applicat...
JOpera: a Toolkit for Efficient Visual Composition of Web Services
- International Journal of Electronic Commerce (IJEC
, 2003
"... Web services are increasingly attracting attention for their ability to pro-vide standard interfaces to heterogeneous distributed services. Through these standard interfaces, it is possible to compose more complex services out of basic ones. In this paper, we tackle the problem of visual service com ..."
Abstract
-
Cited by 13 (6 self)
- Add to MetaCart
Web services are increasingly attracting attention for their ability to pro-vide standard interfaces to heterogeneous distributed services. Through these standard interfaces, it is possible to compose more complex services out of basic ones. In this paper, we tackle the problem of visual service compo-sition and the efficient and scalable execution of the resulting composite services. Our efforts revolve around the JOpera system, which combines a visual programming environment for Web services with a flexible execution engine capable of interacting with Web services through the SOAP protocol, described with WSDL, and registered with an UDDI registry. In the paper we describe the syntax of the JOpera Visual Composition Language (JVCL), its implementation, and how to provide different QoS levels in the execution of composite services.
An Interactive Parallel Programming Environment Applied In . . .
- MAKING ITS MARK, PROCEEDINGS OF THE 6TH WORKSHOP ON THE USE OF PARALLEL PROCESSORS IN METEOROLOGY
, 1997
"... This article introduces an interactive parallel programming environmentt (IPPE) that simplifies the generation and execution of parallel programs. One of the tasks of the environment is to generate message-passing parallel programs for homogeneous and heterogeneous computing platforms. The parall ..."
Abstract
-
Cited by 10 (10 self)
- Add to MetaCart
This article introduces an interactive parallel programming environmentt (IPPE) that simplifies the generation and execution of parallel programs. One of the tasks of the environment is to generate message-passing parallel programs for homogeneous and heterogeneous computing platforms. The parallel programs are represented by using visual objects. This is accomplished with the help of a graphical programming editor that is implemented in Java and enables portability to a wide variety of computer platforms. In contrast to other graphical programming systems, reusable parts of the programs can be stored in a program library to support rapid prototyping. In addition, runtime performance data on different computing platforms is collected in a database. A selection process determines dynamically the software and the hardware platform to be used to solve the problem in minimal wall-clock time. The environment is currently being tested on a Grand Challenge problem, the NASA four-dimensional data assimilation system.
On building parallel & grid applications: component technology and distributed services
- In CLADE 2004, Challenges of Large Applications in Distributed Environments. IEEE Computer
, 2004
"... Software Component Frameworks are well known in the commercial business application world and now this technology is being explored with great interest as a way to build large-scale scientific application on parallel computers. In the case of Grid systems, the current architectural model is based on ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Software Component Frameworks are well known in the commercial business application world and now this technology is being explored with great interest as a way to build large-scale scientific application on parallel computers. In the case of Grid systems, the current architectural model is based on the emerging web services framework. In this paper we describe progress that has been made on the Common Component Architecture model (CCA) and discuss its success and limitations when applied to problems in Grid computing. Our primary conclusion is that a component model fits very well with a services-oriented Grid, but the model of composition must allow for a very dynamic (both in space and it time) control of composition. We note that this adds a new dimension to conventional service workflow and it extends the “Inversion of Control ” aspects of must component systems. 1.
From design patterns to parallel architectural skeletons
- Journal of Parallel and Distributed Computing
, 2002
"... The concept of design patterns has been extensively studied and applied in the context of object-oriented software design. Similar ideas are being explored in other areas of computing as well. Over the past several years, researchers have been experimenting with the feasibility of employing design-p ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
The concept of design patterns has been extensively studied and applied in the context of object-oriented software design. Similar ideas are being explored in other areas of computing as well. Over the past several years, researchers have been experimenting with the feasibility of employing design-patterns related concepts in the parallel computing domain. In the past, several pattern-based systems have been developed with the intention to facilitate faster parallel application development through the use of pre-implemented and reusable components that are based on frequently used parallel computing design patterns. However, most of these systems face several serious limitations such as limited flexibility, zero extensibility, and ad hoc nature of their components. Lack of flexibility in a parallel programming system limits a programmer to using only the high-level components provided by the system. Lack of extensibility here refers to the fact that most of the existing patternbased parallel programming systems come with a set of pre-built patterns integrated into the system. However, the system provides no obvious way of increasing the repertoire of patterns when need arises. Also, most of these systems do not offer
Architectural Skeletons: The Re-Usable Building-Blocks For Parallel Applications
- In Proceedings of the 1999 International Conference on Parallel and Distributed Processing Techniques and Applciations (PDPTA'99
, 1999
"... Design pattern concepts are being used in the various disciplines of computing. In the parallel computing domain, design patterns specify recurring parallel computing problems and their solution strategies. The paper defines a generic (i.e. application and pattern independent) model for realizing an ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
Design pattern concepts are being used in the various disciplines of computing. In the parallel computing domain, design patterns specify recurring parallel computing problems and their solution strategies. The paper defines a generic (i.e. application and pattern independent) model for realizing and using parallel design patterns. The term architectural skeleton is coined to represent the application independent, generic set of attributes associated with a pattern. The model is aimed at providing many of the functionalities of MPI, plus the benefits of the patterns. The intent is to provide a considerable amount of flexibility to the user in application development. The generic model also enhances usability. As it turns out, the model is a natural candidate for object-oriented style of design and implementation. It is currently implemented as a C++ template-library without requiring any language extension. The generic model, together with the object-oriented and library-based approach, facilitates extensibility (i.e. new patterns can be added to the system library without requiring any major modifications to the existing system).
The Design and Evaluation of a Virtual Distributed Computing Environment
, 1998
"... this paper we present the Virtual Distributed Computing Environment (VDCE), a metacomputing environment currently being developed at Syracuse University. VDCE provides an efficient web-based approach for developing, evaluating and visualizing large-scale distributed applications that are based on pr ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
this paper we present the Virtual Distributed Computing Environment (VDCE), a metacomputing environment currently being developed at Syracuse University. VDCE provides an efficient web-based approach for developing, evaluating and visualizing large-scale distributed applications that are based on predefined task libraries on diverse platforms. The VDCE task libraries relieve end-users of tedious task implementations and also support reusability. The VDCE software architecture is described in terms of three modules: a) the Application Editor, a user-friendly application development environment that generates the Application Flow Graph (AFG) of an application; b) the Application Scheduler, which provides an efficient task-to-resource mapping of AFG; and c) the VDCE Runtime System, which is responsible for running and managing application execution and for monitoring the VDCE resources. We present experimental results of an application execution on the VDCE prototype for evaluating the performance of different machine and network configurations. We also show how VDCE can be used as a problem-solving environment on which large-scale, network-centric applications can be developed by a novice programmer rather than by an expert in low-level details of parallel programming languages.

