A Problem Solving Environment Integrating Grid Portal and Agent ...

1 downloads 0 Views 513KB Size Report
PAGE: A Problem Solving Environment Integrating Grid Portal and Agent System ..... Agent. Price. Profit CPU Speed Memory Quantity Makeup. Buyer. 5. 500.
PAGE: A Problem Solving Environment Integrating Grid Portal and Agent System

Giovanni Aloisio, Qing Ding HPCC/ISUFI, University of Lecce, 73100 Italy {giovanni.aloisio, qing.ding}@unile.it

Abstract

portal as a lightweight interface to Grid environment, it also can be considered as a problem solving environment

Portal Agent Grid Environment (PAGE) is a

for Grid computing. A particular portlet message system is

framework that aims to build a Grid portal integrated with

designed in the PAGE to support negotiation among

agent technologies. The combination of Grid portal and

portlets, thus allows these portlets to collaborate across

agent system has many potential benefits. This paper

multi-management domains.

describes the architecture of PAGE and shows how PAGE

The paper is organized as follows. Section 2 introduce

can benefit from agents technologies. We also discuss how

the open service-oriented PAGE architecture. The portlet

to offer PAGE system the interoperability with outside

message-driven design model is discussed detailedly in

agent communities. Based on it, we design the economic

section 3. In section 4, we present how PAGE can provide

scheduling strategy and show the initiative experiment

interoperability with outside agent communities. Section 5

results.

presents economic scheduling strategy used in PAGE and the initiative results are shown in this section 6. The finial

Key words: Grid Portal, Agent System, Agent

section summarizes the paper and gives the suggestion for

Communication Language, Economic Scheduler

future works.

2. The Service-Oriented PAGE Architecture 1. Introduction Gridsphere developed by gridlab project is used as the Grid based computing now is an important next

portal framework in the PAGE system design. Figure 1

generation computing platform to solve large-scale

shows our multi-layer service-oriented system design

resource intensive problems [1]. Grid enabled portals are

model which is based on Globus Toolkit 3.

becoming popular to provide users access to various Grid

Portlet services are the key reusable components in

services and resources and hide internal complexities of

the PAGE system, which will be responsible for getting

Grid system. Some representative efforts include GPDK

Grid Service Handle (GSH) to invoke Grid services

(Grid Portal Development Kit) [2], GridPort [3], GRB

provided by OGSI and package them as higher-level

portal [4], SGE Technical Portal [5], WebSphere Portal [6]

services. Grid services can be any existing resources and

and GridSphere Portal [7].

applications according to OGSA [8].

In this paper, we describes the PAGE system: an

Portlets are the basic building blocks of our portal.

extension to the portal which adopts a lot of agent

They invoke portlet services, then provide visual windows

technologies and provides the interoperability with outside

that organize content from different sources into a single

entities. PAGE not only aims to provide a web-based

interface for individual or group access. Based on the key

function of them, these portlets can be grouped into three

grid services, such as job management, reliable file

types: Service management portlets, Grid service portlets

transfer, security service, and information service, etc.

and application or resource specific portlets.

Figure 3 shows a information query portlet, which shows resource sets or specific infomation provider users are querying, just like GIIS and GRIS in Globus 2.

Figure 1: Service-Oriented Design Model

2.1 Service Management Portlets Figure 3: Information Query Portlet

Service management portlets are mainly used by administrator to manage service in the Grid environment.

2.3 Application or Resource Specific Portlets

Figure 2 shows the serviceBrowser portlet which provide the function including listing all registered services,

application or resource specific portlets are portlets

showing all Service Data Element (SDE) of a service, and

related to specific application or resource. For example,

activating, deactivating, or ending a service, etc.

users can set some specific QoS parameters and control an application execution using a user broker portlet. Resource broker portlet will be considered as a broker of a resource to present resource specific attribute, such as resource value, advance reservation, etc.

3. Portlet Message-Driven Model Assume there is not a super portlet in the system, adding messaging to a set of cooperating portlets is a straightforward task. We show the message-driven model Figure 2: ServiceBrowser Portlet

in our portlets design in figure 4. As the sender detects some condition it formats a message and sends it to the

Using index service portlet, users can query and

receiver. The receiver portlet then receives the message

aggregate service data, manage subscription, create a new

from a message event and invokes message handler to

service data provider, etc.

process the message. A single portlet can both send and receive messages. How to process messages is depending

2.2 Grid Service Portlets

on the rule made in advance. We

Grid service portlets are portlets providing users main

introduce

a

collection

of

agent-related

mechanisms into PAGE message design. Figure 5 shows

the portlet message in PAGE system. It mainly includes

real message content sent between the portlets is typically

three key contents, one is ACLMessage class, which is

a

compatible with Agent Communication Language defined

implements MessageContent interface. Alias is a string

by FIPA [9]. This object has 13 main attributes. Users can

used to present the outside agent name if this portlet wants

select one or more attribute-value pairs to compose

to communicate with a outside agent.

custom,

application-specific

Java

object

which

