15
The use of economic agents under price driven mechanism in grid resource management q Li Chunlin * , Li Layuan Department of Computer Science, Wuhan University of Technology, Yu Jia Tou Campus, Wuhan 430063, PeopleÕs Republic of China Received 17 April 2002; received in revised form 25 August 2003; accepted 10 December 2003 Available online 5 March 2004 Abstract This paper presents multi-economic agent for grid resource management. A system model is described that allows agents representing various grid resources and grid users to interact without assuming priori cooperation. The system model consists of three layers. The lower layer is the underlying grid resource. The middle layer is the agent-based grid resource management system. It consists of three types of agent and market institution that allocates resources. The grid task agents buy resources to complete tasks. Grid resource agents charge the task agents for the amount of resource capacity allocated. Grid resource agents are registered with a Grid Manager. The third layer is the user layer at which grid request agents provide interfaces to the grid userÕ request. The three processes involved in grid resource man- agement are given. A price-directed algorithm for solving the grid task agent resource allocation problem is presented. A basic performance evaluation is given. Finally, some conclusions are given. Ó 2004 Elsevier B.V. All rights reserved. Keywords: Economic agent; Grid; Resource management; Resource allocation; Market 1. Introduction Grid computing raises challenging issues in many areas of computer science, and especially in the area of distributed computing. A computa- tional grid is a hardware and software infrastruc- ture that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capability. It provides the proto- cols, services, and software development kits nee- ded to enable flexible, controlled resource sharing on a large scale [1]. However, a practical grid environment does not yet exist. Currently many grid-oriented software systems are being developed separately with different motivations, methodolo- gies and tools. The ultimate goal of the CA*net 4 program [2] is to provide end users with the ability, on a peer to peer basis to provision, manage and control the routing of their own light paths across the network without the need to signal or request service from any central network manage- ment authority or server. WebService agents and q The work is Supported by National Natural Science Foun- dation of China and NSF of Hubei Province. * Corresponding author. E-mail addresses: [email protected], jwtu@pub- lic.wh.hb.cn (L. Chunlin). 1383-7621/$ - see front matter Ó 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.sysarc.2003.12.002 Journal of Systems Architecture 50 (2004) 521–535 www.elsevier.com/locate/sysarc

The use of economic agents under price driven mechanism in grid resource management

Embed Size (px)

Citation preview

Page 1: The use of economic agents under price driven mechanism in grid resource management

Journal of Systems Architecture 50 (2004) 521–535

www.elsevier.com/locate/sysarc

The use of economic agents under price driven mechanismin grid resource management q

Li Chunlin *, Li Layuan

Department of Computer Science, Wuhan University of Technology, Yu Jia Tou Campus, Wuhan 430063, People�s Republic of China

Received 17 April 2002; received in revised form 25 August 2003; accepted 10 December 2003

Available online 5 March 2004

Abstract

This paper presents multi-economic agent for grid resource management. A system model is described that allows

agents representing various grid resources and grid users to interact without assuming priori cooperation. The system

model consists of three layers. The lower layer is the underlying grid resource. The middle layer is the agent-based grid

resource management system. It consists of three types of agent and market institution that allocates resources. The grid

task agents buy resources to complete tasks. Grid resource agents charge the task agents for the amount of resource

capacity allocated. Grid resource agents are registered with a Grid Manager. The third layer is the user layer at which

grid request agents provide interfaces to the grid user� request. The three processes involved in grid resource man-

agement are given. A price-directed algorithm for solving the grid task agent resource allocation problem is presented.

A basic performance evaluation is given. Finally, some conclusions are given.

� 2004 Elsevier B.V. All rights reserved.

Keywords: Economic agent; Grid; Resource management; Resource allocation; Market

1. Introduction

Grid computing raises challenging issues in

many areas of computer science, and especially in

the area of distributed computing. A computa-

tional grid is a hardware and software infrastruc-ture that provides dependable, consistent,

pervasive, and inexpensive access to high-end

qThe work is Supported by National Natural Science Foun-

dation of China and NSF of Hubei Province.* Corresponding author.

E-mail addresses: [email protected], jwtu@pub-

lic.wh.hb.cn (L. Chunlin).

1383-7621/$ - see front matter � 2004 Elsevier B.V. All rights reserv

doi:10.1016/j.sysarc.2003.12.002

computational capability. It provides the proto-

cols, services, and software development kits nee-

ded to enable flexible, controlled resource sharing

on a large scale [1]. However, a practical grid

environment does not yet exist. Currently many

grid-oriented software systems are being developedseparately with different motivations, methodolo-

gies and tools. The ultimate goal of the CA*net 4

program [2] is to provide end users with the ability,

on a peer to peer basis to provision, manage and

control the routing of their own light paths across

the network without the need to signal or request

service from any central network manage-

ment authority or server. WebService agents and

ed.

Page 2: The use of economic agents under price driven mechanism in grid resource management

522 L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535

protocols such as WSDL, UDDI, JXTA, J2EE,

JINI, CORBA, .NET etc. are used for resource

discovery, message passing and inter agent com-

munication between end users and associated

network elements. Condor [29] system is one of the

earliest systems to harvest the unused resources; itcan manage a large collection of computers such as

PCs, workstations, and clusters that are owned by

different individuals. JXTA [31] aims at stan-

dardizing a set of protocols for building P2P

applications. The major contribution of SETI@-

home [32] is to demonstrate how to apply distrib-

uted computing challenges in a P2P network.

Avaki is a grid middleware that enables sharing ofdata, applications, and computing resources tar-

geting the enterprise-wide computing area. Avaki

system [33] as an example of the currently emerging

grid-oriented approaches, Avaki grid is can contain

desktops, workstations, servers and clusters. Each

machine in the grid is autonomous and conse-

quently the system management is distributed.

New software development technologies areneeded for the implementation of the grid software

infrastructure. Several new grid projects are uti-

lizing existing distributed computing technologies,

such as CORBA and Jini [26]. Agent technologies

have been used for the development of distributed

software systems for several years. Software agents

have been used in several grid projects, such as

AppLeS [3], DPSS, and NetSolve [4]. In theseprojects, agents are high-level abstractions of

software entities, which usually act as resource or

data brokers or representations of grid users in the

grid software infrastructure. �Agent Grid� project[20] is described that integrates services and re-

sources for establishing multi-disciplinary PSEs

(Problem Solving Environments). Specialized

agents contain behavioral rules, and can modifythese rules based on their interaction with other

agents, and with the environment in which they

operate. The A4 methodology can also be applied

for integrating multiple services and resources.

