Transcript Grappa

Grappa
Grid Access Portal for Physics Applications
CHEP 2003
UCSD
March 24-28,2003
Daniel Engh (UC), Shava Smallen (IU),
Liang Fang (IU), Jerry Gieraltowski (ANL),
Rob Gardner (UC), Dennis Gannon (IU),
Randy Bramley (IU)
Grappa: A Web Portal
Browser
The Grappa portal is a
web portal designed to
provide to the user an
interface that
coordinates and
integrates the use of a
diverse set of web and
grid services
Command line
Grappa Portal
The “Grid”
GRAM Services
-compute sites
Web Services
GridFTP Services
-Athena Libraries
-packaged physics
apps
-data storage
-Magda
Catalogue
-Ganglia Monitor
-ATLAS web
services
Replica Locator
Service
Grappa History
• First Design proposals (2001)
• Implementation in XCAT Science Portal
(2002)
• Demos for ATLAS (2002)
– To U.S. ATLAS grid testbed sites
– To joint iVDGL/DataTAG WorldGrid testbed
• IST/SC 2002 demos (Nov 02)
• Jetspeed implementation (Mar 03)
Grappa Component Layers
•
•
•
•
user Xbook (notebook scripts)
– scripts customized for the user
(as simple or complex as
desired)
– conform to the xbooks API
– Athena xbook customized for
ATLAS job submission
– Many scripting languages
supported (Jython, Python,
Perl…)
Xbooks server
– A Jetspeed portlet
– manages requests from user
xbook
Jetspeed: Apache-Jakarta web
portlet framework
Tomcat server: provides the web
server
Browser
Command line
user Xbook
Portlets (incl. Xbooks Server)
Jetspeed
Tomcat Server
Grid Services
Athena Xbook
• HTML form interface
– Organizes input parameter
selection
– Menu selection of grid
services
• Jython scripts
– Python syntax
– Java toolkits
– Java CoG
• Implementation of Globus
Client tools
– XCAT technology available
• Toolkit to componentize
applications
• Implementation of DOECCA spec. as web services
• Currently not used (current
demo has only 1 element)
• Athena Xbook customized:
– Treat Athena (ATLAS) as
an external app (don’t
integrate it into portal)
– Prestage xbook/ CoG/
Athena libraries, input data
– Submit jobs via GRAM
– Transfer results to storage
site
– Monitor/cancel/resubmit
jobs.
• Submission parameters
managed by xbooks
manager
• GRAM IDs managed by
Athena xbook
Xbooks Architecture
• The user’s xbook
(notebook scripts)
interacts with the
xbooks server layer
– Contacts xbooks server,
registry, and manager
– Creates an instance of
the user’s xbook.
• See refs for xbook API
Xbooks Manager
• The xbook manager
dispatches requests
– finds the proper script
engine
– Launches script engine
• (e.g. JythonEngine)
– Records submission
parameters in xbook
repository
– Generates application
instance
• (e.g. job submission
requests)
Design Factors: Jetspeed
• Apache-Jakarta Jetspeed framework
– Open Source
– A large mainstream effort
• Hundreds of developers
• Solid support community for portlets
– Portlets
•
•
•
•
•
componentize the portal
interchangeable among projects
Proxy Manager could be same for LCG, Chem portals, etc.
GridFTP portlet
Xbooks server is a portlet, easily integrates user scripting with wide
availability of portlets
– World moving in direction of Grid/Web services
• We want to come along
• Don’t want to develop everything ourselves
• See refs for Jetspeed API
Design Factors: Java
• Jython chosen as the demo Athena xbook scripting
language
– Java toolkits provide lots of stuff
– Java CoG provides a java implementation of Globus client
tools within the xbook.
– Globus 3.0 & OGSA moves further in the java direction
– Java CoG part of Globus 3.0
• Python could be used as well.
– pyGlobus CoG available--provides interface to a local
installation of Globus.
– Swig to integrate C/C++ toolkits
– Python CoG also to be part of Globus 3.0..
Design Factors: Portals
• Portals vs. GUIs
– Not interchangeable approaches
– A portal can have an integrating function
• Integrate vs. Interface
– Functionality built into portal?
– Interface with functionality found external to portal (e.g. in web
services)?
– Integrate the use of interfaces (integrate the service clients)?
– Today, many believe a philosophy of distributing functionality as
grid components and services to achieve greater:
• Portability
• Scalability
• Reliability
– No single answer. Need to decide for your app what needs to be
integrated into your portal or notebook (xbook) and what needs to
be interfaced.
– Portal framework not the framework for all your components.
Status and Future
• Grappa Status
– Several demos to date
– Basic job submission and monitoring
– Now based on standard Jetspeed framework
• (XCATSP-use discontinued)
• Large jetspeed community
• Moving in direction of Grid Components
• Grappa Future
– Parameter tracking and workflow generation
• Chimera Virtual Data System
– Portlet development and integration
– Develop/wrap/access Physics-apps as Grid Components &
Services
– Interaction with other portal projects (eg. Ganga)
References
•
•
•
•
•
•
•
•
•
•
•
•
•
Grappa: grid.uchicago.edu/grappa/
GriPhyN: www.griphyn.org
Python CoG: www.itg.lbl.gov/gtg/projects/pyGlobus/
Jakarta Jetspeed: jakarta.apache.org/jetspeed
Xportlets webpage: www.extreme.indiana.edu/xportlets/project/index.shtml
ATLAS webpage: atlasexperiment.org
Java CoG: Gregor von Laszewski, Ian Foster, and Jarek Gawor. CoG Kits: A Bridge Between
Commodity Distributed Computing and High-Performance Grids. In ACM 2002 Java Grande
Conference, June 2000. pp3,22.
Jython: www.jython.org
XCATSP: Sriram Krishnan, Randall Bramley, Dennis Gannon, Madhusudhan Govindaraju,
Rahul Indurkar, Aleksander Slominski, Benjamin Temko, Jay Alameda, Richard Alkire,
Timothy Drews, and Eric Webb. The XCAT Science Portal. Proceedings of Supercomputing
2001. p4.
XCAT 2.0: Design and Implementation of Component based Web Services. Technical
Report 562, Indiana University Computer Science Department, June 2002. p22.
Chimera-VDS: Ian Foster, Jens Voekler, Michael Wilde, and Yong Zhao. Chimera: A Virtual
Data System for Representing, Querying, and Automating Data Derivation. 14th
International Conference on Scientific and Statistical Database Management, 2002. p22.
www-unix.griphyn.org/chimera/
XBOOKS: www.extreme.indiana.edu/xbooks
Extreme! Computing Lab www.extreme.indiana.edu
Glossary
• Component: A small binary object or program that performs a
specific function. The component is designed to easily operate
with other components and applications.
• DOE-CCA: DOE Common Component Architecture, a
specification for designing components.
• Chimera-VDS: Virtual Data System developed under GriPhyN,
at U.Chicago. A system for tracking file, parameter, and
executable dependencies used to construct workflows.
• CoG: Commodity Grid, user interfaces to Globus
– Java CoG, a java implementation of globus client tools
– Python (pyGlobus), interface to local globus tools
• Grappa: Grid Access Portal for Physics Applications, an
integration of scripting notebooks (or “xbooks”), an Xbooks
server portlet, Jetspeed, and Tomcat.
• GriPhyN: Grid Physics Network
Glossary
• Jetspeed: Apache portlet framework for designing web services
as interoperable components of a common framework
• Jython: Java+Python scripting language. Uses python syntax,
interprets python and java code
• Tomcat: Web Server
• OGSA: Open Grid Services Architecture (GLOBUS)
• Portal or Web Portal: a web site that provides services.
• Portlet: Similar to a Portal but reduced in scope and composed
as a web service component to interoperate with other portlets.
• RLS: Replica Locator Service (GLOBUS)
• SOAP: Simple Object Access Protocol, XML-based messaging
protocol used to encode the information in Web service request
and response messages before sending them over a network.
Glossary
• Xbooks: Jetspeed Portlet for managing user scripts (notebooks)
• XCAT: Ind.Univ. Extreme! Computing Lab’s Implementation of
CCA as web services
• XSOAP: I.U.E!C.L. Implementation of SOAP for XCAT
• XCATSP: I.U.E!C.L. Portal framework for XCAT (now replaced
with Jetspeed)
• Xportlets: I.U.E!.C.L. Jetspeed portlets.
• Workflow: Series of tasks needed to produce a result, this may
involve tracking software component dependencies, analysis
parameters, etc. See Chimera-VDS toolkit.
Appendix: Screenshots
• Screenshots of grappa portal showing:
–
–
–
–
Web access
Proxy management
GridFTP browsing
Xbooks pages
• Job submission
• Job monitoring
– Some more Portlets
– Adding portlets to portal.