HHS

Hereditary Hybrid Societies

Home_ICS Home Centers of Excellence Partner Info

B1.4. State of the art

Managing access to computing and data Grid resources is a complex and time-consuming task. As Grid computing matures, deciding which systems to use, where the data resides for a particular application domain, how to migrate the data to and from the point of computation, and data rates required to maintain a particular application behaviour become significant. To support these, it is important to develop brokering approaches based on intelligent techniques, to support service discovery, performance management, and data selection. Intelligent agents have provided already a useful means to achieve these objectives.
Mobile agents provide an important paradigm for supporting dynamic services in computational Grids. They can provide support for resource discovery and performance management in the context of service-oriented Grids. There are three particular roles that mobile agents could support in Grid environments /3/:

- Resource Discovery, where mobile agents interact with distributed registry services to locate resources of interest.

- Performance Monitoring, whereby mobile agents interact with monitors on a given machine, or on a cluster, to gather performance attributes of a system.

- Code Migration, whereby mobile agents can wrap computational algorithms and migrate them to remote locations. This provides an alternative perspective on workflow, as the mobile agents interacts with various services to generate the final solution. The control flow is therefore equivalent to the migration of mobile agents from one site to another.

The agent paradigm can be useful to allow automated discovery of resources that form part of a Grid environment. This approach provides a significant alternative to the use of registry services, as currently provided with Grid Resource Information Service (GRIS) and Grid Index Information Service (GIIS) servers /4/, which together constitute the MetaComputing (and Monitoring) Directory Service (MDS) in Globus, or registries in Web Services. Another approach commonly found in Grid environments is the ClassAd mechanism in Condor /5/, which provides a mechanism to undertake Matchmaking between resource requests generated by a user, and resource advertisements generated by a provider. In this context, Liu et al. /6/ propose an extension, as a set-extended ClassAd language, to enable resource aggregates to be specified.
A number applications of mobile agents in Agent Based High Performance Distributed Computing are described in literature /9/ /10/ /11/. These applications have been implemented in wide-area distributed environments using master-slave approach /10/. In these systems, large computations are initiated under control of a coordinating agent that distributes the computation over the available re-sources by sending mobile agents to them. All these projects are designed explicitly to run parallel applications and provide a specific programming model. They often lack a defined infrastructure that provides interoperability and allows all Internet users to share their resources. Multiple languages and standard protocols are other features often lacking in these works.
A number of initiatives to apply agents in computational Grids have been initiated in recent years /12/. The similarities of Grid systems with Multi-Agent Systems (MAS) are much higher, since entities in a MAS and the Grid have autonomous behavior (i.e. distributed control). Autonomy is one of the key abstraction features of agents. Other features of agents relevant for Grid entities include social abilities, as well as reactive and pro-active intelligence /15/. /14/ presents an overview of different perspectives to Grid environments and describe the Control of Agent- Based Systems (CoABS) agent Grid /13/. A good example of an
agent Grid is presented in /16/. There the need to combine task-specific Problem Solving Environments (PSEs), facilitating interoperability between various tools and specialized algorithms each PSE supports, is identified.
Scientific research and development has always involved large numbers of people, with different types and levels of expertise, working in a variety of roles, both separately and together, making use of and extending the body of knowledge. In recent years, however, there have been a number of important changes in the nature and the process of research. In particular, there is an increased emphasis on collaboration between large teams, an increased use of advanced information processing techniques, and an increased need to share results and observations between participants who are widely dispersed. When taken together, these trends mean that researchers are increasingly relying on computer and communication technologies as an intrinsic part of their everyday research activity. At present, the key communication technologies are predominantly email and the Web.

Together these have shown a glimpse of what is possible; however to more fully support the user, the next generation of technology will need to be much richer, more flexible and much easier to use.

The computing infrastructure for eInclusion that answers to all these requirements is commonly referred to as the Grid. This terminology is chosen in analogy to the ‘electrical Grid’: the user can plug into the eInclusion computing infrastructure like plugging into an
electrical power Grid.

The term ‘Grid’ is sometimes used synonymously with a networked, high performance computing infrastructure. While this aspect is certainly an important and exciting enabling technology for future eInclusion, it is only a part of a much larger picture that also includes information handling and support for knowledge within the e-scientific process.

One of the key challenges in today’s Grids in fact is just the need to deal with knowledge and data sources that are distributed, heterogeneous, and dynamic, and where effective elicitation of implicit knowledge is a necessary component of the overall system. It is so necessary to develop an effective open, distributed and knowledge-based infrastructure improving the flexibility and friendliness of the Grid environment and facilitating resource sharing.

The Semantic Grid /58/ aims to overcome this problem by adding meaning to the Grid. A semantic Grid represent to the Grid the analogous of what the Semantic Web represents to the Web, i.e. an extension of the improved infrastructure in which each resource is given a well defined meaning; this is accomplished by the definition of the so called “ontology”. An ontology provides a structured, conceptual representation of resources and of their relationships which is both machine understandable and user-friendly so that electronic agents can search information on the bases of human-readable queries.

In this way, the Semantic Grid not only provides a general semantic-based computational network infrastructure, but a rich, seamless collection of intelligent, knowledge-based services for enabling the management and sharing of complex resources and reasoning mechanisms.

The use of ontologies for conceptually describing distributed resources is gaining momentum, with a consequent widening of the range of related applications. This is happening in all Web-like virtual communities, such as those supported by Grid computing facilities /59/. Ontologies may be grouped according to their role into the following three areas: to assist in communication between people, to achieve interoperability among computer systems or to improve the process and/or quality of engineering software systems /60/.

The real pick-up of Semantic Web technologies will be in the development of shared ontologies to support interoperability in virtual communities.

A virtual community is a collection of autonomous organizations which decide to join their resources to increase each own capabilities. The stimulus for aggregating is generally given by the existence of common interests, such as scientific research in a shared area, or the need to join diverse competencies for accomplishing goals otherwise unaffordable. The definition of an ontology related to the common domain in the former case, or the aggregation of multiple ontologies each related to a specific domain in the latter case, then, facilitate the access to shared resources. This is much more appealing when the searched resources are software codes exploitable through the network.

In this case, ontologies allow to build complex applications by aggregating distributed components developed by autonomous groups.

Multidisciplinary problems are then faced by assembling autonomously developed codes. Virtual communities develop “virtual applications” by specifying in some language the properties of the problem to be solved:

software agents do the work by searching the components able to solve the required subtasks.

 

Home_ICS Home Centers of Excellence Partner Info