Rather than using a collection of many specialized

agents, a hierarchy of homogenous agents is used

the A4 methodology [28].

In this paper, economic agents are used as ameans of tackling grid resource allocation tasks. In

this system, the producers and consumers of the

resources of grid are modeled as the self-interested

decision-makers described in microeconomic

theory. We apply economic agents to build grid

resource management, where grid resource con-

sumers and providers can buy and sell computing

resource based on an underlying economic archi-tecture. The agents of the system interact by

offering to buy or sell commodities at given prices.

All market participants in the grid environment

including computing resources and services can be

represented as agents. A grid market participant

can be a service agent that provides the actual grid

service to the other market participants. Market

participant is registered with a Grid Manager. Thedesign goals of our model focus on combining

market approach and agent technology to manage

computational resource consumers and providers

on the grid in distributed style. In our method,

such an approach has the advantage that owner-

ship and accountability of resource utilization is

built into the design philosophy. Thus, market-

based solutions can be applied to the managementof multi-enterprise systems without forcing the

sub-system owners to cooperate on matters

affecting their own commercial interest.

The rest of the paper is organized as follows.

Section 2 discusses backgrounds and motivation.

Section 3 gives grid resource management system

Model. Section 4 describes the use economic for

grid resource management. Section 5 gives a basicexperiment. Section 6 describes some related work.

Section 7 concludes the paper.

2. Backgrounds and motivation

Resource advertisement and discovery is an

important issue in the implementation of grid re-source management. An overview of several dis-

tributed system infrastructures with service

discovery capabilities is presented below. Sun

Microsystems� Jini [8] is perhaps the prototypical

discovery system, incorporating the roles of client,

server, and service. Services register themselves

with a server that sends multi-cast advertisements

of its presence to the local network. Clients in turnquery the server to find services. Clients interact

with services through Java events or by down-

Page 3: The use of economic agents under price driven mechanism in grid resource management

L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535 523

loading Java code that implements the service or

allows the client to control the service. Network

directory data storage is based on IETF standards,

such as LDAP [12] and SNMP, or utilizes spe-

cialized distributed database implementation. The

information service in Globus resource manage-ment system uses a Metacomputing Directory

Service (MDS) [13], which adopts the data repre-

sentations and API defined by the LDAP service.

Berkeley�s Secure Service Discovery System (SDS)

[11] focuses on building a scalable server infra-

structure for providing reliable, secure service

discovery. A hierarchy of servers can maintain it-

self to a large extent, by creating or killing newservers based on demand, but still assume that a

set of secured, dedicated servers is available. Uni-

versal Plug and Play (UPnP) [9] departs from the

systems above in that it is completely server-less.

In this sense, UPnP and other purely peer-to-peer

systems are auto configuring. Salutation [11] tries

to avoid many of the problems involved in using

high-level protocol standards like IP by introduc-ing a Transport Manager which allows for services

to be discovered and offered on alternative trans-

port layers such as Bluetooth or IrDA, two phys-

ical and link layer protocols which both

incorporate limited discovery protocols. Blue-

tooth�s service discovery protocol (SDP) [7] can

only discovery devices which interact on the

Bluetooth physical layer. IETF�s Service LocationProtocol (SLP) [12] supports both server-based

and peer-to-peer modes of operation, with the goal

of functioning in both small and enterprise net-

works. SLP uses TCP/IP for transport and an

open binary data format, which may be more

appropriate for resource constrained devices than

text formats such as Extensible Markup Language

(XML). The design of our grid resource manage-ment has benefited from previous Service Dis-

covery researches while attempting to make

improvements in selected areas. The requirement

to incorporate legacy systems into computational

grid is a feature, which distinguishes our method

from Jinie system. Jinie is reliant on the use of a

standardized java based interface implemented by

both the clients and servers in the network. Thisrequires existing systems to be modified for use

with Jinie. Another limits are that the Jini dis-

covery process is tightly bound with the simple

interface description advertisement [10]. This leads

to a loss of expressive power in the component

description. The chosen method is to use XML to

describe components, because it allows a mean-

ingful semantic description.Markets have emerged as a new paradigm for

managing and allocating resources in complex

systems. Markets are appropriate for decentralized

systems because once a currency exchange proto-

col is established, negotiations can occur simulta-

neously at various nodes without the necessity of a

central authority [3–7]. Scalability is another

advantage as new resources and new resourceusers can be added simply by establishing the

ability to receive or give currency [34]. Also, prices

serve as useful low-dimensional feedback for con-

trol. Seve- ral research systems have explored the

use of different economic models for trading re-

sources to manage resources in different applica-

tion domains: CPU cycles, storage space, database

query processing, and distributed computing. Theyinclude Popcorn [25], Java Market [23], Mungi

[22], Enhanced MOSIX [19], JaWS [24], GRACE

[20,21], G-Commerce [28], Nimrod-G [16]. Grid

Architecture for Computational Economy (GRACE)

[20,21] proposes a distributed computational eco-

nomy as an effective metaphor for the manage-

ment of resources and application scheduling. It

proposes an architectural framework that supportsresource trading and quality of services based

scheduling. Nimrod-G [15,16] is a Grid resource

broker that allows managing and steering task

farming applications on computational Grids. It

uses an economic model for resource management

and scheduling. The Java Market [23] has no

dependence on any given architecture––both pro-

ducers and consumers can be running any kind ofmachine, and any operating system, that has a

Java-capable Web browser. In other words, it can

handle heterogeneous machines with no modifi-

cations. POPCORN [25] is a system that uses

markets to distribute ‘‘computelets’’ through the

network to take advantage of idle CPUs. The ap-

proach is intended for parallel programs where

interaction among threads is limited.Agent economies are appropriate mechanisms

for computational grid resources allocation. Our

Page 4: The use of economic agents under price driven mechanism in grid resource management

524 L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535

grid resource management takes advantage of

market oriented model and agent technology to

build grid resource management, and provides

users with a consistent and transparent interface

for accessing grid resources. The grid task agents

buy resources to complete tasks. Grid resourceagents charge the task agents for the amount of

resource capacity allocated.

3. Grid resource management system model

The overall system model consists of three lay-

ers (Fig. 1). The lower layer is the underlying grid

resource. Resources on this layer are owned andallocated by grid resource agents deployed at the

nodes in the grid. The top layer is the system�sinterface to grid user. The middle layer is the

agent-based grid resource management system. It

consists of three types of agent and market insti-

tution that allocates resources in response to the

selling of grid resource agent and buying behavior

of the grid task agents. The third layer is the userlayer at which grid request agents provide inter-