message-pattern, which is a partial description of an ACLMessage. Message-pattern is used to add or remove rules together with object-reference and method-name.

4. Interoperability Systems

with

Outside

Agent

When a new incoming message is received by a portlet, it will invoke message handler to search from rule database

Recently the agents concept has begun to be applied

to find if new messages are matched against the

to Grid computing systems, with agents playing both the

message-pattern, with successful matches resulting in the

roles of enablers and customers of grid capabilities

method method-name of the object referenced by

[10][11][12].

object-reference being invoked with the new message object as its input argument.

The grid infrastructure and services may scale to millions of machines and computation is not restricted to machine or organization boundaries. We are striving to make the PAGE components separable, scalable, federated, and the architecture open. We offer PAGE system the interoperability with agents from outside communities.

4.1 Portlet Agent In the PAGE system, a special Agent called portlet Figure 4: Message-driven Model

agent is designed to dynamically discover and establish communication with agents in outside agent communities. portlet agent acts as the Agent Communication Channel to

AgentPortletMessage { ACLMessage:

/* ACL message */

connect portlet application with outside agent systems.

MessageContent:

/* data to be sent */

Figure 6 shows portlet agent as a proxy to transfer

Alias:

/* outside agent name */

messages.

}

The portlet agent registers itself to outside AMS and Figure 5: AgentPortletMessage

DF services, so it is able to find other agents through directory, matchmaking, and broker services. The portlet

According to FIPA definition, the information an

agent also has the function of providing translation

agent A transfers to another agent B is represented as a

facilities between portlet messages and ACL messages,

content expression consistent with a proper content

then hides the complexities of portlet application from

language (e.g. SL defined by FIPA) and encoded in a

outside agents.

proper format. Both A and B have their own way of

Assume now a portlet has a unique outside agent

internally representing this information. However, inside a

name, and want to send a message. This outside agent

portlet application, representing a piece of information

name maybe gotten by a message received before, or the

should allow an easy handling of this information. So the

name of the outside agent is explicitly programmed. This

portlet then set sender as itself, receiver as portlet agent,

The support for different content languages and

alias as outside agent name and send this message to

ontologies provided by PAGE is designed to automatically

portlet agent. When portlet agent try to transfer a message

perform all the above conversion and check operations as

to outside agents, it follows the following procedure:

depicted in figure 7. This message conversation is



parse message into ACL message definition

independent of the underlying content language, thus



set sender as the name it registered to the outside

allowing developers to select suitable content languages,



agent systems, set receiver as alias in the portlet

such as SL, OWL, etc, and manipulate information within

message.

the portlet application as Java objects. Users can define

set up message handling rule for messages for this

their own content language and add it to content manager.

alias. Once a reply from this alias is received, this message should be transferred to related portlet.



get this outside agent’ s address, then send message to this appropriate agent. When the portlet agent receives a ACL message from

outside, it will enforce an inverse process to produce portlet message and forward it to appropriate portlet using defined message handling rule.

Figure 7: Message Conversion

5.

An Economic Scheduling Strategy A resource in the Grid environment has some

rate-based attributes, such as CPU speed, memory capacity, and disk access rate, etc. We can use a vector contains attribute-value pairs to characterize the resource. Let

