Design of Adaptive Components (original) (raw)

Autonomic QoS in ASSIST Grid-aware components

Proc. of Intl. Euromicro PDP 2006: Parallel Distributed and network-based Processing, Montbéliard, France, 2006, pp. 221-230. doi:10.1109/PDP.2006.25 , 2006

Current Grid-aware applications are developed on existing software infrastructures, such as Globus, by developers who are experts on Grid software implementation. Although many useful applications have been produced this way, this approach may hardly support the additional complexity to Quality of Service (QoS) control in real application. We describe the ASSIST programming environment, the prototype of parallel programming environment currently under development at our group, as a suitable basis to capture all the desired features for QoS control for the Grid. Grid applications, built as compositions of ASSIST components, are supported by an innovative Grid Abstract Machine, which includes essential abstractions of standard middleware services and a hierarchical Application Manager, which may be considered as an early prototype of Autonomic Manager.

Adaptable Parallel Components for Grid Programming

Integrated Research in Grid Computing, S. Gorlatch and M. Danelutto, Ed., Springer, 2007, pp. 43-57. doi:10.1007/978-0-387-47658-2_4 , 2007

We suggest that parallel software components used for grid computing should be adaptable to application-specific requirements, instead of developing new components from scratch for each particular application. As an example, we take a parallel farm component which is “embarrassingly parallel”, i. e. , free of dependencies, and adapt it to the wavefront processing pattern with dependencies that impact its behavior. We describe our approach in the context of Higher-Order Components (HOCs), with the Java-based system Lithium as our implementation framework. The adaptation process relies on HOCs’ mobile code parameters that are shipped over the network of the grid. We describe our implementation of the proposed component adaptation method and report first experimental results for a particular grid application — the alignment of DNA sequence pairs, a popular, time-critical problem in computational molecular biology.

Components for high performance Grid programming in Grid.it

Workshop on Component Models and Systems for Grid Applications, Saint-Malo, France, 2005, pp. 19-38., 2005

This paper presents the main ideas of the high-performance component-based Grid programming environment of the Grid.it project. High-performance components are characterized by a programming model that integrates the concepts of structured parallelism, component interaction, compositionality, and adaptivity. We show that ASSIST, the prototype of parallel programming environment currently under development at our group, is a suitable basis to capture all the desired features of the component model in a flexible and efficient manner. For the sake of interoperability, ASSIST modules or programs are automatically encapsulated in standard frameworks; currently, we are experimenting Web Services and the CORBA Component Model. Grid applications, built as compositions of ASSIST components and possibly other existing (legacy) components, are supported by an innovative Grid Abstract Machine, that includes essential abstractions of standard middleware services and a hierarchical Application Manager (AM). AM supports static allocation and dynamic reallocation of adaptive applications according to a performance contract, a reconfiguration strategy, and a performance model.

Using the Grid to support software component systems

SIAM Conference on …, 1999

The Grid provides a sophisticated service layer allowing users to access and manage distributed hardware resources. Grid tools such as Globus handle multiple networks, machines, binary representations of data, and scheduling policies. However, ...