Post Job Free

Resume

Sign in

Manager Project

Location:
Bloomington, IN
Posted:
February 11, 2013

Contact this candidate

Resume:

The XCAT Science Portal

Sriram Krishnan Randall Bramley Dennis Gannon

Rachana Ananthakrishnan Madhusudhan Govindaraju

Aleksander Slominski Yogesh Simmhan Jay Alameda

Richard Alkire Timothy Drews Eric Webb

Department of Computer Science, Indiana University, Bloomington, IN 47404, USA

Tel: 812-***-****, Fax: 812-***-****, abqq4k@r.postjobfree.com

National Center for Supercomputing Applications, Champaign, IL 61820, USA

Tel: 217-***-****, Fax: 217-***-****, abqq4k@r.postjobfree.com

Department of Chemical Engineering, University of Illinois, Urbana, IL 61801, USA

Tel: 217-***-****, Fax: 217-***-****, abqq4k@r.postjobfree.com

Abstract

This paper describes the design and prototype implementation of the XCAT Grid Science Por-

tal. The portal lets grid application programmers script complex distributed computations and

package these applications with simple interfaces for others to use. Each application is pack-

aged as a notebook which consists of web pages and editable parameterized scripts. The portal

is a workstation-based specialized personal web server, capable of executing the application

scripts and launching remote grid applications for the user. The portal server can receive

event streams published by the application and grid resource information published by Net-

work Weather Service (NWS) [35] or Autopilot [16] sensors. Notebooks can be published and

stored in web based archives for others to retrieve and modify. The XCAT Grid Science Portal

has been tested with various applications, including the distributed simulation of chemical pro-

cesses in semiconductor manufacturing and collaboratory support for X-ray crystallographers.

2

1 Introduction

The concept of a Science Portal was rst introduced by the National Computational Science Al-

liance (NCSA) as part of a project designed to provide computational biologists with access to

advanced tools and databases that could be shared by a community of users via web technology.

A Science Portal can be broadly de ned as an application speci c environment for using and pro-

gramming complex tasks involving remote resources. Over the past year the Science Portal concept

has been heavily in uenced by the emergence of the Grid [13] as a computational platform.

A Grid is a set of distributed services and protocols that have been deployed across a large set of re-

sources. These services include authentication, authorization, security, namespaces and le/object

management, events, resource co-scheduling, user services, network quality of service, and infor-

mation/directory services. Together these services enable applications to access and manage the

remote resources and computations. Web-based Grid Portals provide mechanisms to launch and

manage jobs on the grid, via the web. Grid Science Portals are problem solving environments that

allow scientists the ability to program, access and execute distributed applications using grid re-

sources which are launched and managed by a conventional Web browser and other desktop tools.

In such portals, scienti c domain knowledge and tools are presented to the user in terms of the

application science, and not in terms of complex distributed computing protocols. The system ef-

fectively makes the grid into a vast and powerful computation engine that seamlessly extends the

user s desktop to remote resources like compute servers, data sources and on-line instruments.

3

This paper describes the XCAT Science Portal (XCAT-SP) which is an implementation of the

NCSA Grid Science Portal concept. XCAT-SP is based on the idea of an active document which

can be thought of as a notebook containing pages of text and graphics describing the science

of a particular computational application and pages of parameterized, executable scripts. These

scripts launch and manage the computation on the grid, and results are dynamically added to the

document in the form of data or links to output results and event traces.

XCAT-SP is a tool which allows the user to read, edit, and execute these notebook documents. The

goal of this research and the focus of this paper is to address the following set of questions.

How well does the active document model work for real scienti c applications?

How does one use scripts to steer computations from the portal?

What is a simple and ef cient mechanism to store and retrieve data speci c to each applica-

tion?

How should the portal be designed to interact with an event system to receive feedback from

the remotely executing applications?

How can a portal use a grid monitoring system to provide resource utilization information

about its environment?

2 Existing Grid Portals

The area of Grid Portal design is now an extremely active and important part of the emerging Grid

research agenda. The existing projects can be grouped into three categories :

4

User Portals for simple job submission and tracking, le management and resource selection