faces to the grid user� request. Grid resource agents

sell the underlying resources of the grid. A task

agent that represents the grid user makes buying

decisions within budget constraints to acquire

computation resources.

The system model makes use of two economic

agent types: (1) the grid resource agents that rep-

Fig. 1. Grid resource mana

resent the economic interests of the underlying

resources of the computational grid, (2) the grid

task agents that represent the interests of grid user

using the grid to achieve goals. A grid resource

agent is used at the source node in the grid and is

deployed at the entry node. The Grid resourceagents have varied computational resource

capacity, and the computational resource capacity

is shared among the grid task agents. The grid

resource agents charge the task agents for the

portion of the computational resource capacity

occupies. We assume that the grid resource agents

of a grid does not cooperate, probably due to high

messaging and processing overheads associatedwith cooperative allocating. Instead, they act non-

cooperatively with the objective of maximizing

their individual profits. The grid resource agents

compete among each other to serve the task

agents. The task agents do not collaborate either,

and try to purchase as much computational re-

source as possible with the objective of maximizing

their net benefit. The agents communicate bymeans of a simple set of signals that encapsulate

offers, bids, commitments, and payments for re-

sources. We couple the resources and payments

with the offers and requests respectively. This re-

duces the number of steps involved in a transac-

tion (committing agents to their payments and

offers ahead of the market outcome), and so in-

creases the speed of the system�s decision making.

gement system model.

Page 5: The use of economic agents under price driven mechanism in grid resource management

L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535 525

To enforce these rules the interactions between the

two agent types are mediated by means of market

mechanisms. In our market mechanisms, agent

communication is restricted to setting a price on a

single unit of a known grid resource. Therefore,

agents set their prices solely on the basis of theirimplicit perception of supply and demand of grid

resource at a given time. When a resource is scarce,

grid task agents have to increase the prices they are

willing to buy, just as resource agents decrease the

price at which they are willing to offer the resource.

3.1. Grid resource agents

Grid resource agents publish resource/service

descriptions to Grid Resource Manager. A grid

resource agent can appear or leave the grid at any

time. Resource grid agent provides services that

can be used by other grid agents. Grid resource

agents can have multiple accessing interfaces,

though an agent does not need to publish all of its

interfaces for use. Each published interface isadvertised as an agent entry point. An agent entry

point is a URI that uniquely identify an agent�sinterface. Grid resource agent entry points are used

by other grid agents to establish direct point-to-

point connection between two grid agents [13–17].

A grid resource agent has a set of n resources

units of grid resource� computation capacity re-

quired to serve task agent�s requirement, that itcan sell under market control. At time t, the price

to be asked for each of these units is stored in a

vector pt ¼ fp1t ; p2t ; . . . ; pnt g with the range of pos-

sible prices being zero to infinity, pnt 2 ð0;1Þ, foreach member of the vector i ¼ 1; . . . ; n and each

time period t. At time t ¼ 0 the prices for each unit

are randomly (uniformly) distributed on ½0;H where H is the initial upper limit on prices asked.Given its baseline level, the resource agent at-

tempts to maximize its income. When x units havebeen allocated, the remaining n x units are of-

fered for sale simultaneously. Suppose that of the

n x units offered for sale in a given period t, the munits with the lowest prices are successfully sold.

The prices in the vector are updated by using price-

directed allocation algorithm. Thus the grid re-source agent increases or decreases the price of any

unit by a small amount e after each negotiation.

Here e is obtained from a uniform random distri-

bution. This approach was chosen so that the

prices of each resource should adapt to the dy-

namic demand on the grid.

3.2. Grid task agent

Grid resource agents sell the underlying re-

sources of the grid. A grid task agent that repre-

sents the grid user makes buying decisions within

budget constraints to acquire computation re-

sources. The offers placed on the grid market by

grid resource agents are allocated to grid task

agent. Grid task agents buy computation resourcessolely on the basis of the most recent price infor-

mation they have. Grid task agents initiate com-

pete for grid resource by signaling that they wish

to buy resources to complete certain tasks. The

task agent retains a vector of prices that it is

willing to pay for resources. The price paid for

each resource agent should be as low as possible

without failing to obtain the resource. Thereforethe task agent makes a request for each resource

that it needs separately. If a request was rejected,

the agent increases the price it will send to resource

agent at the next negotiation. If a request was

accepted, the agent reduces the price it pays for

that resource in subsequent negotiations.

3.3. Grid market

Grid task agents and grid resource agents do

not communicate directly with one another or

amongst themselves. All interactions are by the

means of grid market. The grid market also

broadcast the prices at which trades are agreed, so

the agents have more information upon which to

base their trading behavior. The negotiation be-tween agents is mediated by means of a grid

market. It allows multiple grid task agents and

grid resource agents to negotiate simultaneously, it

provides a dense set of market price information

and it allows supply and demand to be reconciled

at the same time. Grid markets provides a means

to complete institutionally mediated bargaining in

one shot that would take an indeterminate timeusing iterated market allocation algorithms. The

resources exchanged at the grid markets are the

Page 6: The use of economic agents under price driven mechanism in grid resource management

526 L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535

right to use slices of computation resource of grid

resource agent, which when taken together, pro-

vide the necessary capacity to grid task agent. The

grid markets use price-directed allocation algo-

rithm that will be described in Section 4. In this

algorithm an initial set of prices is announced tothe task agent. In each iteration, grid resource

tasks individually determine their optimal alloca-

tion and communicate their results to the grid re-

source agent. Grid resource agents then update

their prices and communicate the new prices to the

task agents and the cycle repeats. Prices are then

iteratively changed to accommodate the demands

for resources until the total demand equals to thetotal amount of resources available.

3.4. Grid Manager

The Grid Manager allows market participants

to discover and utilize the capabilities of other

market participants. A market participant may be

a resource provider, called a Grid Resource Agent.The resource registers its capability with a Grid

Manager. A market participant may be a resource

user, called a Resource Requestor agent. The

Requestor agent accept user�s request, deliver it togrid task agent, which discovers Grid Resources

and requests to use them through a Grid Manager.

The Grid Manager communicates with other Grid

Managers to perform its role as a resource broker.Each Grid Manager has a universally unique

identifier, GM-ID. GM-ID is a string used by grid

task agents, grid resource agents, and Grid Market

Managers to uniquely identify a particular Grid

Manager in a transport independent way.

Each Grid Manager listens on a resource

announcement channel, which is a multi-cast ad-

dress set in each Grid Manager�s announcement.Grid Resource Agent�s services that want to par-

ticipate in the system get this address from the

