Title: A Highly Customizable Grid Application Portal Hosting Server
1A Highly Customizable Grid Application Portal
Hosting Server
- Toyotaro Suzumura (TITECH) Hidemoto
Nakada(AISTTITECH) Satoshi Matsuoka(TitechNII)
2Background Grid Portal
- Grid Portal is defined as a web based application
server enhanced with necessary software to
communicate with Grid services and resources - Becoming a popular interface to Grid resources
(e.g. NPACI HotPage) - Uses standard web browser to create a nice GUI
interface
3Grid Portal Construction Toolkit
- Facilitates the development of Grid application
portals, providing a basic set of services such
as single sign-on, information service, job
management, etc. - Existing efforts
- GridPort (NPACI)
- Grid Portal Development Kit (NLANR)
- XCAT Science Portal (Indiana Univ.)
- Ninf Portal (Titech)
4What do application portal developers need ?
- Do they need low-level enabling interfaces in the
shape of APIs or libraries, which allow them
build their desired Application portal server ? - In this case, they must at least code programs
and manage a web application server to keep
hosting it - Do we force a non-computer specialist (e.g.
biologist) to have some amount of knowledge about
web programming like Servlet/JSP ? - We believe that portal developers need an
integrated and complete Grid application portal
server that frees them from coding programs or
managing it not a collection of tools
5GridSpeed Overview
- An integrated and complete Grid application
portal hosting server that hides the complexity
of the underlying web environment allowing them
to focus on their application and getting their
work - an extension to our previous work, Ninf Portal
portaldevelopers
GridSpeedPortalServer
GridVirtual Organization
add-on his grid application portal on the fly
access his accessible application portal
portal user
6GridSpeed Benefits (1/2)
- Allows portal developers to define and build
their application portal on the fly in a
straightforward way - Shares generated application portals among other
portal users - could be restricted for private usage
- provides a set of basic functions for Grid
portals (job submission, file management,
resource monitoring, single sign-on, etc)
7GridSpeed Benefits (2/2)
- allows users to create their customized Grid
portal in the following three levels - Page Layouting
- by Portlet which enables a flexible and dynamic
layouting of one or more web applications - Application User Interface
- by automatically generating an application user
interface from user-defined XML coded descriptors - Application Logic
- by the dynamic application development framework
based on Ninf-G Jython scripting API
8GridSpeed Architecture
GridSpeed Portal Server
User
Virtual Org. A(Grid Layer)
DescriptorRepository(XML DB)
WebApplication Server
AccessController
MyProxyServer
application descriptor
resource descriptor
DescriptorGenerator
portal descriptor
ApplicationPortalGenerator
MyProxyServer
generate
JSP (Application Portal)
access
MyProxyServer
session
send data
binary
com.
Grid ApplicationLauncher
globus job
results
condor job
jython script
9Architecture Components (1/2)
- Web Application Server
- Apache 2.0.45 Tomcat 4.1.24
- Access Controller
- retrieves a proxy certificate from MyProxy and
checks its validity - stores a valid proxy into the session
- Portal Descriptors
- represents a user, resource, application, and
portal - XML document
- Descriptor Repository
- provides capabilities of searching, storing and
editing of all portal descriptors - based on an open-source XML database, Apache
Xindice 1.0
10Architecture Components (2/2)
- Application Portal Generator
- a key component which seamlessly generates a JSP
file from XML documents retrieved from Descriptor
Repository. - JSP (Application Portal)
- application portal itself which takes an input
parameter from a user, spawns off a Grid
Application Launcher, and shows the result. - Grid Application Launcher
- performs a job execution to the Grid layer
11Publishing Applications and Resources
- Three types of descriptors as XML Document
- Application Descriptor
- Resource Descriptor
- Portal Descriptor
- published to XML database (Apache Xindice)
DescriptorRepository(XML Database)
12Portal Descriptor Sample (1) - Application
Desriptor
- represents application metadata and interface
information - defined and published by application developers
ltApplication xmlns"http//grid.is.titech.ac.jp/gr
idspeed" xmlnsxsi"http//www.w3.org/2001/XMLSche
ma-instance" xsischemaLocation"http//grid.i
s.titech.ac.jp/gridspeed/schema/application.xsd"gt
ltInformationgt ltnamegt LS Portallt/namegt
ltmanufacturergt Titech lt/manufacturergt
ltdescriptiongt list directory contents
lt/descriptiongt ltresult type"interactive"
/gt lt/Informationgt
ltArgumentSet format"-l directory"gt
ltArgumentgt ltnamegt directory lt/namegt
lttypegt text lt/typegt ltmethodgt
string lt/methodgt lttitlegt Directory
lt/titlegt ltdescriptiongtdirectory
lt/descriptiongt lt/Argumentgt lt/ArgumentSetgt lt/A
pplicationgt
Argument Format
Each Argument Information
13Portal Descriptor Sample (2) - Resource
Desriptor
- represents where an application is located
physically - defined and published by resource providers who
installs specific application
14Portal Descriptor Sample (3) - Portal Desriptor
- binds one or more resource descriptors to one
application descriptors - It could be published just for himself for
private usage
lt?xml version"1.0"?gt ltportal xmlnsxlink"http//
www.w3.org/1999/xlink"gt ltstylesheet
xlinkhref"http//grid.is.titech.ac/styles/style.
css" /gt ltapplication xlinkhref"xmldbxindice/
//db/gridspeed/application/BLAST" /gt
ltresourceSet isScheduled"true"gt ltresource
xlinkhref"xmldbxindice///db/gridspeed/resource
/jipang.is.titech.ac.jp/jipang" /gt ltresource
xlinkhref"xmldbxindice///db/gridspeed/resource
/jipang.is.titech.ac.jp/jipang2" /gt
lt/resourceSetgt lt/portalgt
Resource A
Xindice ID
Application
Resource B
Resource C
15Gridfying your application on the fly- Dynamic
Application Development Framework
Application Code
Application Information
// Import libraries import sys from java.util
import Vector from java.lang import String,
Integerfrom org.apgrid.grpc.client import
GrpcClient, GrpcHandler, GrpcExecInfofrom jarray
import zeros.array // Initializes data
arraySize5input zeros(arraySize, d)
output zeros(arraySize, d)for I in range(0,
arraySize) inputI i x 1.1 // Initializes a
clientclient GrpcClient()client.activate()
// Initialize a handlerhandler
client.getHandler(test/pingpong)execInfo
handler.callWith(Integer(N), input, output)//
finalizehandler.destruct()client.deactivate()
16Future Work - Scalability Issue
- GridSpeed is a hosting server for enabling people
to develop or use a great number of published
application portals. So it surely brings so much
heavy traffics to the server where GridSpeed is
installed, because a user who can retrieve his
proxy certificate from MyProxy server, can freely
submit his jobs to allowed resources. - How can we deal with this problem ?
- Should we provide our own authorization mechanism
like Globus grid-mapfile to restrict their
activity ? - But just submitting job does not increase a
traffic. Uploading their input load and
downloading their result brings so much more
traffic. So one of the answers here is that we do
not permit this traffic In other words. users
always should specify data via remote FTP or
GridFTP or HTTP server. Or we address the problem
by introducing a quota mechanism so that users
can transfer some limited amount of data through
a Gridspeed server.
17References
- Most related papers
- ISCOPE/JavaGrande 2002Ninf Portal An Automatic
Generation Tool for Grid Portals - If you have any questions on GridSpeed, please
contact me at suzumura_at_is.titech.ac.jp