Portal Construction Kits, that provide the APIs necessary for a portal to communicate with

Grid services

Science Portals, as de ned earlier

In the user portal category, the NPACI Hot Page [31] is the rst and most successful system. Other

user portal projects are the European project Unicore [5], Nimrod-G from Australia [12], and the

IPG Launch Pad, which is the user portal for NASA s Information Power Grid [7] .

At least three projects provide portal construction toolkits. The Argonne Commodity Grid (CoG) [20]

toolkit is a Java interface for Globus. GPDK from Lawrence Berkeley Labs [9] is a JSP API for

CoG, and JiPANG from Tokyo Institute of Technology [28], uses Sun Microsystem s Jini [26] to

provide an interface to both CoG and networked solvers like Ninf [29] and Netsolve [8].

Science Portals have a variety of forms. Some are designed around relatively speci c application

domains. For example, the Cactus Portal [19] from the Albert Einstein Institute was originally de-

signed for black hole simulations and the ECCE/ELN [30] project from ORNL, LBNL and PNNL

is for Computational Chemical Engineering. The Lattice Portal [23] from Jefferson Labs is a user

portal for high-energy physics. One category of science portals directly addresses the problem of

building multidisciplinary applications. The Gateway project [6] and the Mississippi project [34]

use CORBA [15] and Enterprise Java Beans (EJB) [27] to build a three-tier architecture for launch-

ing and scheduling multiple applications. These two projects also use scripting to orchestrate large,

complex application scenarios. Another CORBA-based project is the Rutgers Discover portal [11]

5

which also provides a good interface for computational steering and collaborations.

3 The XCAT Science Portal

A prototype science portal that tests some of the features described above has been developed at

Indiana University with the help of the Chemical Engineering Team from NCSA. The portal dif-

fers in its architecture from the examples described above because it does not use a centralized web

server on a remote machine. Instead the portal software that runs on each user s desktop/laptop

has a built-in server. The reason for this is that the XCAT Science Portal is designed to integrate

the user s desktop environment with the remote grid resources. If the portal resides elsewhere, the

only tools the user can use to interact with the Grid is a Web browser or other HTTP clients. In

our model, the portal server provides a single, local gateway between the Grid Services and local

applications. A local web browser can still interact with it through HTTP, but other applications

may possibly communicate with it via local protocols and services, such as COM [25], .NET [24]

and Bonobo/Gnome [1].

As illustrated in Figure 1, the major components of the portal server include:

A Java-based server engine, which spawns off a set of Java Servlets that manage access to

the other components. The current version runs on Jakarta Tomcat 4.0, and is deployable as

a Web Archive (WAR) le, and works on various avors of Windows and Unix.

A notebook database. A notebook is an active document de ned by an XML object that

describes a set of resources used in a computational application. It consists of documents,

6

web pages, execution scripts, and other notebooks.

A Script Engine that is used to execute complex Grid operations. The scripting is currently

in Jython, a pure Java implementation of the Python scripting language which has become

popular with many computational scientists. We provide Jython-based interfaces to the Ar-

gonne CoG toolkit, which in turn, provides access to Globus functionality and the GSI [21]

Grid authentication mechanisms. It also has an API that allows easy access to the DOE

Common Component Architecture (CCA) services [22].

An Event Subsystem that is capable of handling event messages, which may be generated by

grid resources or user applications.

A Grid Performance Monitor that provides the user with a view of available resources, their

current loads and network loads.

A Component Browser that uses an SQL Database backend to provide the user with infor-

mation about components which can be deployed. The user can use this information to write

Jython scripts to create and wire together components.

A Remote File Management Interface that uses the GSI enabled FTP service.

3.1 The Notebook Database

The underlying directory structure of the lesystem is used as the database to support the portal.

The database stores a notebook corresponding to each computational application. Each notebook

is stored as a directory and each page of the notebook is stored in a different subdirectory. An XML

le containing meta-data about the notebook and a list of pointers and references to the pages in

the notebook is also stored in the local database. Figure 2 shows a snippet of such an XML le. It

7

describes a notebook session, with a title Notebook Intro, containing a notebook page, BigPicture.