X = ( P = p' , x1 = α1 , x2 = α 2 , L x n = α n ) , where P is the price attribute of a resource which resource Figure 6: Interoperability with Outside Agent Systems

4.2 Message Conversion

owner can define based on his preference and p ' is the current trading price.

If portlet agent wants to transfer a message to outside

resource and

xi is a rate-based attribute of the

α i is its value at a given time.

agents, it is clear that portlet agent needs to perform the the

Assume user broker portlet send a matrix X to

corresponding ACL Message definition. Since the portlet

scheduler portlet and scheduler portlet gets a candidate

message in the PAGE design is compatible with ACL

resource set replied from information portlet. Scheduler

message, the key operation is to convert information

portlet uses a modified multi-unit english auction model to

presented as java object in the portlet message into content

match resources. In our model, we define virtual trading

expression representation in the ACL message or perform

price as a fuction f operates on the resource vector

conversion

between

the

the opposite conversion [13].

portlet

message

and

X,

namely,

price = f ( p ' , x0 , x1 , x2 , L xn ) . We now

these figures.

have three virtual trading price matrixes: •

resource price, price = p ' ;



resource

perfermance

reciprocal,

price = 1 \ performance ; •

price

perfermance

ratio,

price = p'\ performance . User broker portlet defines one of these virtual trading price matrixes as the trading parameter in advance. Then

Figure 8: Shout Price Change (price Matrix)

the scheduler portlet uses this parameter to match traders.

6. Experimental Results We present the initiative results in this section. In the experiment, there are eight resources in the Grid environment. A user submits a job with the requirement of three resources. All resource parameters are shown in table 1. The price parameter is a private value defined by traders which expresses the accepted limited trading price, the profit parameter suggest the maximum profit traders hope to get if possible, and the makeup parameter is used to

Figure 9: Shout Price Change (Perfermance Reciprocal

define the price changing rate when trader updates his

Matrix)

order in the market. Other parameters are related to resource itself, such as CPU speed, memory, etc. Table 1 Experiment Parameters Agent Buyer Seller Seller Seller Seller Seller Seller Seller Seller

Price 01 02 03 04 05 06 07 08

5 4 6 4,5 4,4 5,5 5,3 4,1 4,2

P rofit C P U S p e e d M e m o r y Q u a n t i t y M a k e u p 500 100 3 0,4 550 150 1 0,02 0,6 700 120 1 0,03 1 1000 200 1 0,02 0,4 600 250 1 0,02 0,5 400 120 1 0,01 0,3 800 180 1 0,01 0,6 1200 220 1 0,03 0,7 700 150 1 0,02

Figure 8, 9, 10 show the shout price change in the market and the final successful traders. The resource buyer

Figure 10: Shout Price Change (Price Perfermance Ratio

Matrix)

respectively choices price, resource perfermance reciprocal, and price perfermance ratio as virtal trading price matrix in

For price matrix, the deal price is equal to the final

submit price, three successful traders are sale1, sale7, and

Portals, Proceedings of the 10th IEEE Intl. Symp. on High Perf.

sale8. For performance matrix, user actually wants to find

Dist. Comp. Aug 2001

the best powerful resources restricted to his budget. In our

[4] G. Aloisio, M. Cafaro, P. Falabella, C. Kesselman, R.

experiment, they are sale3, sale7, and sale8. The

Williams, Grid Computing on the Web using the Globus Toolkit,

perfermance reciprocal is the trading parameter, which can

Proceedings of the 8th International Conference on High

not be changed. So there is only one trading round in the

Performance Computing and Networking Europe (HPCN Europe

market. After this round, the deal price is resetted up to

2000), Amsterdam, Netherlands, May 2000.

resource price, and the buyer should do the best to meet

[5]

the sellers’price demand based on his resource private

http://gridengine.sunsource.net/project/gridengine/gep/GEP_Intro

value. For the third case, the buyer try to find a balance

.html

between the resource price and performance. Also, the

[6]

Sun

IBM

Grid

WebSphere

Engine

Portal

Portal,

Family,

available

for

remain three lowest submit prices are transformed to

www.ibm.com/websphere/portalfamily

corresponding resource prices to make the payment. The

[7] Gridsphere portal, http://gridsphere.org/gridsphere/gridsphere

selected traders are sale1, sale3, and sale8.

[8] I. Foster, C. Kesselman, J. Nick, S. Tuecke, The Physiology of the Grid: An Open Grid Services Architecture for Distributed

7. Conclusions and Future Works

Systems Integration. Open Grid Service Infrastructure WG, Global

Grid enabled portals are becoming popular as a

Grid

Forum,

June

22,

2002.

available

from

http://www.globus.org/research/papers/ogsa.pdf

platform to provide site users with a single point of access

[9] FIPA: The Foundation for Intelligent Physical Agents,

to various Grid services and resources.

http://www.fipa.org

In this paper, we describes the PAGE system: an

[10] Thompson, C. Characterizing the Agent Grid, Technical

extension to the portal which integrates agent technologies.

Report,

The portlet message-driven design model is designed to

[http://www.objs.com/agility/tech-reports/9812-grid.html]

support the cooperation of portlets. We also show how

[11] Luc Moreau, etc, On the Use of Agents in a BioInformatics

PAGE can provide interoperability with outside agent

Grid, Third IEEE/ACM International Symposium on Cluster

communities.

Computing and the Grid (CCGRID 2003), pages

An

economic

scheduling

strategy

is

Object

Services

and

Consulting,

Inc.,

1998

653-668,

presented in PAGE and the initiative results are shown.

Tokyo, Japan, May 12-15, 2003. IEEE Computer Society.

Our future work maybe include:

[12] Junwei Cao, etc, Agent-Based Resource Management for

1. 2.

research about adaptive negotiation approaches

Grid Computing, Second IEEE/ACM International Symposium

among portlets [14];

on Cluster Computing and the Grid (CCGrid 2002), 22-24 May

workflow management using BPEL [15].

2002, Berlin, Germany, pages 350-351. [13] Java Agent DEvelopment Framework, http://jade.cselt.it/

Reference

[14] Shen, W., Li, Y., Ghenniwa, H. and Wang, C. Agent-Based Adaptive Negotiation for Computing Resource Management, in

[1] Foster and C. Kesselman (eds.), The Grid: Blueprint for a

Burg et al (Eds.) Agentcities: Challenges in Open Agent

New

Environments, Springer-Verlag, to appear in 2003.

Computing

Infrastructure,

Morgan

Kaufmann,

San

Fransisco, CA, 1999. [2]

Grid

[15] Business Process Execution Language for Web Services, Portal

Development

Kit,

http://doesciencegrid.org//projects/GPDK/ [3] M. Thomas, S. Mock, J. Boisseau, M. Dahan, K. Mueller, D. Sutton, The GridPort Toolkit Architecture for Building Grid

http://www-106.ibm.com/developerworks/webservices/library/ws -bpel/