Document Sample
Building-a-Grid-Portal-for-TeraGrids-Big-Red Powered By Docstoc
					 Building Grid Portals with
 OGCE: Big Red Portal and
Mehmet A. Nacar, Jong Youl Choi, Marlon
         Pierce, Geoffrey Fox
        Community Grids Lab
          Indiana University
This is a two-part talk on OGCE activities
   Part 1: using OGCE’s current grid portal release to build a basic
    gateway for IU’s BigRed
      Jong Youl Choi
      Zero to Done in 2 months. YMMV
   Part 2: simplifying the process for building portals like this using
    tag libraries.
      Mehmet A. Nacar
      Finishing up ~2 years of software development
Big Red supercomputer is part of TeraGrid at
 Indiana University
  2048 cluster nodes, 4 terabyte memory
For more information on Big Red, see the Monday

              Portlets for Big Red
 We have developed several portlets for Big Red based on
  the OGCE software
    Improved batch job submission for LoadLeveler (IU) and PBS
    MEME job submission
       Interactive and batch
       Includes both GridFTP and GRAM clients
       Job tracking.
    MOAB queue monitoring for both entire machine and the specific
    Access to existing IU resources like the IU Knowledge Base.
 These portlets also work with other TeraGrid resources.
    We tested across IU and NCSA resources.
              Meme Portlet

The MEME portlet uses OGCE portal libraries to
upload and download files, submit jobs, and monitor
their progress.                                       5
            Dashboard Portlet

The dashboard portlet allows users to track jobs on the
selected resource. The user can view either his own set
of jobs or get information on all submitted jobs.
OGCE IFrame Portlet can be used to
integrate external sites.
OGCE GPIR portlet can interoperate with
TeraGrid GPIR services.
Manage TeraGrid MyProxy credentials with
the OGCE ProxyManager portlets.
OGCE file management client portlets
interact with TeraGrid GridFTP servers.
In addition to MEME, general purpose batch and interactive job
submission to GRAM, WS-GRAM is supported.
                     Using TeraGrid
 Although utilizing Big Red, the portlets can be used with
  any other gateway in TeraGrid
 Certificate username and local system user names may be
    To avoid confusion, we submit a whoami command to retrieve
     correct username at first place.
    Aside: Why can’t we have just one user name for all TeraGrid
    You can--it’s your grid certificate DN:
      Works with GSI enabled ssh.
 Dashboard portlet facilitates this schema by using GRAM
                   Problems with
                 Portlet Development
 Grid portlets typically wrap each single Grid capability in a
  separate portlet
 Problem is that Grid portlets need to combine these operations
    Portlets are entire web applications, so we need a component model for
     portlets: reusable portlet parts
 JSF uses Inversion of Control pattern to implement its Model-
  View-Controller architecture
    Remove dependencies on the Servlet API.
    Backing beans are just beans, so can be reused more easily outside of
     web and portlet applications.
 JSF also provides an extensible framework (tag libraries)
 Apache JSF portlet bridge allows you to convert standalone
  JSF applications (development phase) into portlets
  (deployment phase).
                    Grid Tag Libraries
                   and Beans (GTLAB)
 GTLAB provides common components for building portlets
  using tags and reusable parts.
 The goal of GTLAB to simplify Grid portlet development
   Enable rapid development
 GTLAB capabilities include Grid operations with XML based
  tags within Java Server Faces (JSF) framework.
 Grid tag libraries are built using JSF custom component
  development techniques
 Grid tags are interfaces to backing Grid beans
   End users pass values to Grid beans by using tag attributes.
 We build on Java CoG 4’s abstraction layer.
 Each backing Grid bean has equal capability with a portlet
  application in case of Grid portlet approach.

                        GTLAB Example
 • Grid tags are associated with Grid services via Grid beans
     • Grid Beans wrap the Java COG Kit (version 4)
 • We show an example JSF page section below.
     • This allows you to develop new Grid portlets with no additional Java code.
    <o:submit id=”test” action=”next_page” />
   <o:myproxy id=”pr” hostname=”” port=”7512”
         lifetime=”2” username=“mnacar” password=”***” />
   <o:jobsubmit id=”task” hostname=””
         provider=”GT4” executable=”/bin/ls” stdout=”tmp/result
   stderr=”tmp/error” />
Grid Tags          Associated Grid Beans Features

<submit/>          ComponentBuilderBean   Creating components, job
                                          handlers, submitting jobs

<handler/>         MonitorBean            Handling monitoring page actions

<multitask/>       MultitaskBean          Constructing simple workflow