The complete schemas can be viewed at http://www.extreme.indiana.edu/an/xsd.

The active document representing a notebook session can be converted into a Java Archive (JAR)

and the meta information about the notebook can be stored in a WebDAV [17] server. This meta

information includes the URI for the actual location of the archive. Notebook users can browse the

information about published sessions using a WebDAV client. This enables them to get information

like notebook name, author, abstract etc. about the session before actually deciding to retrieve the

archive. The author of the notebook can decide to set privileges like enabling only read or allowing

updates on the archived session by other authors. The authorization information is stored in the

WebDAV server as an Access Control List. The JAR can be published into a repository using

GSI-enabled FTP or other le transfer services. Since the JAR corresponds to an active document,

it is self-suf cient and can be simply plugged into an authorized user s local database, and is ready

to use. Thus, the portal users in a scienti c community can collaborate with their peers by sharing

data corresponding to their experiments.

3.2 Grid Application Scripting

One difference between a user portal and a science portal is the complexity of the tasks that the

portal supports. A user portal allows users to submit single jobs to the grid. The portal provides

features to make it very simple to manage the job, providing load-time and run-time information,

and to help the user select resources and to monitor the execution of the job. In a science portal,

the applications tend to be more complex. A single scienti c experiment may involve running

8

many different computational simulations and data analysis tasks. It may involve coupled multi-

disciplinary applications, collaboration, and remote software components linked together to form

a distributed application. Often these complex tasks may take a great deal of effort to plan and

orchestrate, and the entire application may need to be run many times each with a slightly different

set of parameter values. We have found that the best way to allow this sort of computation to be

carried out is to allow the scientist access to a simple scripting language which has been endowed

with a library of utilities to manage Grid applications. Furthermore, we provide a simple tool

which allows the scientist to build a web form interface to con gure and launch the scripts. Users

of the scripts simply ll in parameter values to the web form and then click the Submit button. This

launches a script which executes on the user s desktop, but manages remote applications on the

grid. Our prototype implementation uses the Jython language for scripting because it is popular

with scientists and has an excellent interface to Java, and we make the scripts grid-enabled by pro-

viding an API to Globus Services using the Cog Toolkit.

Figure 4 illustrates a portal interface, which is typically application-dependent and is con gurable

by the users. In the panel on the left, there is a view of an open notebook session. It consists of

a set of pages and script forms. In this gure, the form for a simple script which launches a local

visualization application is shown. Parameter values selected by the user from the form page are

bound to variables in the script. By selecting Edit both the script and the form page may be edited

as shown in Figure 5. In this case, the script launches a local program called animator which takes

as a parameter the name of a simulation output le to animate. In this example the script is trivial,

but it is not much more dif cult to write a script to launch an application on the grid and to manage

remote les.

9

A second form of scripting is used to manage the local details of the program s execution on a

remote site. The remote applications are managed by application managers. In most cases, the ap-

plications that the scientists and engineers want to run on the Grid are not grid aware, i.e. they are

ordinary programs that read and write data to and from les. In some cases, we have access to the

application source, but often that is not available - e.g, when using commercial applications codes.

An application manager is an agent process that helps the application make use of grid services.

For example, the manager can stage input les from remote locations or invoke post-processing

on the application output when the application has nished. The manager also serves as an event

conduit between the application and the portal. If the application dies or creates a le, the manager

can send an event back to the portal with the appropriate message. The application manager is

shown in Figure 6.

The application manager can also act as a service broker for the application. The manager can reg-

ister itself with the Grid Information Service [14] and advertise the application s capabilities. If a

user with the appropriate authorization discovers it, then the manager can launch the application on

behalf of the user and mediate the interaction with the user. For example, suppose the application

is a library for solving sparse linear systems of equations on a large parallel supercomputer. The

manager can export a remote solver interface that takes a sparse linear system as input and returns

solution vectors and error ags as output. If a user has a remote reference to the manager, the

solver can be invoked by a remote method call passing a linear system (or its URI) as a parameter

and the solution vector can be received as a result of the call. This is the model used by JiPANG to

