Dynamic Service-Oriented Grid Environments
Keywords: Grid Computing, Ad-hoc, Service Oriented Computing, Organic, Autonomic, On Demand
An ad hoc grid is a spontaneous formation of cooperating heterogeneous computing nodes into a virtual community without a preconfigured fixed infrastructure and with only minimal administrative requirements. The main goal of an ad hoc Grid is to provide computing resources on demand to every participant. Since the number of non-dedicated grid nodes is much higher than in a preconfigured Grid, non-intrusive operation of the ad hoc Grid middleware is required.
Our view of an ad hoc Grid environment goes beyond the preconfigured, dedicated grid infrastructures existing today to encompass frequent dynamic additions of nodes and services to the grid. This includes workstations and services within organizations as well as scattered personal computers, similar to the basic idea of many distributed computing projects like SETI@Home.
Organic Computing aims to provide biologically inspired methods to deal with the growing complexity of software environments. Similar to autonomic computing organic computing deals with methods for self-configuration, self-optimization, self-protection and self-healing. While autonomic computing tries to solve these challenges in a top-down manner by mapping high level goals into low-level system behaviour, organic computing follows a bottom-up approach by creating an emergent behaviour to fulfil the high level goals of a system.
Most of the organic and autonomic functionality affects several components of a Grid system, resulting in an intricate implementation which may eventually lead to reliability and code maintenance problems, contrary to the original aims of an organic system. In order to ease the implementation of these crosscutting concerns, Aspect Oriented Programming (AOP) is used to encapsulate code handling the crosscutting concerns into a separate level of aspect code, which in turn can be inserted ("woven") into the appropriate locations in the system. The weaving process can take place at compile-time (static AOP) or at runtime (dynamic AOP), each requiring a different set of tools and techniques.
Our Omega (Organic Middleware Environment for Grid Applications) research project combines state of the art Grid, peer to peer and AOP technology to enable novel research in a complex real world Grid environment. The main goals of the Omega project are reducing the complexity of configuring and maintaining a computational Grid and at the same time increasing the robustness and usability of the system.
Contact: Thomas Friese, Matthew Smith