Grid Manager announcement and then periodi-

cally broadcast their own resource description to

it. Grid Manager caches the resource descriptions

of grid resource agent that are advertised. The

Grid Manager does this by receiving all incoming

resource announcements using the resourceannouncement protocol that provides resource

description authentication. The Grid Manager

adds the description to its database and updates

the description�s timestamp. Periodically, the Grid

Manager flushes old resource descriptions based

on the timestamp of their last announcement.

In addition to receiving resource descriptions of

grid resource agent, another function of GridManager is to answer grid task agent� s queries.

The Grid Manager searches for resource descrip-

tions that match the query. Depending upon the

type of query, the Grid Manager returns either the

best match or a list of possible matches. A Grid

Manager works together with each other. Each

one discovers other remote grid manager by its

Connection Module. For each discovered remoteGrid Manager, the Connection Modula finds the

ID code of the remote one, registers the ID code

with the local manager, and maintains the associ-

ation between the transport address and the ID of

the remote Grid Manager. The Grid Manager can

discover other remote Grid Managers and deter-

mine the resources registered there. Resource

Discovery is performed by comparing requiredresources type(s), as specified by the local grid

manager, with the resource type(s) available on a

remote grid manager. Remote Procedure Calls are

used to transmit the required resource type(s) from

the local grid Manager to the remote Grid Man-

ager and to transmit the response from the remote

Grid Manager to the local grid manager.

4. Economic agents for grid resource management

The main actions involved in grid resource

management are registry, discovery, and access.

There are three processes: Grid Resource Registry,

Grid Resource Discovery, and Grid Resource

Allocation. Grid Resource Registry is activated

when Grid Resource Agents register their presence

by publishing their resource descriptions. The GridResource Discovery provides a basic mechanism

to discover grid resources for grid task agents.

Grid Resource Allocation is used for grid task

agents to access the located resource.

4.1. Grid Resource Registry

In order for a new grid resource to become part

of the grid, the resource must be known to a grid

Page 7: The use of economic agents under price driven mechanism in grid resource management

L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535 527

resource manager. Resource registration is the

process to make its resource description available

in the grid resource manager. Grid Resource

Registry is used to register grid resources repre-

sented as Grid Resource Agent (GRA) (See Fig.

2). Each Grid Resource Agent makes its resourcesavailable for other grid member by registering the

resources to Grid Manager (GM). Grid resource

registration is performed as follows. By sending

out Grid Manager announcement over a range, a

GRA can detect Grid Manager running within

that range. Included in the Grid Manager

announcement is an IP address and port number

through which Grid Manager can contact theGRA. Grid Manager monitors the well-known

port for service announcement packets of GRA.

When Grid Manager receives a service announce-

ment, it opens and inspects the packet. The packet

contains information that enables the Grid Man-

ager to determine whether or not it should contact

GRA. If so, it contacts the GRA directly by

making a TCP connection to the IP address andport number extracted from the packet. Using

RMI, the Grid Manager sends an object, called a

Registry, across the network to the GRA. The

purpose of the Registry object is to facilitate fur-

ther communication with Grid Manager. By

invoking methods on this object, GRA can register

its service as a part of service collection in Grid

Manager. The GRA signs its service using Ser-

viceSigner. The ServiceSigner stores a number of

items, including the service public key, the service

certificates, a computed code certificate, and a

computed data certificate. The GRA sends its

service to Grid Manager, now the service contains

a bunch of security related information. The GRA

GM GRA

Registration acknowledgement

Resource forward to parent GM

Notification

Registration initiation

GM

Resource advertisement

Resource registry

ServiceSigner

Resource authorization

Fig. 2. The process of Grid Resource Registry.

calls RegisterService() or UnregisterService() to

register or unregistered itself, respectively, with the

local Grid Manager. Several important objects to

implement service registry will be described in de-

tails.

Once GRA has a Registry object that is gotfrom Grid Manager, GRA prepares to register its

service. There are several classes that implement

the grid resource registery: Servicebuilder, Ser-

viceSpace interface and ServiceHandler class. The

Servicebuilder registers grid services in the Grid

Manager. It is state-less. It just implements the

method to register a grid service. Service-type

specific Servicebuilder objects do the real work.When the Grid Manager started up, it instantiated

those Servicebuilder objects and saved them in the

ServiceRegistry object. When a registerservice()

request is received, Servicetype attribute in the

given service specification is used to determine

the type of grid service. Based on the service type,

the appropriate Servicebuilder object is retrieved

from the ServiceRegistry. Then the Servicebuilerinvokes CreateService() method to create the new

service reference. Before a service is registered, its

ServiceDescription will be validated by the Ser-

vicebuiler. It is acceptable to have a null Service-

Description, or a ServiceDescription with no

ServiceAttributes. Both cases signify that this ser-

vice cannot be discovered after registration. If the

ServiceDescription contains one or more Service-Attributes, the validation ensures that all attri-

butes in a given ServiceDescription are consistent

with the ServiceAttribute Description.

Fig. 3 gives the formal descriptions of grid re-

source registration, Fig. 3(a) describes the actions

of grid resource manager; Fig. 3(a) describes the

actions of grid resource agents.

4.2. Grid Service Discovery

The Grid Service Discovery is used to discover

any published resource or service. Resources or

services are represented as advertisements. The

Grid Service Discovery enables a grid task agent to

find advertisements in its grid unit.

The Grid Manager can discover other remoteGrid Managers and determine the services regis-

tered there. Service Discovery is performed by

Page 8: The use of economic agents under price driven mechanism in grid resource management

// Actions of grid resource manager Announce (presence); While (not listen from Agent) {If (receive announcement) break;}//receive response from resourceagent address= ResponseInspector.address();//extract address Connect(address.IP, address.port); registry=new Reigistry(); SendTo(registry, address); // send registry object to resource agent

// Actions of grid resource agents While (not listen from manager) { If (receive announcement) break;}/ /receive announcement from grid manager Publish(advertisment);

sock.receive(packet) port = ResponseInspector.getPort();//get manager address ServiceAgentref=new ServiceAgent();Agent SS=New ServiceSigner();Service=SS.AddSercurity(ServiceAgentref); Registry.Advertise(Service);//publish resources of grid resource agent

(a) (b)

Fig. 3. Formal descriptions of grid resource registration.

528 L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535

comparing required services type(s), as specified by

the local Grid Manager, with the service type(s)

available on a remote Grid Manager. Remote

Procedure Calls are used to transmit the required

service type(s) from the local Grid Manager to theremote Grid Manager and to transmit the re-