invoke Ninf and Netsolve.

10

In the XCAT system, the application managers conform to the DOE Common Component Archi-

tecture (CCA) speci cation. XCAT is our implementation of the CCA speci cation, built on top

of XSOAP (formerly SoapRMI [32]), that allows the users to write CCA compliant components

in C++ and Java. The application managers are designed to be scriptable components, which have

one standard port providing the creator with the ability to download a script which the component

can run. The scripting language and library used by the component is identical to the language

and library available to the portal engine. The application managers combine the advantages of

a persistent remote shell with that of a remote object which may be invoked through a well de-

ned set of interfaces. Furthermore, the interfaces that a manager component supports can change

dynamically by simply downloading a new script. This allows the portal to dynamically change

the behavior of a remote application to suit new problems or requirements. For a more detailed

description of the Application Manager, including APIs, consult ProgGrid [4].

XCAT provides a Jython based scripting interface to instantiate remote components, wire them to-

gether using input and output ports and orchestrate the computations. The portal uses this scripting

interface, whose API is described in Figure 8.

3.3 Event Subsystem

The XCAT Science Portal uses the SOAP Events system [33] to decouple communication between

the scripting engine and the remote jobs launched by the portal. This decoupling ensures that the

11

remote applications can continue execution when the portal itself shuts down. Communication is

reestablished seamlessly when the portal is restarted. The events that occur in the interim are stored

by a persistent event channel and can be retrieved by the portal on restart. A remote job can be an

instantiated component that reads and writes les or a Grid Monitoring Architecture (GMA) [2]

that collects data for fault detection and performance tuning from a computational grid. Such sys-

tems can indicate their progress by sending out events at regular intervals to interested listeners.

The SOAP Events system is based on XSOAP which uses HTTP as the network protocol and

SOAP 1.1 [3] compliant XML messages as the wire protocol. By using XSOAP, the portal can

receive events from any SOAP 1.1 system. As SOAP events are just XML strings, they can be

published by writing preformatted strings onto a socket, allowing frameworks that use different

languages and platforms to publish to the channel. To make the channel rewall-friendly, we allow

the publishers to push events to the channel and the subscribers to pull events from it. Such

a model obviates the need for the event channel to initiate the communication with publishers or

listeners that may reside behind rewalls. We simulate asynchronous event noti cation to the lis-

tener by using listener agents (see Figure 10). The listener agents constantly query the channel

for newly arrived events and forward these events to the listener. The agent and the channel use a

cookie-based scheme to monitor the retrieved events. A cookie, held by the agent, has complete

state information about the progress of the event pull invocation. Using this cookie, the listener

agent can resume the pull in case the channel fails and is restarted. Publishers use similar agents

to ensure delivery of events to the channel so that network outages or failure of the channel do not

prevent the event from being sent. The publisher agents store the unsent events in a local store

and periodically retry publishing them. The listener and publisher agents can also locate a suitable

12

event channel to connect to, based on a set of constraints provided by the listener or publisher

application. Event channels register with a directory service when they start and the agents use this

service to select the channel.

The portal listener registers with the listener agent running on the local machine using Jython

scripts, as illustrated by snippets of code in Figure 11. The listener agent locates the nearest or a

well-known SOAP event channel using the directory service. The listener can use a lter to restrict

the events it receives to those that it is interested in. This ltering can be based on matching event

attributes or using SQL to query the persistent channel. Applications can provide information

about the status of their computation by publishing events to the event channel via the publisher

agent.

The event channel, in its simplest incarnation is just a listener and publisher working in tandem.

With all its features enabled, it provides for complex ltering and querying, persistence to allow

retrieval of historical events and handling of user de ned events that the channel is not aware of.

3.4 The Grid Performance Monitor

The Grid Performance Monitor (GPM) uses the event subsystem to provide the user with visual-

ization of available resources and the current and predicted future loads on these resources. The

data for these loads is obtained from the NWS. The GPM is designed as a thin layer on top of

SoapRMI events and an event channel. This provides the portal with the exibility to cooperate

13

and exchange signals/events with a vast variety of event generators.