<dependency/>      MultitaskBean          Defining dependencies among sub
<myproxy/>         MyproxyBean            Retrieving myproxy credential

<fileoperation/>   FileOprationBean       Providing Gridftp operations

<jobsubmission/>   JobSubmitBean          Providing GRAM job submissions

<filetransfer/>    FileTransferBean       Providing Gridftp file transfer

                   ResourceBean           Describes common properties
                                          among all tags and beans. Passing
                                          values given by standard visual
                                          JSF components.
                       How to integrate GTLAB
Multi-staged task
                                                                                                     Multitask
                                                                                                      provides a
                                                                                                      simple Directed
                                                                                                      Acyclic Graph
    Task A
File Operation
                    depends         Task B
                                 File Transfer
                                                                                                     This example
                                                 depends       Task C
                                                                                                      demonstrates a
                                                           Job Submission                             composite Grid
                                                                                                      job using multi-
                                                                        depends        Task D         staged multitask
                                                                                    File Transfer
                                                                                                     GTLAB handles
                                                                                                      lifecycle of DAG
                                                                                  Output              within JSF
                    How to prepare
                   application pages
 Developers embed Grid tags snippet into JSF page
   These components are non-visual and are not displayed in
 Resource bean provides bridging with form inputs and GTLAB
   <h:outputText value="Taskname: "/>
       <h:inputText value="#{resource.taskname}" />
       <o:multitask id="multi" persistent="true" task
      name="#{resource.taskname}" />
 Dynamic values to Grid tag attributes are provided by Resource
 Only visual component is <o:submit/> tag that is associated
  with action method of GTLAB.
                 GTLAB Dashboard Portlet
<o:submit id=”track” action=”list_page” />
 <o:multitask id=”dashboard” taskname=”track” persistent=”true” >
    <o:myproxy id=”proxy” hostname=””        lifetime=”2”
              username=”#{resource.username}” password=”#{resource.password}” />

      <o:jobsubmit id=”jobA” hostname=””
             provider=”GT4” executable=”/bin/whoami”
             stderr=”tmp/error” />

     <o:jobsubmit id=”jobB” hostname=””
            provider=”GT4” executable=”/bin/showq”
            stdin=”tmp/result” stdout=”tmp/list”
            stderr=”tmp/error” />

       <o:dependency id=”depend” task=”jobB” dependsOn=”jobA” />
                   Tracking and
                  Managing Jobs
 GTLAB manages lifecycles of jobs and monitor their
 Grid operations are usually batch processes
   We provide callback mechanism to follow up the jobs
   GTLAB creates handlers for jobs and persistently stores them.
 GTLAB handlers manages the job events such as stop,
  cancel or resuming the running jobs.
 GTLAB provides archive for job metadata and allows
  managing the archive
   Handler tag helps to organize user’s job repository
   <o:handler id=”delete” action="#{monitor.delete}" >
      <f:param id="task" name="taskname“ value="#{task}"/>
          GTLAB Related Work
Grid Portlets 1.3 of GridSphere
  Now they are trying to decouple with GridSphere. It’s
   called Vine (Portlet Vine) as separate project
  Grid Portlets 1.3 provide API and UI tags to build Grid
RSF (Reasonable Server Faces)
  Derived from JSF, but it separates HTML pages and
   backing beans
  RSF provides non-visual components unlike JSF
  Beans can be contained by Spring like containers.
     Lifecycles of beans managed by Spring
OGCE portlets
  Packages Velocity, JSP and JSF portlets
  Provides portlet package for several Grid applications
   such as Globus, Condor, SRB and GPIR
             More Information
GTLAB version 1.0 Beta release available at
See link from main OGCE web site
Contact OGCE:
Contact me:
Contact Mehmet:
    Conclusion and Future Work
We have described a science gateway to IU’s
 Big Red supercomputer.
  Initial effort was to build the portal based on OGCE
Described the process for creating Grid portlets
 using GTLAB.
  We gained rapid development by using reusable
We are investigating abstracting our approach to
 support different workflow engines.
Investigate integrating AJAX with our session
 management and monitoring.
  Please come to the Web 2.0 BOF Tuesday evening.
This work is supported by the National
 Science Foundation’s Information
 Technology Research (NSF grant ITR-
 0428774, 0427264, 0426867 VLab) and
 Middleware Initiative (NSF Grant SCI
 0330613) programs.

Shared By:
Tags: Build, ing-a
Description: Building-a-Grid-Portal-for-TeraGrids-Big-Red