GridSphere’s Grid Portlets A Grid Portal Development Framework

advertisement
GridSphere’s Grid Portlets
A Grid Portal Development Framework
Jason Novotny
Lawrence Berkeley National Laboratory
Jason Novotny, Michael Russell, Oliver Wehrens
The GridSphere Project
www.gridsphere.org
Michael Russell <michael.russell@aei.mpg.de>
2004
1
The Purpose Of This Talk
The purpose of this talk is to provide a brief overview
of the Grid Portlets web application.
We will describe the basic ideas behind Grid Portlets,
what functionality it currently provides and
development plans
Michael Russell <michael.russell@aei.mpg.de>
2004
2
GridSphere’s Grid Portlets
The GridSphere portlet container is designed to be
web application independent. Indeed, one of the key
advantages of the Portlet API is the reuse of web
applications.
Thus, the GridSphere portlet container does not
contain any support for using Grid technologies.
Instead, GridSphere’s Grid related functionality is
contained in a web application we call Grid Portlets.
Grid Portlets, together with the GridSphere portlet
container, offers a generic Grid portal and can be
used to develop application-specific Grid portal
applications.
Michael Russell <michael.russell@aei.mpg.de>
2004
3
The GridLab Project
Funded by the EU (5+ M€), January 2002 – December 2004
Application and Testbed oriented
Cactus Code, Triana Workflow, all the other applications that want to be Gridenabled
Main goal: to develop a Grid Application Toolkit (GAT) and set of grid
services and tools...:
resource management (GRMS),
data management,
monitoring,
adaptive components,
mobile user support,
security services,
portals,
... and test them on a real testbed with real applications
Michael Russell <michael.russell@aei.mpg.de>
2004
4
GridLab Is An Architecture
Michael Russell <michael.russell@aei.mpg.de>
2004
5
And A Global Effort