The event visualizer component of the GPM subscribes to the event channel through its agent. The

visualizer registers interest only in those events that are for resource utilization or a related type.

Using the event channel precludes the need for a global registry of all sensors. Sensors send events

to the event channel at periodic intervals. Detection of a stoppage in events from a particular sen-

sor can be determined to be due to the failure of the sensor. Event generators that send events at

irregular intervals can be required to send simple heart-beat events at regular intervals to indicate

that they are still operational.

Figure 12 shows an example of an XML resource event. The XML Schema event system lends

itself to extensibility and self-describing event formats, thus making it possible for the portal to

interoperate with a wide variety of other event systems, including the NWS, Autopilot sensors.

Applications that are aware of their resource utilizations can also write application-level resource

events, and send it to the event channel. Thus, the user can not only receive resource utilization

information of the target machines, but also the performance information from their executing

applications.

3.5 Authentication & Security

In the future, the portal is planned to be run in one of two modes : personal or multiuser. At

present, we only support the personal mode, while work on the multiuser mode is in progress. In

both cases, the authentication is handled via the Globus GSI. The user can either use local Globus

14

credentials on the portal s server via the Globus CoG Kit, or can remotely upload credentials into

the portal via the MyProxy [10] CoG Kit. The initial startup screen has text elds for the user

to enter in the appropriate information: his/her Globus credential password for a local credential,

or a server, tag name and password for a MyProxy credential. In either case, the portal server

loads a GlobusProxy object from the relevant source for use in authentication and instantiation, on

behalf of the user. In the personal mode, only the owner is authorized to run jobs using the portal,

while in the multiuser mode the user can run jobs if he/she is permitted to use the portal, which

can be con gured by the portal owner, using some Access Control List mechanism. If cookies are

enabled by the user, the server sets a cookie object in the user s browser that maps the session to

the Proxy so that, when the user leaves the site, his/her identity isn t lost. This helps the portal do

better session management. Even if the user has disabled the use of cookies, the portal works ne,

although it loses some of its session tracking capabilities.

4 Sample Applications

The XCAT Science Portal has been used for a number of different applications. It has been used

for distributed simulation of chemical processes in semiconductor manufacturing by a team of

Chemical Engineers at NCSA, for collaboratory support by a team of X-ray crystallographers

at Indiana University, and for Linear Systems Analysis [4], and Collision Risk Assessment of

Satellites with space debris [4] by the Extreme Computing Lab at Indiana University. We describe

two of the above in the next subsections.

15

4.1 NCSA Chemical Engineering

The work done with the Chemical Engineering team from NCSA is an example of the kind of

science problems the portal is intended to solve. The simulation models the process of copper

electrodeposition in a submicron sized trench which is used to form the interconnection on micro-

processor chips. The simulation consists of two linked codes. One consists of a continuum model

of the convective diffusion processes in the deposition bath adjacent to the trench. The second

consists of a Monte Carlo model of events that occur in the near-surface region where solution

additives in uence the evolution of deposit shape and roughness during lling of the trench. The

codes communicate by sharing data les about common boundary conditions. Figure 13 shows the

coupled codes and the lter that is added to insure stability of the linked computational system.

The codes are run separately on the Grid. The transfer of les is done using grid based le-

management and transfer utilities. The interface to the Grid is provided by Application Man-

agers . As described before, these are wrappers which provide access to grid services such as GSI,

grid-events, etc. to the codes and make them grid-aware. Each execution is set-up and controlled

from the controlling Jython script which runs inside the portal. The primary mechanism for get-

ting feedback is the event system. Grid le-management tools can be used to transfer output les

which are generated. Events which come back from the applications are handed off to event han-

dlers which have been registered, or are logged. Special events could be used to trigger off event

handlers which can change or control the course of the execution.

This application illustrates several interesting scenarios in collaboration. The experiment is set up

16

by the chemical engineers using the tools provided in the portal. Simple web forms are created

for parameter input which will control the experiment. An example of one such form is shown

in Figure 15. Subsequent users do not need to know about these parameters or the mechanics of

the grid computation. They will interact with only the portal web interface and event noti cation

mechanisms.

