PAGE: A Problem Solving Environment Integrating Grid Portal and Agent System ..... Agent. Price. Profit CPU Speed Memory Quantity Makeup. Buyer. ï¼. ï¼ï¼ï¼.
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/