Proposal for Access Grid Portal

Melvin Chee Kian, Koh
Asia Pacific Science and Technology Center
Sun Microsystems Pte Ltd, Singapore

1. Overview

There have been a lot of interest on the open-source Grid Engine Portal (GEP) and there have been some complains on the current version of the GEP by end-users. The complains are:

  1. Too tightly integrated to Sun ONE Portal Server. It is not easy to port the GEP to other portal server like uPortal. Thus this limit GEP to Solaris only.
  2. Registering of new applications to GEP is not as straight forward as it claims. Especially for more sophisticated applications.
  3. Limited file management. Uploading and managing files like input and output is tedious and difficult.
  4. Limited job monitoring features. Users should also able to monitor resources like CPU load, disk space etc.
  5. Performance of VNC is not good enough, for displaying of graphical jobs. Especially for 3D graphics.
  6. More sophisticated accounting and analysis tools are needed.

This report will attempt to propose some possible solution as well as a architecture for the next generation of GEP.


2. Standard Specifications

In order to address point 1 of the complains, the new GEP has to be developed using open standards. There are several new standards that have been approved that will aid the development of GEP.

2.1 Portlet Specification JSR168

JSR168 specification [1] was finalized in end of October and its purpose is to enable interoperability between portlets and portals. Thus a portlet that is implemented with the JSR168 APIs will be able to be deploy seamlessly in any portal server that is JSR168 compliant.

2.2 Web Services for Remote Portlets

Integration of content and application into portals has been a task requiring significant custom programming effort. Typically, portal vendors or organizations running portals had to write special adapters to enable communication with applications and content providers using a variety of different interfaces and protocols. The OASIS Web Services for Remote Portlets (WSRP) [2] standard simplifies integration of remote applications and content into portals to the degree where portal administrators can select from a rich choice of remote content and applications and integrate it in their portal with just a few mouse clicks and no programming effort. As a result, WSRP becomes the means for content and application providers to provide their services to organizations running portals in a very easily consumable form.

2.3 Distributed Resource Manager Application API

Distributed Resource Manager Application API (DRMAA) [3] is a standard for a set of APIs that can be use to interface to the dynamic resource manager (DRM) like the Sun Grid Engine (SGE). The advantage for applications is that they will be able to run in any DRM that is compliant to the DRMAA specification.


3. Functional Modules

It is important to categorize the functions of the GEP into modules. The modules will be a set of APIs that provides the backend functionalities of the GEP, and they will be use by the presentation layer to perform tasks like job submission, monitoring, and authentications.








The reason for the two-tier architecture is to allow easier customization of the GEP graphical interface. Users who wish to change the look and feel of the GEP can just modify the presentation layer, or even build their own from scratch.

Note:

  • Presentation layer should be implemented using Portlet APIs.

  • Although backend layer can be implemented using WSRP to interface to the presentation layer, it is not necessary. It can be implemented as normal Java classes. The interface to the DRM should be using DRMAA.

This section will describe the various modules needed to provide the backend functionalities.

3.1 Job Submission and Management

This module will be responsible for providing the job submission service. Depending on the complexity of the DRMAA Java binding, this module may just be a wrapper to make it easier to do job management. The functions to be provided are job submission, suspension and deletion.

3.2 Monitoring

Not only for monitoring of the status of submitted jobs, this module will also provide monitoring of system resources. The module should be design in such a way that monitoring for new type of resources could be added easily as a plug-in.

3.3 Accounting and Analysis

As DRMs store their accounting information differently, this module will be tightly coupled to the DRM that it is specifically written for (in our case, it will be SGE). Using this module, detailed as well as summarized statistics can be retrieve from the accounting database. It will also be able to generate graphs and provide analysis functions like finding the most submitted type of jobs and users who used the most resources.

3.4 Application Registration

