Results 1 - 10
of
23
XCAT3: A Framework for CCA Components as OGSA Services
, 2004
"... The benefits of component technologies are well known: they enable encapsulation, modular construction of applications and software reuse. The DOE sponsored Common Component Architecture (CCA) [3] project adopts a component-based approach for building large scale scientific applications. On the othe ..."
Abstract
-
Cited by 33 (5 self)
- Add to MetaCart
The benefits of component technologies are well known: they enable encapsulation, modular construction of applications and software reuse. The DOE sponsored Common Component Architecture (CCA) [3] project adopts a component-based approach for building large scale scientific applications. On the other hand, the Web servicesbased Open Grid Service Architecture (OGSA) and Infrastructure (OGSI) [14] come close to defining a component architecture for the Grid. Using an approach where a CCA component is modeled as a set of Grid services, the XCAT3 framework allows for CCA components to be compatible with the OGSI specification. This enables CCA components to be accessible via standard Grid clients, especially the ones that are portal-based. For CCA compatibility, XCAT3 uses interfaces generated by the Babel [5] toolkit, and for OGSI compatibility, it uses the Extreme GSX [12] toolkit. In this paper, we describe our experience in implementing the XCAT3 system, and how it can be used to compose complex distributed applications on the Grid in a modular fashion.
Differential Serialization for Optimized SOAP Performance
- Proceedings of the 13th IEEE International Symposium on High Performance Distributed Computing (HPDC-13
, 2004
"... The SOAP protocol has emerged as a Web Service communication standard, providing simplicity, robustness, and extensibility. SOAP’s relatively poor performance threatens to limit its usefulness, especially for high-performance scientific applications. The serialization of outgoing messages, which inc ..."
Abstract
-
Cited by 26 (7 self)
- Add to MetaCart
(Show Context)
The SOAP protocol has emerged as a Web Service communication standard, providing simplicity, robustness, and extensibility. SOAP’s relatively poor performance threatens to limit its usefulness, especially for high-performance scientific applications. The serialization of outgoing messages, which includes conversion of in-memory data types to XML-based string format and the packing of this data into message buffers, is a primary SOAP performance bottleneck. We describe the design and implementation of differential serialization, a SOAP optimization technique that can help bypass the serialization step for messages similar to those previously sent by a SOAP client or previously returned by a SOAP-based Web Service. The approach requires no changes to the SOAP protocol. Our implementation and performance study demonstrate the technique’s potential, showing a substantial performance improvement over widely used SOAP toolkits that do not employ the optimization. We identify several factors that determine the usefulness and applicability of differential serialization, present a set of techniques for increasing the situations in which it can be used, and explore the design space of the approach. 1
Deploying CORBA components on a computational grid: General principles and early experiments using the Globus Toolkit
- In Proc. of the 2nd International Working Conference on Component Deployment (CD 2004), number 3083 in LNCS
, 2004
"... Abstract. The deployment of high bandwidth wide-area networks has led computational grids to offer a very powerful computing resource. In particular, this inherently distributed resource is well-suited for multiphysics applications. To face the complexity of such applications, the software component ..."
Abstract
-
Cited by 26 (6 self)
- Add to MetaCart
(Show Context)
Abstract. The deployment of high bandwidth wide-area networks has led computational grids to offer a very powerful computing resource. In particular, this inherently distributed resource is well-suited for multiphysics applications. To face the complexity of such applications, the software component technology appears to be a very adequate programming model. However, to take advantage of the computational power of grids, component-based applications should be automatically deployed in computational grids. Based on the Corba component specifications for the deployment of components, which seem to currently be the most complete, this paper proposes a detailed process for component deployment in computational grids. It also reports on early experiments on deploying Corba components in a computational grid using the Globus Toolkit 2.4. 1
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 14 (1 self)
- Add to MetaCart
(Show Context)
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.
Design of Distributed Component Frameworks for Computational Grids
- in Proceedings of the International Conference on Communications in Computing (CIC
, 2004
"... The Common Component Architecture (CCA) defines a specification for the implementation of frameworks to support component-based high performance applications. The same framework specification is intended to describe different implementations for different environments, ranging from sequential proces ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
(Show Context)
The Common Component Architecture (CCA) defines a specification for the implementation of frameworks to support component-based high performance applications. The same framework specification is intended to describe different implementations for different environments, ranging from sequential processes to parallel processors to wide area distributed systems or Grids. The mapping of the CCA specification to an underlying runtime environment presents important design challenges. We discuss these design issues for distributed Grid frameworks. We identify key design constraints and use them to define the design space. We then describe two different concrete implementations of the CCA specification, CCALegion and XCAT. 1
Xcat-c++: Design and performance of a distributed cca framework. The
- 12th Annual IEEE International Conference on High Performance Computing (HiPC) 2005
"... Abstract. In this paper we describe the design and implementation of a C++ based Common Component Architecture (CCA) framework, XCAT-C++. It can efficiently marshal and unmarshal large data sets, and provides the necessary modules and hooks in the framework to meet the requirements of distributed sc ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
(Show Context)
Abstract. In this paper we describe the design and implementation of a C++ based Common Component Architecture (CCA) framework, XCAT-C++. It can efficiently marshal and unmarshal large data sets, and provides the necessary modules and hooks in the framework to meet the requirements of distributed scientific applications. XCAT-C++ uses a high-performance multi-protocol library so that the appropriate communication protocol is employed for each pair of interacting components. Scientific applications can dynamically switch to a suitable communication protocol to maximize effective throughput. XCAT-C++ component layering imposes minimal overhead and application components can achieve highly efficient throughput for large data sets commonly used in scientific computing. It has a suite of tools to aid application developers including a flexible code generation toolkit and a python scripting interface. XCAT-C++ provides the means for application developers to leverage the efficacy of the CCA component model to manage the complexity of their distributed scientific simulations. 1 Key Words: CCA, XCAT-C++, component, performance, multi-protocol 1
A Proteus-Mediated Communications Substrate for LegionCCA
- and XCAT-C++. Workshop on Component Models and Frameworks in High Performance Computing (CompFrame
, 2005
"... Component frameworks, including those supporting the Common Component Architecture (CCA), comprise the software infrastructure necessary for disjoint components to interact and coordinate to accomplish an application’s task. The CCA specification does not prescribe a wire format for inter-component ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
(Show Context)
Component frameworks, including those supporting the Common Component Architecture (CCA), comprise the software infrastructure necessary for disjoint components to interact and coordinate to accomplish an application’s task. The CCA specification does not prescribe a wire format for inter-component calls in distributed frameworks, thereby promoting considerable flexibility and customization for the framework developer. This approach thus requires an additional specific strategy outside of the CCA to support interoperability between distributed frameworks. Mandating one common wire format, however, risks choosing the wrong format. This paper describes one solution to this problem, namely the use of a common, multiprotocol messaging layer within two disjoint framework implementations. The Proteus multi-protocol communication layer will allow the Legion-CCA and XCAT-C++ CCA framework implementations to support component-based applications to span the two distributed frameworks. This paper describes working implementations of Proteus within both Legion and XCAT-C++, and outlines plans for full integration and communication interoperability. 1
Predictive Performance Modeling of Parallel Component Composition
- in: Proc. 19th IEEE Int. Parallel and Distr. Processing Symposium (IPDPS-05
, 2005
"... Large-scale scientific computing applications frequently make use of closely-coupled distributed parallel components. The performance of such scientific applications is therefore dependent on the component parts and their interaction at run-time. This paper describes a methodology for predictive per ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Large-scale scientific computing applications frequently make use of closely-coupled distributed parallel components. The performance of such scientific applications is therefore dependent on the component parts and their interaction at run-time. This paper describes a methodology for predictive performance modelling of parallel applications composed of multiple interacting components. In this paper, the fundamental steps and required operations involved in the modelling process are identified- including inter-component dataflow analysis, MxN communication performance evaluation and composite performance model evaluation. A case study is presented to illustrate the modelling process and the methodology is verified through experimental analysis. 1.
A hybrid decomposition scheme for building scientific workflows
- IN HPC’07 (PROCEEDINGS OF HIGH PERFORMANCE COMPUTING SYMPOSIUM, SCS SPRING SIMULATION MULTICONFERENCE
, 2007
"... Two problem decomposition schemes, component assembly and workflow orchestration, have been widely adopted to architect large scale scientific applications. These two methodologies, however, approach problem decomposition from different distinctly perspectives with the result that most problem solvi ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
(Show Context)
Two problem decomposition schemes, component assembly and workflow orchestration, have been widely adopted to architect large scale scientific applications. These two methodologies, however, approach problem decomposition from different distinctly perspectives with the result that most problem solving environments provide only one approach to the exclusion of the other. For example the Ccaffeine, a parallel CCA framework, provides the component assembly environment only; while Kepler, a widely-used scientific workflow toolkit, is designed mainly as the workflow orchestration environment. Each methodology has situations, within the same problem domain, where it may be more appropriate than the other, however. Thus, to bring benefits from both methodologies, in this paper we present a hybrid problem decomposition scheme. By augmenting Ccaffeine with the web services interface, we enable Ccaffeine as a special workflow actor in the Kepler environment, so that a Kepler user can gain the benefits of both approaches by applying the two methodologies for the subproblems depending on the various performance and resource-sharing requirements. The hybrid scheme will first use the workflow scheme to decompose the problem based on the distribution of the resource; thereafter adopts the component assembly scheme to further decompose those computationally intensive cores for the high performance solutions.
Design and Implementation Choices for Implementing Distributed CCA Frameworks
"... Abstract — The Common Component Architecture (CCA) specification is designed to provide a plug-and-play environment for scientists to manage the complexity of large-scale scientific simulations. The same specification is used for the implementation of sequential, parallel and distributed frameworks. ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
(Show Context)
Abstract — The Common Component Architecture (CCA) specification is designed to provide a plug-and-play environment for scientists to manage the complexity of large-scale scientific simulations. The same specification is used for the implementation of sequential, parallel and distributed frameworks. The CCA specification places minimal requirements on the framework design, thus allowing various research groups to manage the complexity of the underlying run-time systems in ways that match the performance requirements of their target applications. In this paper we discuss the various design choices, constraints and complexities of implementing the CCA specification for highperformance distributed applications. In particular, we focus on the following CCA features: component instantiation and connections, port type representations, Builder Service design, choice of middleware, remote component communication, registration and discovery, client interface and QoS. We present a discussion on the design space of distributed CCA frameworks with specific examples from three concrete implementations: VGE-CCA, XCAT-C++ and LegionCCA. 1 I.