4.2 IU Xports project

A second application is a collaboratory for X-ray crystallographers using the beam lines at Ar-

gonne s Advanced Photon Source (APS) and Lawrence Berkeley s Advanced Light Source (ALS).

This work will allow users at remote laboratories to send sample crystals to the beam lines, col-

laborate with the scientists preparing and mounting the sample, then to receive initial images of

the execution, over the network. They can then dynamically upload new control parameters or, if

the sample appears awed, terminate the run. In addition to large amounts of data (up to a Ter-

abyte/day) and numbers of les (1-3 per second) this application requires multiple video streams,

accessing high-speed research networks, and synchronous geographically distributed collabora-

tion.

The portal was used to launch part of the experimental setup from the client site. Using the Jython

controlling script and the Java Application Managers, local applications were launched and con-

trolled. The setup of the experiment closely resembled that of the Chemical Engineering one.

Events were used to get feedback on the progress of the execution.

17

5 Conclusions

This paper has described the XCAT Science Portal system. The contributions of this research

project include

providing a generic programming tool for grid application designers that allows them to

script complex applications, and access them using a simple forms based web browser inter-

face.

providing an active document model for packaging applications for collaborative purposes.

demonstrating how a grid event system can be integrated into both the grid applications and

resource monitoring to provide the user with important feedback about the runtime behavior

of his or her applications.

showing that a distributed software component architecture (in this case the DOE CCA

model) can be used as an effective tool to manage distributed applications based on legacy

software, which is not grid-aware.

6 Future Work

Future work includes integration of the resource and component directory services with the Grid

Forum standards for information services and with the emerging work on the Web Service Direc-

tory Language (WSDL) that is being advocated by industry groups. In addition, we are building

interfaces to intelligent resource brokers and building components that are capable of adapting to

available grid resources. We are working on the multiuser version of the portal, and trying to use

it for the Grid Access Portal for Physics Applications [18]. We are also working on an secure

18

implementation of SOAP, which will be built using GSI and Secure Sockets. We plan to integrate

it with a multiprotocol messaging architecture, which is capable of switching between SOAP and

binary protocols, depending upon the performance needs of the user.

7 Acknowledgements

The authors would like to thank the reviewers and the members of the Extreme Computing Labo-

ratory, Indiana University for their insightful comments. In particular, we are grateful to Kenneth

Chiu, Al Rossi and Shava Smallen, who are current staff members at the Extreme Lab, and to

Venkatesh Choppella, Rahul Indurkar, Nirmal Mukhi, Benjamin Temko and Juan Villacis, who

have been past members of the project group.

This research was supported by NSF grants 4029710 and 4029713, NCSA Alliance, and DOE2000.

19

References

[1] GNOME, visited 4-1-2001. www.gnome.org.

[2] Brian Tierney et al. White paper: A grid monitoring service architecture (draft), visited

03-10-01. http://www-didc.lbl.gov/GridPerf/papers/GMA.pdf.

[3] D. Box et al. Simple Object Access Protocol 1.1. Technical report, W3C, 2000.

http://www.w3.org/TR/2000/NOTE-SOAP-20000508/.

[4] Dennis Gannon et al. Programming the Grid: Distributed Software Components, P2P and

Grid Web Services for Scienti c Applications. Journal of Cluster Computing, 2002. To

appear.

[5] Dietmar Ervin et al. The Unicore HPC Portal, visited 04-25-2001. http://www.unicore.de/.

[6] Geoffrey Fox et al. The Gateway Computational Web Portal, visited 04-27-01.

http://www.gatewayportal.org/.

[7] George Myers et al. The NASA Information Power Grid (IPG) Launch Pad Portal, visited

04-27-2001. http://www.ipg.nasa.gov/.

[8] Jack Dongarra et al. Netsolve, visited 04-27-01. http://www.cs.utk.edu/netsolve/.

[9] Jason Novotny et al. The grid portal development kit (gpdk) project, visited 04-01-01.

http://dast.nlanr.net/Features/GridPortal/.

[10] Jason Novotny et al. Myproxy, visited 04-12-01. http://dast.nlanr.net/Features/MyProxy/.