Registering new applications for the current GEP is quite tedious. This is because the system administrators need to write their own scripts to for job submission. Simple applications do not require more than couple of minutes, but for more sophisticated applications (eg. MPI or PVM applications) more work will be required.

Borrowing the concept from the Grid Engine Scripting Tool (GEST) [4], this module will provide an infrastructure that allows registration by using pre-made packages. These packages will contain the needed scripts and submission forms for their respective applications, and the user only has to provide information such as the application directories, working directories etc. and the applications will be ready to run.

3.5 User Authorization

As most of the authorization mechanism for different portal server will likely be different, the code to check for the users' permission will be contain in this module. Therefore, different authorization module can be plugged in for different portal servers.

3.6 Output Visualization

This module will provide an architecture that allows users to program their own customized graphical output viewer as an Java applet and plug it into the GEP. The module will need to provide some mechanism for the output viewer applet to retrieve the output.


4. Portlets

The presentation layer will be written as portlets and they will be compatible to portal servers that are JSR168 compliant. Using the functionalities provided by the backend modules described in the previous section, the portlets' interface should be simple, intuitive and easy to use. The following is the list of portlets that are should be in a Grid Engine Portal.

Grid Portlets:

  • Job List and Submission

  • Resource Monitoring

  • Workspace/File Manager

Administration Portlets:

  • Application Registration

  • Submission Form Generator

  • Accounting and Analysis

Non-Grid related Portlets:

  • Common Notice Board

  • Forum / Message Board

  • File Sharing Manager


5. Web-based Graphical Display

Currently, the GEP uses VNC to display graphical jobs. However, the performance of VNC even in the local area network is quite unacceptable. Therefore we need to take at other alternatives to provide the display.

5.1 WeirdX

Like VNC, WeirdX [5] is a free X Window Server written in pure Java. Unlike VNC, WeirdX handles X protocols directly, so it does not need any proxy server. It also support rootless windows, another advantage over VNC. However, as indicated on its website, WeirdX is not suitable for heavy X applications.

5.2 WiredX

WiredX [6] is the non-free version of WeirdX and has more advanced features that the free version does not have.

5.3 Tarantella

Tarantella [7] offers thin-client solution for enterprises, providing secure remote access to X window applications with a web browser. It shows good performance for applications like Gimp over the Internet on a broad band connection. However, it is quite sophisticated and may not be easily integrated with some of the portal servers.

5.4 Broadway

Broadway [8] standardizes two methods for invoking an X application by clicking on a URL: via a small platform-specific helper application called xrx, or via a browser plug-in (which could also be a Java or ActiveX applet). The first method launches the X application in a separate window entirely controlled by the X server. The other method uses plug-in which results in the X application’s output being displayed within the browser window, with the use of a new protocol, the application group extension (XC-APPGROUP). This protocol allows an application designated as "application group leader" (in this case the browser) to intercept display requests to the desktop window manager (i.e. the PC X server) and reparent the intended X window into the group leader’s window.

The limitation to using Broadway is that there must already be an existing X server on the local machine. There will be no problem if the machine is on Linux or Unix operating systems. However, for Windows operating system, 3rd party software like StarNet's Xwin32 or Hummingbird's Exceed which are not free.


References

  1. JSR168: Portlet Specification

    http://www.jcp.org/en/jsr/detail?id=168

  2. OASIS Web Service for Remote Portlet (WSRP)

    http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp

  3. Distributed Resource Management Application API

    http://www.gridforum.org/3_SRM/drmaa.htm

  4. Grid Engine Scripting Tool

    http://www.arl.hpc.mil/docs/gest/

  5. WeirdX: Pure Java X Window System Server under GPL

    http://www.jcraft.com/weirdx/

  6. WiredX

    http://www.jcraft.com/wiredx/index.html

  7. Tarantella – Managed Secure Access to the Enterprise

    http://www.tarantella.com/

  8. Broadway / Xweb Information and Resource Center

    http://www.broadwayinfo.com/


For more resources, goto our Portal Links page.