170 likes | 257 Views
A Highly Customizable Grid Application Portal Hosting Server. Toyotaro Suzumura (TITECH) Hidemoto Nakada(AIST&TITECH) Satoshi Matsuoka(Titech&NII). Background: Grid Portal.
E N D
A Highly Customizable Grid Application Portal Hosting Server Toyotaro Suzumura (TITECH) Hidemoto Nakada(AIST&TITECH) Satoshi Matsuoka(Titech&NII)
Background: 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 HotPage
Grid 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)
What 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
GridSpeed 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 add-on his grid application portal on the fly GridSpeedPortalServer GridVirtual Organization access his accessible application portal portal user
GridSpeed 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)
GridSpeed 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
Site A Application & Resource Provider Gaussian Site C Site B SDPA BLAST Portal Creator Portal User GridSpeed Architecture User GridSpeed Portal Server Virtual Org. A(Grid Layer) DescriptorRepository(XML DB) WebApplication Server AccessController MyProxyServer application descriptor DescriptorGenerator resource descriptor portal descriptor ApplicationPortalGenerator MyProxyServer generate JSP (Application Portal) access MyProxyServer session send data binary com. Grid ApplicationLauncher globus job results condor job jython script
Architecture 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
Architecture 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
Application Descriptor Resource Descriptor Application Provider Application &Resource Provider PortalCreator PortalDescriptor Publishing 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)
Portal Descriptor Sample (1) - Application Desriptor • represents application metadata and interface information • defined and published by application developers <Application xmlns="http://grid.is.titech.ac.jp/gridspeed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://grid.is.titech.ac.jp/gridspeed/schema/application.xsd"> <Information> <name> LS Portal</name> <manufacturer> Titech </manufacturer> <description> list directory contents </description> <result type="interactive" /> </Information> <ArgumentSet format="-l $directory"> <Argument> <name> directory </name> <type> text </type> <method> string </method> <title> Directory </title> <description>directory </description> </Argument> </ArgumentSet> </Application> Argument Format Each Argument Information
<?xml version="1.0"?> <resource xmlns:xlink="http://www.w3.org/1999/xlink" system="local"> <name> jipang-local </name> <contact> jipang.is.titech.ac.jp </contact> <path> /bin/ls </path> </resource> Portal Descriptor Sample (2) - Resource Desriptor • represents where an application is located physically • defined and published by resource providers who installs specific application
Portal 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 <?xml version="1.0"?> <portal xmlns:xlink="http://www.w3.org/1999/xlink"> <stylesheet xlink:href="http://grid.is.titech.ac/styles/style.css" /> <application xlink:href="xmldb:xindice:///db/gridspeed/application/BLAST" /> <resourceSet isScheduled="true"> <resource xlink:href="xmldb:xindice:///db/gridspeed/resource/jipang.is.titech.ac.jp/jipang" /> <resource xlink:href="xmldb:xindice:///db/gridspeed/resource/jipang.is.titech.ac.jp/jipang2" /> </resourceSet> </portal> Resource A Xindice ID Application Resource B Resource C
“Gridfying” 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 arraySize=5input = zeros(arraySize, ‘d’)output = zeros(arraySize, ‘d’)for I in range(0, arraySize) input[I] = 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()
Future 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.
References • Most related papers • ISCOPE/JavaGrande 2002“NinfPortal An Automatic Generation Tool for Grid Portals” • If you have any questions on GridSpeed, please contact me at suzumura@is.titech.ac.jp