sponse from the remote Grid Manager to the local

Grid Manager. Through manipulation of the

specification of required service type, the Grid

Manager can determine characteristics of all the

services registered at a remote Grid Manager and

the presence of a service on a remote Grid Man-

ager matching a specific set of constraints.Requests of grid task agent are expressed in

terms of constraints. Constraints represent the

requirements for the service to be found. Con-

straint language of service discovery is based upon

XML. Constraints are passed as strings to the

constructor of the XML class. During construc-

tion, the constraint is parsed and the expression

tree is created. The grid task agent calls Search-Service() to ask the local Grid Manager to search

for Grid Managers containing registered services

with a particular constraints. The local Grid

Manager returns the list of GM-IDs to the Grid

task agent. The Grid Manager with the GM-ID

included in the list has information about Grid

Service Agent that can provide the service re-

quested by the Grid task agent. If Grid Manager isa parent manager it performs the search on the

parent Grid Service Registry that should contain

information on all registered services in the grid. If

the local Grid Manager is a child manager, it will

find a local service if a suitable one is available

otherwise it will query a parent node for a suitable

service. The searching process can also explicitly

request a parent Grid Manager search. When

multiple parent managers are available, the childmanager has the option of selecting a parent based

on some criteria such as node load. GRA provides

an XML Description describing its functionality

and properties when it registers into the Grid

Manager. When a grid task agent wants to use a

service, it creates a XML DOM object describing

the service it needs along with constraints. Grid

task agent then finds the appropriate service usingthe XML match. The XML match handles con-

straints such as requirements, cost etc. For in-

stance, grid task agent can ask that the service cost

less than some amount, or that it must have some

special functions or requirement. Similarly, the

matching process ensures that a grid task agent

gets only those services, which it is capable of

executing in the required hardware or softwareenvironment. The register() method invoked by

GRA is declared in the Registration interface,

which all Registry objects implement. GRA talks

to Grid Manager through the Registry object by

invoking methods declared in the Registration

interface. Once GRA�s service has registered with

Grid Manager, that service is available for use by

grid task agents that will query the Grid Manager.Grid task agent must find and enlist the help of

GRA to perform some task. To find a service, grid

task agents query Grid Manager by invoking the

locate() method on Registry object. The grid task

Page 9: The use of economic agents under price driven mechanism in grid resource management

Grid resource agentGrid managerGrid task agent

Get Connected Forward price information

Decide allocation Negotiation

Forward allocation request

Resource allocation

Fig. 5. The process of resource negotiation.

L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535 529

agent passes a XML service template as an argu-

ment to locate() method, XML service template

serves as search criteria for the query. The locate()

method sends the XML service template to the

Grid Manager, which performs the query and

sends back many matching service descriptions.If the grid task agent does not specify any

particular constraints when it calls SearchSer-

vice(), the list of all the GM-ID of Grid Managers

known to the local Grid Manager is returned. The

grid task agent calls Queryservice() to discover

what grid services are registered at a Grid Man-

ager. The grid task agent may specify either the

local Grid Manager or a remote Grid Manager.The specified Grid Manager automatically re-

sponds to this query as well as to the SearchSer-

vice() without involving the specified Grid

Manager. Fig. 4 gives the formal descriptions of

grid resource discovery.

4.3. Grid Resource Allocation

Grid Resource Allocation is used for grid task

agent to access the located grid resource. Once a

grid task agent receives the Reply Description of a

Grid Manager, it can start communication with

the GM to use the services. Negotiation is the

process by which grid task agent and grid resource

agent interacts to reach an agreement through grid

market. In general, negotiation consists of thefollowing steps:

// Actions of grid resource manager While (not listen from Router)

{ If (receive announcement) break;}

Query= new BuildQuery ( Querytype, Attributes); //create query object SetQuerytype(type); If ( Querytype=”1”) SendQueryToAll(); If (Querytype=”2”) SendQueryToNeighbor(); If (Querytype=”3”) SendQueryToLocal(); Result=ReturnResult();

//resCoReEn // AReIf No

Se

Els

Fig. 4. Formal descriptions of

(1) Grid task agents request the grid marketplace

for admission to the negotiation. If they are

accepted, they receive rules specifying how

the negotiation takes place.

(2) Grid task agents submit resource allocation re-quest to grid marketplace according to the

rules of the negotiation received at admission.

(3) If the request is valid, the Market Manager

forwards then the request to the intended

addressees. During negotiation, the grid mar-

ketplace informs grid participants of the cur-

rent status of the negotiation by sending

some short messages such as the current prices.(4) After negotiation completes, determines any

final resource allocation results.

The process of resource negotiation is shown in

Fig. 5.

We design a price-directed market-based algo-

rithm for solving the grid task agent resource

allocation problem. In this algorithm, an initial set

actions of grid request agents. ult=GetResponse();//receive manager’s response nnectService(result.Description);//establish sessionsult=receive(); dConnect();//end connection

ctions of grid resource manager ceive(message); (CheckAvailable(message))//check description tify(Agent, message);//notify agent of connection Result=Receive(response);

If (Result. accept) ndResult(ServiceAgentRef);//send result to agent

Else SendResult(NULL); e reject(RequestAgent,’ not available’);

grid resource discovery.

Page 10: The use of economic agents under price driven mechanism in grid resource management

530 L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535

of prices is announced to the task agent. The task

agents determine their resource demands accord-

ing to these prices. The task agents request these

resources capacity from the resource agents. Prices

are then iteratively changed to accommodate the

demands for resources until the total demandequals to the total amount of resources available.

The detail of whole process can be described as

follows: Grid resource agents announce a set of

initial prices P ¼ ðp1; p2; . . . ; pjÞ, each grid task

agent i calculates its optimal resource demand for

grid resource agent.

Then, forward these resource demands to the

grid resource agents. At iteration n, each grid re-source agent j updates its price according to the

grid task agent�s demands.

pðnþ1Þj ¼ max e; pðnÞj

nþ g xjP ðnÞ�

Cj

�o

where xji is the resource units allocated to task

agent i by resource agent j, xj ¼P

i xji , n is the step

size. cj is the capacity in computational units of jthgrid resource agent. Let e > 0i be a sufficientlysmall constant preventing prices to approach zero.

Thus, if the total demandP

i xji is greater than the

cache capacity Cj, then the new price pðnþ1Þj is in-

creased, otherwise it is decreased. Grid resource

agent announces the new prices P ðnÞ to the grid

task agents. This cycle stops until the total demand

equals to the total amount of resources available,

P ðnÞ are the set of prices at the equilibrium.