PSNC (Poznan) - coordination
AEI (Potsdam)
ZIB (Berlin)
Univ. of Lecce
Cardiff University
Vrije Univ. (Amsterdam)
SZTAKI (Budapest)
Masaryk Univ. (Brno)
NTUA (Athens)
Sun Microsystems
Compaq (HP)
ANL (Chicago, I. Foster)
ISI (LA, C.Kesselman)
UoWisconsin (M. Livny)
Michael Russell <michael.russell@aei.mpg.de>
collaborating with:
Users!
EU Astrophysics Network,
DFN TiKSL/GriKSL
NSF ASC Project
other Grid projects
Globus, Condor,
GrADS,
PROGRESS,
GriPhyn/iVDGL,
Most of the other
European Grid Projects
(GRIDSTART)
GWEN
2004
6
GridLab Testbed Snapshot
Michael Russell <michael.russell@aei.mpg.de>
2004
7
GridLab Goals
Get Computational Scientists using the “Grid” and
Grid services for real, everyday, production work (AEI
Relativists, EU Network, Grav Wave Data Analysis,
Cactus User Community), all the other potential grid
apps
Make it easier for applications to make flexible,
efficient, robust, use of the resources available to
their virtual organizations
Dream up, prototype, and test new application
scenarios which make adaptive, dynamic, wild, and
futuristic uses of resources.
Michael Russell <michael.russell@aei.mpg.de>
2004
8
What Do Our Users Need?
Application oriented environment
Flexible, easy-to-use, simple interfaces
Efficient and effective use of resources
Robustness, fail-safety, adapability
The ability to work in distributed teams
Support for mobile working environments
Michael Russell <michael.russell@aei.mpg.de>
2004
9
What Do Our Users Want?
Larger computational resources
Memory/CPU
Faster throughput
Cleverer scheduling, configurable scheduling, co-scheduling, exploitation of unused cycles
Easier use of resources
Portals, grid application frameworks, information services, mobile devices
Remote interaction with simulations and data
Notification, steering, visualization, data management
Collaborative tools
Notification, visualization, video conferencing, portals
Dynamic applications, New scenarios
Grid application frameworks connecting to services
Michael Russell <michael.russell@aei.mpg.de>
2004
10
Many Application Scenarios!
Dynamic Staging
Dynamic Load Balancing
move to faster/cheaper/bigger machine
inhomogeneous loads
multiple grids
Multiple Universe
create clone to investigate steered parameter
Portal
Automatic Convergence Testing
User/virtual organisation interface to the grid.
from initial data or initiated during simulation
Intelligent Parameter Surveys
Look Ahead
farm out to different machines
spawn off and run coarser resolution to predict
likely future
Make use of
Spawn Independent/Asynchronous Tasks
Running with management tools such as Condor,
Entropia, etc.
Scripting thorns (management, launching new
jobs, etc)
Dynamic use of eg MDS for finding available
resources
send to cheaper machine, main simulation
carries on
Application Profiling
best machine/queue
choose resolution parameters based on
queue
Michael Russell <michael.russell@aei.mpg.de>
2004
11
Where Grid Portals Fit In
GridLab needs an effective way to deliver its tools
and services to its target users.
We want to avoid having to develop new client-side
technologies and methods for deploying them.
Given the ubiquitous Web browser and the evolution
of Grid standards and technologies, a Grid portal
provides an obvious solution to this problem.
Michael Russell <michael.russell@aei.mpg.de>
2004
12
Developing Grid Portals
Grid web application development still remains a tedious
task with little in the way of reusable components, forcing
developers to constantly “re-invent” the wheel.
Often difficult and hard to maintain glue code must be
written connecting the portal to Grid services, due to lack
of/evolving standards.
Lack of real usability has made it difficult to test and
evaluate user interfaces.
A portal is only as good as the underlying deployed
infrastructure…. portal development often involves
debugging underlying middleware
Michael Russell <michael.russell@aei.mpg.de>
2004
13
What is a Grid Portal?
“A portal is a web based
application that commonly
provides personalization, single
sign on, content aggregation from
different sources and hosts the
presentation layer of Information
Systems”(JSR 168)
Grid Portals build upon the familiar
Web portal model, such as Yahoo
or Amazon, to deliver the benefits
of Grid computing to virtual
communities of users, providing a
single access point to Grid
services and resources.
Michael Russell <michael.russell@aei.mpg.de>
2004
14
Early Grid Portal Projects
Grid-Port:
Perl based framework developed by Mary Thomas and Steve
Mock at San-Diego Supercomputing Center (SDSC)
Grid Portal Development Toolkit (GPDK):
Developed by Jason Novotny at Lawrence Berkeley National
Laboratories (LBNL)
Astrophysics Simulation Collaboratory (ASC):
Developed by Michael Russell at University of Chicago
Michael Russell <michael.russell@aei.mpg.de>
2004
15
Grid Portals Work Package
Within the GridLab Project, the Grid Portals Work
Package (WP4) is responsible for developing a Grid
portal for the GridLab Project.
The GridSphere Project was created by WP4 as it
saw a need in the general community for a Grid portal
framework.
WP4 is both developing and deploying GridSphere to
serve target user communities in the GridLab Virtual
Organization.
Michael Russell <michael.russell@aei.mpg.de>
2004
16
GridSphere 2.0
Michael Russell <michael.russell@aei.mpg.de>
2004
17
Personalized Environment
Michael Russell <michael.russell@aei.mpg.de>
2004
18
Single Sign-On Capabilities
Michael Russell <michael.russell@aei.mpg.de>
2004
19
Submit Jobs
Michael Russell <michael.russell@aei.mpg.de>
2004
20
Perform File Transfers
Michael Russell <michael.russell@aei.mpg.de>
2004
21
Manage Resources
Michael Russell <michael.russell@aei.mpg.de>
2004
22
Grid Portal Design Requirements
We require a portal that is generic and not tied to any
particular set of Grid technologies. The GridLab
Testbed, for example, is Globus 2.X based although
integartion with OGSA well under way
Develop a set of portlets and portlet services that
provide a higher level model of Grid concepts.The
Grid portlet services should provide a generic API to
which the Grid portlets are written.
Michael Russell <michael.russell@aei.mpg.de>
2004
23
Grid Portlets API
Our Grid Portlets API attempts to provide a high-level
model of Grid concepts that
Abstracts the developer from particular Grid technologies and
infrastructure.
Is extensible, can build upon its concepts to provide more
complex services, resources and tasks.
Supports multiple implementations of the API.
Configurable at run-time via administrative interfaces
The Grid Portlets API builds from basic concepts to
more advanced ones…
Michael Russell <michael.russell@aei.mpg.de>
2004
24
Basic Concepts
Users
Users should get a personalized a view of the Grid based upon
their access rights to resources and their preferences.
Credentials
Credentials are required to authenticate users to resources and
authorize their rights to utilize them.
Resources
Resources are anything that can be “utilized” (by users, portlet
services and other resources).
Tasks
Many operations are quite naturally modeled as tasks. Workflow
is not provided yet, but is desired in future releases.
Michael Russell <michael.russell@aei.mpg.de>
2004
25
More Advanced Concepts
Jobs
Job submission to LSF, PBS, etc…
Job migration from one resource to another
Files & Related Tasks
Physical file browsing (list, transfer, etc.)
Logical and replica file browsing
Information Resources
LDAP/MDS information providers
Web service based providers
Other types…
Michael Russell <michael.russell@aei.mpg.de>
2004
26
Simple Resource Diagram
Michael Russell <michael.russell@aei.mpg.de>
2004
27
Hardware Resource Model
Hardware resources are
utilized for performing
computations, storing
files, etc….
Hardware resources
contain…
Service resources (such as a
Grid FTP resource)
Software resources (such as
Globus client tools)
Hardware accounts (allowing
people to login and perform
operations in a shell).
Michael Russell <michael.russell@aei.mpg.de>
2004
28
Job Resource Model
Job resources (such as
Globus Gatekeepers) are
service resources that
enable the remote clients
to submit jobs on
computing resources.
Job resources provide
access to job schedulers
(such as PBS).
Job schedulers contain
queues with different
resource capabilities and
usage policies.
Michael Russell <michael.russell@aei.mpg.de>
2004
29
Some Job Resources
In Grid Portlets, we’ve modeled
two types of service resources
as job resources, both of which
have different capabilities for
supporting job submission.
GTX Gatekeepers provide the
ability to submit jobs directly to
job managers running on
hardware resources using the
GRAM protocol.
GridLab Resource Manager
Services (GRMS)s are web
services that provide resource
brokering capabilities and
support job submission with
GRAM as well as Condor.
Michael Russell <michael.russell@aei.mpg.de>
2004
30
Simple Task Diagram
Michael Russell <michael.russell@aei.mpg.de>
2004
31
How Portlets Are Developed
In Grid Portlets, the
presentation layer is
made up of portlets which
contain reusable UI
components.
The business logic layer
is implemented as a
collection of portlet
services which provide
some high-level
capabilities and make use
of external resources.
Michael Russell <michael.russell@aei.mpg.de>
2004
32
Job Submission Portlet
For example, the job
submission portlet uses a
number of UI
components, including file
browser components (i.e.
for specifying locations of
an executable).
These JSP components
utilize a number of portlet
services which provide
access to job resources,
file resources and so on…
Michael Russell <michael.russell@aei.mpg.de>
2004
33
Current Status
Grid Portlets is still in prototype development mode.
Most of what is their works, but API is still evolving.
Documentation is still poor… Mike promises to
improve it
Source code is available via anonymous CVS.
Will move towards a regular development and release
cycle in the coming months.
Mike in Brazil ;-) but plans on continuing to enhance
grid portlets
Michael Russell <michael.russell@aei.mpg.de>
2004
34
Current Functionality
Credential Retrieval & Management
Support for retrieval & storing with MyProxy
Resource Registry & Management
Resources can be described in XML and online
Resource Information Provider
Resource discovery and update with MDS2
Job Submission & Migration
GRAM job submission with Java CoG 1.1
GRMS 1.9 job submission and migration
File Browsing & Transferring
Support for GridFTP with Java CoG 1.1
Michael Russell <michael.russell@aei.mpg.de>
2004
35
What’s Next?
Enhancements to UI component model… These
enhancements may be incorporated into GridSphere
portlet container, but we are still reviewing JSF.
Many enhancements planned to existing portlets,
including better integration among portlets and reuse
of UI components.
Progress already underway to make JSR 168
compliant
Please submit feature requests and additions to
bugtracker and mail list
Michael Russell <michael.russell@aei.mpg.de>
2004
36
Planned Development
Support for logical files & replica management
Support for GridLab Data Management Services
Support for Globus Replica Catalogue
Enhancements to information gathering
Portlets for managing use of information providers
More resource information providers
Support for GridLab Adaptive Information Service
Support for Network Weather Service
Michael Russell <michael.russell@aei.mpg.de>
2004
37
How To Obtain Grid Portlets
Grid Portlets can be obtained from CVS….
cvs -d
:pserver:anonymous@portal.aei.mpg.de:/home/repository
co gridportlets
Required Software:
GridSphere 2.0.2 or higher.
Tomcat 4.1.29 or higher (Tomcat 5.X supported)
OGSA 3.0.2 (Plan to move OGSA 3.2)
MyProxy
Michael Russell <michael.russell@aei.mpg.de>
2004
38
Configuring Grid Portlets
Configuration amounts to specifying what resources
Grid Portlets makes available to users.
The first thing you should do is specify what MyProxy
resource your portal will use for retrieving / storing
Grid credentials.
If want to use our MDS2 information provider, then
you should specify what GIIS resource you want to
use.
Otherwise, you should make sure to specify the
hardware and service resources that make up your
Grid…
Michael Russell <michael.russell@aei.mpg.de>
2004
39
How To Specify Resources
There are 2 ways to add resources to Grid Portlets
1
2
Online with the Resource Registry Portlet
Offline with Resources.xml
Michael Russell <michael.russell@aei.mpg.de>
2004
40
How To Get Involved
Join one of gridsphere mail lists. Ask questions,
provide feedback / comments.
Submit bugs and feature requests to
http://bugs.gridsphere.org.
Because we are a small group, getting involved as a
developer means demonstrating some knowledge /
commitment to the project. Best way is to email ideas
/ patches to the list. If you’re loud enough, we’ll
probably give you commit access and a few tasks!
Michael Russell <michael.russell@aei.mpg.de>
2004
41
Projects Using Grid Portlets
AEI Numerical Relativity Portal
CCT Numerical Relativity Portal
NRC Portal
Unversity of Melborne, Australia
SDSC…
Michael Russell <michael.russell@aei.mpg.de>
2004
42
Conclusion
Grid Portlets contains the Grid functionality in the
GridSphere Project. It provides a framework for
developing Grid portals.
It is still in prototype development mode, but we are
already using it in the GridLab Project and in several
other projects with which we are affiliated.
We will make announcements on our website at
www.gridsphere.org as the status of Grid Portlets
changes.
Feel free to try it out and send us comments.
Michael Russell <michael.russell@aei.mpg.de>
2004
43
Download