Grid Resource Management using Software Agents
by Isaac Chao, Ramon Sangüesa and Oscar Oardaiz
Grids and agent communities offer two approaches to open distributed systems. Grids focus on robust infrastructure and services, and agents on the operation of autonomous intelligent problem solvers. The interests of grids and agents converge when efficient management of the services provided by grids comes to the fore. Cooperation, coordination and negotiation are issues that Grid users and Grid resource providers need to address in order to successfully interoperate. Here we present work developed by the GridCat group in order to provide an agent-based Grid Resource Management (GRM) system compliant with adopted standards both for both Grid and Agent computing.
In spite of the success of Grid computing in providing solutions for a number of large-scale science and engineering problems, the problem of GRM remains an open challenge. GRM problems include the management of user requests, their matching with suitable resources through service discovery, and the scheduling of tasks on the matched resources. A high level of complexity arises from the various issues GRM must address: resource heterogeneity, site autonomy and security mechanisms, the need to negotiate between resource users and resource providers, the handling of the addition of new policies, scalability, fault tolerance and QoS, just to cite the most relevant.
Software agents are emerging as a solution for providing flexible, autonomous and intelligent software components. Multiagent Systems (MAS) are collections of software agents that interact through cooperation, coordination or negotiation in order to reach individual and common goals. There are five main dimensions that software computing is presently trying to address and that are shared by the Agent perspective:
- intelligence (and learning)
- delegation (autonomic computing)
- human orientation.
Agents and MAS meet these requirements, and many computer scientists consider Agent-oriented programming to be the next paradigm in software computing. Grid computing pioneers, as the developers of the de facto Grid middleware Globus Toolkit, agree with agent experts on the advantages that the convergence of the two approaches may bring (see their recent paper: I. Foster, N. R. Jennings and C. Kesselman, (2004). Brain meets brawn: Why Grid and agents need each other. Proc. 3rd Int. Conf. on Autonomous Agents and Multi-Agent Systems, New York, USA)
The GridCat group at the Polytechnic University of Catalonia (UPC, http://www.gridcat.org) has been working for the last two years on a Grid computing domain. This will provide Grid services to the research community formed around the i2CAT project and Foundation (http://www.i2cat.net), addressing several aspects of Grid computing. For example, Globus Grid middleware has been tested and extended, and a Grid testbed has been created on UPC resources. We are also involved in various research activities, including deployment of applications on grids, the construction of a generic Grid Framework and Portal, as well as the current work we present here to provide an agent-based architecture for GRM. Aside from these, GridCat is involved in a joint project with Sun Microsystems Spain, to develop a nation-wide Grid Infrastructure for collaborative science projects. The business and industrial sectors are also actively cooperating in the design, development and deployment of grids for the media sector in the Barcelona area.
We are currently looking at the intermingling of Grid and Agent technologies. We propose an environment based on an agent marketplace, in which agents representing Grid users can detect and meet agents representing Grid services, negotiate with them for the conditions of the service, and execute the tasks on the Grid node corresponding to the service (see Figure 1). Agents allow flexible negotiation, exchanging messages on behalf of the entities they represent. In our system, agents can use an extra information source for negotiations, consisting of a table containing the possible grid configurations ranked by estimated utility. For each possible configuration, this utility table stores the expected time of task completion, given values for parameters used to model the state of the resources (eg available resources, system load, network traffic) and for execution parameters of the task (eg granularity and time between each submission of a single job). The Broker Agent (BA) representing the Grid user can check this utility table to decide which of the bids proposed by Seller Agents (SAs) is the best, and also decide how to prepare the task for the effective execution in order to minimize the time to completion.
|Figure 1: The Overall Architecture.
The negotiation between agents for usage of resources is based on the FIPA-Contract-Net protocol, a common protocol used to dynamically create relationships in response to current processing requirements embodied in a contract. The contract is an agreement between a manager (the Broker) and a contractor (the Seller Agent acting on behalf of a Grid resource), resulting from the contractor successfully bidding for the contract.
The agents are implemented using JADE Framework supporting FIPA standard for agent architectures, and they behave in a coordinated manner by means of the sequential execution of their behaviours (see Figure 2). We use Globus Toolkit 3 as Grid middleware for the interaction between agents and the Grid services and for the effective scheduling of jobs into the available resources.
|Figure 2: The Agents operation Sequence Diagram.
Future work will cover the inclusion of economic models in the negotiations, as well as an additional layer of evolutionary learning embodied in the agents in order to efficiently build the utility table, thereby allowing the architecture to be ported to real-world operative grids.
Isaac Chao, Ramon Sanguesa, Oscar Oardaiz, Polytechnic University of Catalonia, Barcelona, Spain
Tel: + 34 93 401 71 11
E-mail: ichaolsi.upc.es, sanguesalsi.upc.es, oardaizac.upc.es