[11] Manish Parashar et al. DISCOVER, visited 04-27-01. http://www.discoverportal.org/.

20

[12] Rajkumar Buyya et al. Nimrod, A Tool for Distributed Parametric Modelling, visited 04-25-

2001. http://www.csse.monash.edu.au/ davida/nimrod.html/.

[13] Ian Foster and Carl Kesselman. The GRID: Blueprint for a New Computing Infrastructure.

Morgan-Kaufmann, 1998.

[14] Grid Forum Information Services Working Group. GGF GIS Working Group Charter, visited

06-29-01. http://www-unix.mcs.anl.gov/gridforum/gis/.

[15] Object Management Group. The Common Object Request Broker: Architecture and speci -

cation, July 1995. Revision 2.0.

[16] Pablo Group. AutoPilot : Real-Time Adaptive Resource Control, visited 04-01-2001.

http://www-pablo.cs.uiuc.edu/Project/Autopilot/AutopilotOverview.htm.

[17] IETF. WebDav, visited 8-20-01. http://www.ics.uci.edu/ ejw/authoring/.

[18] Indiana University. The grid access portal for physics applications, visited 08-14-01.

http://lexus.physics.indiana.edu/griphyn/grappa/.

[19] Albert Einstein Institute. Cactus, visited 04-27-01. http://www.cactuscode.org/.

[20] Argonne National Lab. CoG, visited 04-12-2001. http://www.globus.org/cog.

[21] Argonne National Lab. GSI, visited 04-12-2001. http://www-fp.globus.org/security/v1.1/.

[22] Argonne National Laboratory, Indiana Univeristy, The Advanced Computing Laboratory

at Los Alamos National Laboratory, Lawrence Livermore National Lab, and Univeristy

of Utah. Common Component Architectue, visited 1-10-2000. http://z.ca.sandia.gov/ cca-

forum see also http://www.extreme.indiana.edu/ccat.

21

[23] Jefferson Labs. Lattice Portal, visited 04-27-01. http://lqcd.jlab.org/.

[24] Microsoft. .NET framework, visited 02-10-01. http://www.microsoft.com/net/.

[25] Microsoft. COM, visited 4-2-2001. http://www.microsoft.com/com.

[26] Sun Microsystems. Jini, visited 3-1-2001. http://www.sun.com/jini.

[27] Sun Microsystems. EJB, visited 7-15-99. http://java.sun.com/products/ejb/index.html.

[28] Tokyo Institute of Technology. JiPang : A Jini-based Computing Portal System, visited 04-

27-01. http://matsu-www.is.titech.ac.jp/ suzumura/jipang/.

[29] Tokyo Institute of Technology. Ninf, visited 04-27-01. http://ninf.etl.go.jp.

[30] ORNL, LBNL, and PNNL. The DOE2000 Electronic Notebook, visited 04-27-01.

http://www.emsl.pnl.gov:2080/docs/collab/research/ENResearch.html.

[31] San Diego Supercomputer Center (SDSC), the University of Texas (UT), and the Univer-

sity of Michigan (UM). NPACI Hot Page, visited 04-25-2001. https://hotpage.npaci.edu/.

[32] A. Slominski, M. Govindaraju, D. Gannon, and R. Bramley. Design of an XML based Inter-

operable RMI System : SoapRMI C++/Java 1.1. In Proceedings of the International Confer-

ence on Parallel and Distributed Processing Techniques and Applications, Las Vegas, Pages

1661-1667, June 25-28 2001.

[33] Aleksander Slominski, Madhusudhan Govindaraju, Dennis Gannon, and Randall Bramley.

SoapRMI Events: Design and Implementation. Technical Report TR-549, Indiana University,

May 2001.

22

[34] Mississippi State University. The Mississippi Computational Web Portal, visited 04-27-01.

http://WWW.ERC.MsState.Edu/labs/mssl/mcwp/.

[35] Rich Wolski, Neil T. Spring, and Jim Hayes. The Network Weather Service: A Distributed

Resource Performance Forecasting Service for Metacomputing. Journal of Future Gen-

