25
Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Embed Size (px)

Citation preview

Page 1: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Building Grid Portals with OGCE: Big Red Portal and

GTLABMehmet A. Nacar, Jong Youl Choi, Marlon

Pierce, Geoffrey FoxCommunity Grids Lab

Indiana University

Page 2: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

IntroductionThis 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 tutorial.

2

Page 3: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

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

(NCSA). MEME job submission

Interactive and batch Includes both GridFTP and GRAM clients Job tracking.

MOAB queue monitoring for both entire machine and the specific user.

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.

Page 4: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University
Page 5: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Meme Portlet

5

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

Page 6: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Dashboard Portlet

6

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.

Page 7: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University
Page 8: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

OGCE IFrame Portlet can be used to integrate external sites.

Page 9: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

OGCE GPIR portlet can interoperate with TeraGrid GPIR services.

Page 10: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Manage TeraGrid MyProxy credentials with the OGCE ProxyManager portlets.

Page 11: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

OGCE file management client portlets interact with TeraGrid GridFTP servers.

Page 12: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

In addition to MEME, general purpose batch and interactive job submission to GRAM, WS-GRAM is supported.

Page 13: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Using TeraGrid Resources

Although utilizing Big Red, the portlets can be used with any other gateway in TeraGrid

Certificate username and local system user names may be different. 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

resources? GSI-enabled SSH users: see

http://communitygrids.blogspot.com/2007/06/teragrid-single-sign-on.html

Dashboard portlet facilitates this schema by using GRAM service.

13

Page 14: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

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).

Page 15: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

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.

15

Page 16: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

GTLAB Example

<html>

<body>

<f:form>

<o:submit id=”test” action=”next_page” />

<o:myproxy id=”pr” hostname=”gf1.ucs.indiana.edu” port=”7512” lifetime=”2” username=“mnacar” password=”***” />

<o:jobsubmit id=”task” hostname=”cobalt.ncsa.teragrid.org” provider=”GT4” executable=”/bin/ls” stdout=”tmp/result stderr=”tmp/error” />

</o:submit>

</f:form>

</body>

</html> 16

• 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.

Page 17: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

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 jobs

<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.

Page 18: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

How to integrate GTLAB

depends

depends

Input

Multi -staged task

Task DFile Transfer

Task AFile Operation

(mkdir )

Task BFile Transfer

Task CJob Submission

Output

depends

18

Multitask provides a simple Directed Acyclic Graph (DAG)

This example demonstrates a composite Grid job using multi-staged multitask

GTLAB handles lifecycle of DAG within JSF application

Page 19: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

How to prepare application pages

Developers embed Grid tags snippet into JSF page These components are non-visual and are not displayed in

HTML. Resource bean provides bridging with form inputs and GTLAB

framework. <h:outputText value="Taskname: "/>

   <h:inputText value="#{resource.taskname}" />   <o:multitask id="multi" persistent="true" taskname="#{resource.taskname}" />

Dynamic values to Grid tag attributes are provided by Resource bean.

Only visual component is <o:submit/> tag that is associated with action method of GTLAB.

19

Page 20: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

GTLAB Dashboard PortletExample

<o:submit id=”track” action=”list_page” /> <o:multitask id=”dashboard” taskname=”track” persistent=”true” >

<o:myproxy id=”proxy” hostname=”gf1.ucs.indiana.edu” lifetime=”2” username=”#{resource.username}” password=”#{resource.password}” /> <o:jobsubmit id=”jobA” hostname=”cobalt.ncsa.teragrid.org” provider=”GT4” executable=”/bin/whoami” stdout=”tmp/result” stderr=”tmp/error” />  <o:jobsubmit id=”jobB” hostname=”cobalt.ncsa.teragrid.org” provider=”GT4” executable=”/bin/showq” stdin=”tmp/result” stdout=”tmp/list” stderr=”tmp/error” />  <o:dependency id=”depend” task=”jobB” dependsOn=”jobA” /> </o:multitask></o:submit>

20

Page 21: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Tracking and Managing Jobs

GTLAB manages lifecycles of jobs and monitor their status.

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}"/> </o:handler>

21

Page 22: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

GTLAB Related WorkGrid 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 portlets

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 SpringOGCE portlets

Packages Velocity, JSP and JSF portlets Provides portlet package for several Grid applications

such as Globus, Condor, SRB and GPIR

Page 24: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Conclusion and Future WorkWe have described a science gateway to IU’s

Big Red supercomputer. Initial effort was to build the portal based on OGCE

portletsDescribed the process for creating Grid portlets

using GTLAB. We gained rapid development by using reusable

componentsWe 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.

24

Page 25: Building Grid Portals with OGCE: Big Red Portal and GTLAB Mehmet A. Nacar, Jong Youl Choi, Marlon Pierce, Geoffrey Fox Community Grids Lab Indiana University

Acknowledgments

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.