Algorithm 1: Price-directed resource allocation

algorithm

Grid task agent part algorithm {

If a task submitted {

For every task agent participating in compet-

ing resources {send request to grid resource agent; }

}

If grid resource agent reply comes in {

Store the reply;

If all price replies for this task are received {

For all price replies

Repeat { n ¼ nþ 1;

calculates its optimal resource demand;Send resource demands to the grid re-

source agents;}

Until the total demand equals to the total

amount of resources available. }

Send payment to resource grid agent;

Get allocated resource.

Grid resource agent part algorithm {

Grid resource agents announce a set of initial

prices:

P ¼ ðp1; p2; . . . ; pjÞif grid task agent reply comes in {

For each grid resource agent {

n ¼ nþ 1;

pðnþ1Þj ¼ max e; pðnÞj þ g xjP ðnÞ Cj

� �n o

Cj ¼P

j xji

Announce the new prices P ðnÞ to the grid task

agents;

} Until the total demand equals to the totalamount of resources available.

5. Experiments

Based on the prototype implementation of the

proposed model, a basic performance evaluation

was done. Our experiment divides into two parts,one is overhead of registering a grid resource

agent, and other one is overhead of locating a grid

resource agent. The experiment environment con-

sists of 100 nodes. Each machines run Windows

NT 4.0 and the agent execution environment use

JDK 1.1. These machines are located in different

subnets. Grid Manager is populated with different

number of agents. Timing measurements are madeon machines that host agents. There are two main

factors that affect results, one is network latency,

and another is machine speed. All the experiments

are repeated at least three times. In the experi-

ments we change some of test parameters, such as

the number of agents used in the test, number of

machines comprising service discovery networks

that are denoted by M in bellow figures. We devisetests with local search and global searches. The

size of the agent code without additional data is

around 1.6 Kb.

In the first experiment, we have measured the

time to register ten service agents. The results are

shown in Fig. 6. Times to register agents are little

Page 11: The use of economic agents under price driven mechanism in grid resource management

56789

1011121314

1 5 10 20 25 35 40 45 50 60 70Number of agents registered

Tim

es to

reg

iser

age

nts(

s)

Fig. 6. Register time vs. number of agents registered.

51015202530354045505560

1 3 5 8 12 16 18 20 23 25Number of agents returned

Tim

es to

loca

te a

gent

slo

cally

(ms)

20 agents 30 agents 50 agents

Fig. 8. Local search time vs. number of agents returned.

102030405060708090

1 3 5 8 12 16 18 20 23 25Number of agents returned

Tim

es to

loca

teag

ents

(ms)

20 agents 30 agents 50 agents

Fig. 9. Global search time vs. number of agents returned

(m ¼ 4).

L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535 531

affected by number of agents already registered. In

the second experiment, we measure times to locate

different number of service agents locally vs.

number of agents registered in the Grid Manager.In this experiment, One, 15, and 30 service agents

are located respectively. Fig. 7 shows time to lo-

cate multiple agents is independent of number of

agents registered. In the third experiment, we also

measure times to locate service agents locally vs.

number of agents returned by lookup with differ-

ent number of lookup agents. In the following four

experiments, we use 20, 30, and 50 lookup agentsrespectively to measure search times. Fig. 8 shows

that time for lookup of many agents increases

proportionally to number of agents returned by

the lookup. In the fourth experiment, we measure

times to locate service agents globally vs. number

of agents returned by lookup with different num-

ber of lookup agents (lookup 20, 30, and 50 agents

respectively) and configure four machines com-prising agent/resource discovery networks

(M ¼ 4). The results are presented in Fig. 9. In this

case, it was interesting to observe that before the

5

10

15

20

25

30

35

40

45

1 5 10 20 25 35 40 45 50 60 70Number of agents registered

Tim

es to

loca

te a

gent

slo

cally

(ms)

1 agent 15 agents 30 agents

Fig. 7. Local search time vs. number of agents registered.

number of agents returned by lookup increases to12, the curves of 30 lookup agents and 50 lookup

agents are very close. But from entire figure, time

increases proportionally to number of agents re-

turned by the lookup. In the fifth experiment, we

use eight machines to comprise agent discovery

network (M ¼ 8) and other conditions are as same

as third experiment. As can be seen in Fig. 10, the

difference of three curves is small. The curve of 30lookup agents is parallel to the curve of 50 lookup

10

30

50

70

90

110

1 3 5 8 12 16 18 20 23 25Number of agents returned

Tim

es to

loca

teag

ents

(ms)

20 agents 30 agents 50 agents

Fig. 10. Global search time vs. number of agents returned

(m ¼ 8).

Page 12: The use of economic agents under price driven mechanism in grid resource management

20406080

100120140160180200

1 3 5 8 12 16 18 20 23 25Number of agents returned

Tim

es to

loca

teag

ents

(ms)

20 agents 30 agents 50 agents

Fig. 11. Global search time vs. number of agents returned

(m ¼ 12).

532 L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535

agents. In the sixth experiment, the number of

machines is increased by 12 (M ¼ 12) and other

conditions remain unchanged. As can be seen in

Fig. 11, time of lookup 50 agents increases dra-

matically to number of agents returned by thelookup.

Results of above performance evaluations are

approximate, but are illuminating. Some conclu-

sions can be made. Firstly, times to register agents

are little affected by number of agents already

registered. Secondly, locating agents globally

spend more times than locating agents locally.

Thirdly, time to locate multiple agents is inde-pendent of number of agents registered. Fourth,

time to locate many agents increases proportion-

ally to number of agents returned by the lookup.

Further experiments are in progress to refine ori-

ginal results.

6. Related work and discussion

There several important computational grid

projects that inspire our grid resource manage-

ment.

The DARPA CoABS (Control of Agent Based

Systems) project [27] aims to develop agent sys-

tems for offering specialized services, such as

component interaction managers, database wrap-pers, traders/brokers, to resource planners and

interactions managers. The CoABS Grid provides

a framework for integrating diverse agent-based

systems in a robust and agile manner. Agents and

object-based systems dynamically register and

discover relevant participants in order to collabo-

rate meaningfully. Systems evolve, join and leave

the Grid over time without the necessity to rec-

onfigure the network. If systems become unavail-

able due to partial network failures, other similar

systems can be discovered and substituted for the

missing systems.

A4 (Agile Architecture and AutonomousAgents) methodology [28], which can be used for

resource management for grid computing. An

initial system implementation utilizes the perfor-

mance prediction techniques of the PACE toolkit

to provide quantitative data regarding the perfor-

mance of complex applications running on local

grid resources. At the meta-level, a hierarchy of

identical agents is used to provide an abstractionof the system architecture. Each agent is able to

cooperate with other agents to provide service

advertisement and discovery to schedule applica-

tions that need to utilize grid resources. A per-

formance monitor and advisor are in development

to optimize the performance of agent behaviors.

Condor [29] is a high-throughput computing

environment developed at the University of Wis-consin at Madison. It can manage a large collec-

tion of computers such as PCs, workstations, and

clusters that are owned by different individuals.

The Condor matchmaker queries the collector for

resource discovery that it uses to determine com-

patible resource requests and offers. The agents are

then notified of their compatibility. The compati-

ble agents then contact each other directly and ifthey are satisfied, then the customer agent initiates

computation on the resource. Resource requests

and offers are described in the Condor classified

advertisement (ClassAd) language. ClassAds use a

semi-structured data model for resource descrip-

tion. Thus no specific schema is required by the

matchmaker allowing it to work naturally in a

heterogeneous environment.Grid Architecture for Computational Economy

(GRACE) [20,21] proposes a distributed compu-

tational economy as an effective metaphor for the

management of resources and application sched-

uling. It proposes an architectural framework that

supports resource trading and quality of services

based scheduling. It enables the regulation of

supply and demand for resources; provides anincentive for resource owners to participate in the

Grid; and motivates the users to trade-off between

Page 13: The use of economic agents under price driven mechanism in grid resource management

L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535 533

deadline, budget, and the required level of quality-

of-service. It also demonstrates the capability of

economic-based systems for peer-to-peer distrib-

uted computing by developing users� quality-of-service requirements driven scheduling strategies,

algorithms, and systems.Nimrod-G [18] is a Grid resource broker that

allows managing and steering task farming appli-

cations on computational Grids. It uses an eco-

nomic model for resource management and

scheduling. Users formulate parameter studies

using a declarative parametric modeling language

or GUI with the experiment being run on the Grid.

Nimrod-G provides resource discovery, resourcetrading, scheduling, resource staging on Grid

nodes, result gathering, and final presentation to

the user. Nimrod-G uses GRACE services to

dynamically trade with resource owner agents

to select appropriate resources. GRACE enabled

Nimrod-G has been used for scheduling parameter

sweep application jobs on the WWG test bed re-

sources.The Globus project [30] defines an extensive

framework for metacomputing. The project builds

a metacomputing toolkit that encapsulates a col-

lection of low-level services (for resource alloca-

tion, communication, authentication and file

access). Globus is constructed as a layered archi-

tecture in which higher-level services can be

developed using the lower level core services. Itsemphasis is on the hierarchical integration of Grid

components and their services. This feature

encourages the usage of one or more lower level

services in developing higher-level services. Re-

source and status information is provided via an

LDAP-based network directory called MDS.

MDS consists of two components, Grid Index

Information Service (GIIS) and Grid ResourceInformation Service (GRIS). GRIS implements a

uniform interface for querying resource providers

on a Grid for their current configuration, capa-

bilities, and status.

Legion [30] is an object-based metasystem or

Grid operating system developed at the University

of Virginia. Legion provides the software infra-

structure so that a system of heterogeneous, geo-graphically distributed, high performance

machines can seamlessly interact. Legion provides

application users with a single, coherent, virtual

machine. The Legion system is organized into

classes and metaclasses. Legion appears as a

complete vertically integrated system, its architec-

ture follows the hierarchical model. It uses an

object based information store organizationthrough the Collection objects. Collections peri-

odically pull resource state information from host

objects. Host objects track load and users can call

the individual host directly to get the resource

information. Information about multiple objects is

aggregated into Collection objects. Users or sys-

tem administrators can organize collections into

suitable arrangements.Compared with above grid projects, our method

takes advantage of market oriented model and

agent technology to build grid resource manage-

ment, and provides users with a consistent and

transparent interface for accessing grid services.

All market participants in the grid environment

including computing resources and services can be

represented as agents. A grid market participantcan be a service agent that provides the actual grid

service to the other market participants. Market

participant is registered with a Grid Market

Manager.

7. Conclusions

This paper presents exploiting economic agent

to build computational grid resource management.

A realistic model for three layer of the overall

system is presented. The grid task agents buy re-

sources to complete tasks. Grid resource agents

charge the task agents for the amount of resource

capacity allocated. The three processes involved in

grid resource management are Grid ResourceRegistry, Grid Resource Discovery, and Grid

Resource Allocation. Grid Resource Registry is

used to register Grid Resource Agents their pres-

ence by publishing their resource descriptions. The

Grid Resource Discovery provides a basic mech-

anism to discover grid resources for grid task

agents. Grid Resource Allocation is used for grid

task agent to access the located grid resource. Thispaper provides a price-directed market-based

algorithm for solving the grid task agent resource

Page 14: The use of economic agents under price driven mechanism in grid resource management

534 L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535

allocation problem. A basic performance evalua-

tion is given. Future works will focus on optimi-

zation problems related to grid task agent and grid

resource agent�s pricing policy.

Acknowledgements

The authors thank subject area editor Prof.

Damiani and the anonymous reviewers for their

useful comments and suggestions. The work is

supported by National Natural Science Founda-

tion of China and NSF of Hubei Province.

References

[1] I. Foster, C. Kesselman, The Grid: Blueprint for a New

Computing Infrastructure, Morgan Kaufmann, 1999.

[2] Available from <www.canet3.net/>.

[3] H. Casanova, G. Obertelli, F. Berman, et al., The AppLeS

parameter sweep template: User-level middleware for the

grid, in: Proc. of Super Computing, Springer Verlag, 2000,

pp. 75–76.

[4] H. Casanova, J. Dongarra, NetSolve: A network server for

solving computational science problems, International

Journal of Supercomputing Applications and High Per-

formance Computing 11 (3) (1997) 212–223.

[5] Li Chunlin, Lu zhengding, Li layuan, Design and imple-

mentation of a distributed computing environment model

for Object_Oriented Networks Programming, Journal of

Computer Communications 25/5 (2002) 517–522.

[6] N. Antonopoulos, A. Shafarenko, An active organization

system for customized, secure agent discovery, The Journal

of Supercomputing 20 (2001) 5–35.

[7] Bluetooth SIG, Bluetooth Specification, Version 1.1,

Available from <www.bluetooth.com>, 2001.

[8] J. Waldo, Jini Architecture Overview, Sun Microsystems

Whitepaper, 1999.

[9] Universal Plug and Play Forum. Universal Plug and Play

Device Architecture, Version 1.0, Available from

<www.upnp.org>, 13 June 2000.

[10] S. Czerwinski, B. Zhao, T. Hoddes, A. Joseph, R. Katz, An

architecture for a secure service discovery service, in:

Proceedings of MobiCom�99, ACM, Seattle, WA, 1999.

[11] Salutation Consortium. White paper: salutation architec-

ture: Overview. Available from <www.salutation.org/

whitepaper/originalwp.pdf>, 1999.

[12] E. Guttman, C.E. Perkins, M. Day. Service Location

Protocol, Version 2. Internet RFC 2608, June 1999.

[13] I. Foster, C. Kesselman, J. Nick, et al., Grid services for dis-

tributed system integration, Computer 35 (6) (2002) 37–46.

[14] M. Litzkow, M. Livny, M.W. Mutka, Condor––A hunter

of idle workstations, in: Proceedings of the 8th Interna-

tional Conference of Distributed Computing Systems, June

1988.

[15] R. Buyya, S. Chapin, D. DiNucci, Architectural models for

resource management in the grid, in: First IEEE/ACM

International Workshop on Grid Computing (GRID

2000), LNCS Series, Springer Verlag, Germany, 2000.

[16] R. Buyya, D. Abramson, J. Giddy, Nimrod/G: An

architecture for a resource management and scheduling

system in a global computational grid, in: International

Conference on High Performance Computing in Asia–

Pacific Region (HPC Asia 2000), Beijing, China, IEEE

Computer Society Press, USA, 2000.

[17] Li Chunlin, Li Layuan, Integrate software agents and

CORBA in computational grid, Journal of Computer

Standard and Interface 25/4 (2003) 357–371.

[18] Li Chunlin, Lu Zhengding, Li Layuan, Design and

implementation of a hybrid agent platform, Programming

and Computer Software 29 (1) (2003) 28–42.

[19] Li Layuan, Li Chunlin, A distributed QoS-Aware multicast

routing protocol, Acta Informatica 40/3 (2003) 211–233.

[20] R. Buyya, J. Giddy, D. Abramson, A case for economy

grid architecture for service-oriented grid computing, 10th

IEEE International Heterogeneous Computing Workshop

(HCW 2001), In conjunction with IPDPS 2001, San

Francisco, California, USA, April 2001.

[21] Li Chunlin, Zhengding Lu, Li Layuan, Apply market

mechanism to agent-based grid resource management,

International Journal of Software Engineering and Knowl-

edge Engineering 13/3 (2003) 327–340.

[22] Y. Amir, B. Awerbuch, A. Barak, S. Borgstrom, A. Keren,

An opportunity cost approach for job assignment in a

scalable computing cluster, IEEE Transactions on Parallel

and Distributed Systems 11 (7) (2000) 760–768.

[23] Y. Amir, B. Awerbuch, R. Sean Borgstrom, A cost-benefit

framework for online management of a metacomputing

system, in: Proceedings of 1st International Conference on

Information and Computational Economy, Charleston,

SC, USA, 25–28 October 1998.

[24] S. Lalis, A. Karipidis, An open market-based framework

for distributed computing over the Internet, in: Proceed-

ings of the First IEEE/ACM International Workshop on

Grid Computing (GRID 2000), Bangalore, India, Springer

Verlag Press, Germany, 2000.

[25] N. Nisan, S. London, O. Regev, N. Camiel, Globally

distributed computation over the Internet: The POPCORN

project, in: International Conference on Distributed Com-

puting Systems (ICDCS�98), Amsterdam, The Netherlands,

IEEE CS Press, USA, 1998.

[26] R. Ashri, M. Luck, Paradigma: Agent implementation

through Jini, in: Proceedings of the Eleventh International

Workshop on Database and Expert Systems Applications,

IEEE Computer Society Press, 2000.

[27] The CoABS DARPA Project, Control of Agent Based

Systems, Available from <coabs.globalinfotek.com/>.

[28] J. Cao, D.J. Kerbyson, G.R. Nudd, Performance evalua-

tion of an agent-based resource management infrastructure

for grid computing, in: Proceedings of 1st IEEE/ACM

Page 15: The use of economic agents under price driven mechanism in grid resource management

L. Chunlin, L. Layuan / Journal of Systems Architecture 50 (2004) 521–535 535

International Symposium on Cluster Computing and the

Grid, Brisbane, Australia, May 2001, pp. 311–318.

[29] J. Basney, M. Livny, Deploying a High Throughput

Computing Cluster, High Performance Cluster Comput-

ing, vol. 1, Chapter 5, Prentice Hall PTR, 1999.

[30] S. Chapin, J. Karpovich, A. Grimshaw, The legion

resource management system, in: Proceedings of the 5th

Workshop on Job Scheduling Strategies for Parallel

Processing, April 1999.

[31] Project JXTA, Available from <www.jxta.org>.

[32] SETI@home, Available from <setiathome.ssl.berke-

ley.edu>.

[33] Avaki, Available from <www.avaki.com>.

[34] Li Layuan, Li Chunlin, A QoS-guaranteed multicast

routing protocol, Journal of Computer Communications

27/1 (2004) 59–69.

Li Chunlin was born in 1974. She re-ceived the M.E. in computer sciencefrom Wuhan Transportation Univer-sity in 2000, and Ph.D. degrees inComputer Software and Theory fromHuazhong University of Science andTechnology in 2003. She now is a lec-turer of Computer Science in WuhanUniversity of Technology. Her re-search interests include mobile agent,distributed computing and computa-tional grid. She has published over 15Papers in international journals.

Li Layuan was born in Hubei, Chinaon 26 February 1946. He received theBE degree in Communication Engi-neering from Harbin Institute of Mil-itary Engineering, China in 1970 andthe ME degree in Communication andElectrical Systems from HuazhongUniversity of Science and Technology,China in 1982. He academically visitedMassachusetts Institute of Technol-ogy, USA in 1985 and 1999, respec-tively. Since 1982, he has been with theWuhan University of Technology,China, where he is currently a Profes-

sor and Ph.D. tutor of Computer Science, and Editor in Chiefof the Journal of WUT. He is Director of International Societyof High-Technol. and Paper Reviewer of IEEE INFOCOM,ICCC and ISRSDC. He was the head of the Technical Groupof Shaanxi Lonan PO Box 72, Ministry of Electrical Industry,China from 1970 to 1978.His research interests include highspeed computer networks, protocol engineering and imageprocessing. Professor Li has published over one hundred andfifty technical papers and is the author of six books. He also wasawarded the National Special Prize by the Chinese Governmentin 1993.