eration Computing Systems, 1999. also UCSD Technical Report Number TR-CS98-599,

September, 1998.

23

List of Figures

1. The XCAT Science Portal Architecture

2. An XML le with notebook metadata

3. The Notebook Database

4. Snapshot of XCAT SP

5. Script Page

6. XCAT Application Managers

7. Scriptability of Application Managers

8. Jython API to XCAT

9. Event visualizer showing machine utilization events

10. The Event Subsystem

11. Subscribing to an Event Channel

12. An example XML Resource Event

13. Linked Chemical Engineering Codes

14. Chemical Engineering Application Setup

15. Parameter Form

24

Workstation Environment

Web Local Viz

Browser Tools

Components

MyPortal Active Notebook Server

GSI COG Script Notebook

Authentication Grid Tools Engine Database

The Grid

Grid Soap Event

Performance Channel

Monitor

Application Application

Proxy Proxy

Wrapped Wrapped

Machine Application Application

Sensors

Figure 1: The XCAT Science Portal Architecture

25

Notebook_Intro (session)Thu Apr 19 10:54:10 EST 2001Thu Apr 19 10:54:18 EST 20011.0NotebookIntro.7444trueNotebookIntrofalseBigPicture/an/database/notebook/nNotebookIntro.7444/

pBigPicture/big_picture.htmlBigPicture1false

Figure 2: An XML le with notebook metadata

26

The Notebook Database

Notebook Server

Database Interface

Notebook 3

Notebook 2

Notebook 1

Page 1 Page 2 Script Page 1 Page 2 Page Script

Figure 3: The Notebook Database

27

Figure 4: Snapshot of XCAT SP

28

Figure 5: Script Page

29

Figure 6: XCAT Application Managers

30

Figure 7: Scriptability of Application Managers

31

def createComponent (componentInfo):

def setMachineName (componentWrapper, machineName):

def setCreationMechanism (componentWrapper, creationMechanism):

def createInstance (componentWrapper):

def connectPorts (outputPortComponent, outputPortName,

inputPortComponent, inputPortName):

def start (componentWrapper, usesPortClassName,

usesPortType, providesPortName):

def kill (componentWrapper, usesPortClassName,

usesPortType, providesPortName):

def invokeMethodOnComponent (componentWrapper, usesPortClassName,

usesPortType, providesPortName,

methodName, methodParams):

Figure 8: Jython API to XCAT

32

Figure 9: Event visualizer showing machine utilization events

33

Discovery Service

(LDAP)

subscribeLease

start/continue/

handleEvent start/continue/ endEventPull

handleEvent endEventPull

Publisher Publisher Agent Event Channels Listener Agent Listener

handleEvent array of events eventLease

handleEvent Response

Response array of events

Figure 10: The Event Subsystem

34

# A specialization of the generic EventListener

class MyEventListener(EventListener, RemoteObject,

SubscriptionRenewListener):

def __init__(self, expID):

# constructor code goes here

# Code to register with the event channel

def subscribeToListenerAgent(expID, url):

# some initialization

# create an instance of the EventListener

receiver = MyEventListener(expID)

# register with the Listener Agent

agent = Util.getLocalListenerAgent params

# Get first batch of events through agent

result = agent.startPull(timePeriod, filter)

# Consume list of events from result.events[]

while interested in more events

# Get next batch of events

result = agent.continuePull(result.cookie)

# Consume list of events from result.events[]

# Done pulling events

agent.stopPull(result.cookie)

Figure 11: Subscribing to an Event Channel

35

http://www.extreme.indiana.edu/soap/

events/resdat#MachineUtilizationEvent

resdata.machine.utilization2002-01-07T17:41:28.072Z

2002-01-07T17:41:29.151Z

rainier.extreme.indiana.eduresviz_channel0.88123988

Figure 12: An example XML Resource Event

36

Figure 13: Linked Chemical Engineering Codes

37

Science Portal

Application Application

Manager Manager

Continuum Monte Carlo

Simulation Simulation

Grid

File Management

file file

Figure 14: Chemical Engineering Application Setup

38

Figure 15: Parameter Form



Contact this candidate