Note 1: It is anticipated that the Technical Computing Portal will be renamed the Sun Grid Portal . The final approval to rename the Technical Computing Portal has not yet been granted. For the purposes of this installation guide, it is assumed that Sun Grid Portal will become the official name.
Note 2: To be consistent with Sun policies regarding third party, open source, or shareware software, and to comply with the Sun open source/shareware review and approval process, we have removed both the O'Reilly Servlet and the VNC shareware software from the Sun Grid Portal distribution. This installation guide has been modified to include instructions for downloading the software from the respective sites and for the specific steps to be followed for incorporating the software for use with the Sun Grid Portal. Please refer to Step 3 of the Installation Procedure (Sun Grid Portal Integration (Glue) Package) for additional details.
Solution Components Detail
Data Set
Compute Engine
Java Servlet
Portal Environment
Multi- Domain Environment
Installation Procedure Summary
Step 1: Grid Engine
Step 2: SunONE Portal Server
Step 3: Sun Grid Portal Integration (Glue) Package
Step 4: Configure SunONE Portal Server
Step 5: Using Sun Grid Portal
Step 6: Register New Applications with Sun Grid Portal
Illustration 1
The illustration details the component layers that need to be integrated in the solution.
We would like to especially thank those who made significant technical contributions to the SGP:
Illustration 2 represents graphically the portal domain structure.
Illustration 2
Illustration 2 shows the flexibility of the
portal environment to provision domains each with a different look and
feel and authentication method; roles to perform specific tasks within
the portal framework with different authentication methods; sub-roles;
and users within the role structure with differing authentication methods.
Step 1: Install Grid Engine (and Sun ClusterTools w/ loose integration for MPI support).
Step 2: Install SunONE Portal Server.
Step 3: Install the Sun Grid Portal Integration Package.
Step 4: Adjust the configuration of SunONE Portal Server.
Step 5: Test the Sun Grid Portal
Step 6: Register new applications with Sun Grid Portal
Follow the installation instructions. The default queues and the default cell will work fine.
If
MPI jobs will be run through the portal:
Create a loose integration for HPC ClusterTools and Grid Engine. The Loose Integration package is a part of the Grid Engine download (version 5.3 or later) and may be found under the directory HPC_GE_Integration. Follow the directions in the README file.
129.146.60.220 scserv220 loghost scserv220.iforce.sun.com
(This must be done prior to beginning the SunONE Portal Server installation).
https://hostname.sub-domain.domain
or, for the example being used in this document:
https://mercury.sun.com
Finally, it is currently necessary to change the umask value that is set in the /etc/init.d/ipsserver and /etc/init.d/ipsgateway scripts from the supplied value of 077 to a new value of 022. Once this change has been made to these scripts, restart both the server and gateway as described above.
First, download the Sun Grid Portal installation package that
you received from the SGP development team (gridportal.tar.gz).
Finally, download the VNC shareware software from:
To find the appropriate VNC files, select the Download option on this Web page, carefully read the GNU General Public Licence conditions and then check the Solaris 2.5 (SPARC) box and the Java sources (30K) box. Select Proceed to download. This should result in the downloading of the two files:
vnc-3.3.3r2_sun4_sosV_5.5.tgz
vnc-3.3.3r2_javasrc.tgz
Become
root and create the SGP_ROOT installation directory
#
mkdir -p /export/GridPortal
(Note:
/export/GridPortal must be an NFS shared file system across all Grid Engine
nodes)
#
chmod 755 /export/GridPortal
#
SGE_ROOT=<where Grid Engine has been installed>
#
SGE_CELL=<Grid Engine sge_cell if not default cell>
#
COMMD_PORT=<Grid Engine commd port>
#
export SGE_ROOT SGE_CELL COMMD_PORT
#
cd /export/GridPortal
#
gzip -dc /tmp/gridportal.tar.gz | tar xvf -
(Prior
to the official open-source release of Sun Grid Portal, the gridportal.tar.gz
file includes a
# cd $SGE_ROOT/utilbin
Note:
You will be asked by the install script below to supply the following
parameters:
# ./install -gp Installing
Grid Portal servlets
-------------------------------
We
will ask for
-
the O'Reilly servlet location
-
the SunONE Portal Server (iPS) root directory
- the Vnc root directory (optional) -
the Grid Portal domain
The
Grid Portal is using the O'Reilly servlet cos.jar
The
version we used for testing is available as
http://www.servlets.com/cos/cos-27May2002.zip
Please
read the license conditions carefully and download
this
file. Then proceed by unzipping it, e.g. like this
%
cd /tmp
%
unzip cos-27May2002.zip lib/cos.jar
This
path must be entered here, e.g. /tmp/lib/cos.jar
Please
enter the O'Reilly servlet path >> /tmp/lib/cos.jar
Please
enter the iPS root directory ( default: /opt ) >> /opt
Do you want to use VNC >> y Please enter the VNC root directory >> /export/GridPortal/vnc_sun4_sosV_5.5 Please
enter the Grid Portal domain >> suntcp
You
entered the following installation information
O'Reilly
servlet: /tmp/lib/cos.jar
Grid
Portal root: /export/GridPortal
iPS
install directory: /opt
VNC root directory: /export/GridPortal/vnc_sun4_sosV_5.5 Grid
Portal domain: suntcp
Do you want to use these parameters (y/n) [y]>> The
Grid Portal servlets will now be installed. iPS is automatically restarted.
Do
you want to proceed (y/n) [y]>>
stopping
auth helpers ... done.
stopping
web server ... done.
stopping
directory server ... done.
stopping
gateway ... done.
No
change to /opt/netscape/server4/https-bilbo.Germany.Sun.COM/config/rules.properties
No
change to /opt/netscape/server4/https-bilbo.Germany.Sun.COM/config/jvm12.conf
Do
you want to install example applications (y/n) [y]>>
stopping
auth helpers ... done.
stopping
web server ... done.
stopping
directory server ... done.
starting
auth helpers ... done.
removing
/opt/netscape/directory4/slapd-bilbo/locks...done
starting
directory server ... done.
starting
web server ... done.
starting
gateway ... done.
Do
you want to install channels (y/n) [n]>>
The
installation has completed.
|
Every user that utilizes VNC for X-Windows
applications must change his/her environment settings. VNC is called from
the servlet with a
Finally, set the PATH variable as follows:
SGP_PATH=/export/GridPortal
PATH=$PATH:$SGP_ROOT/vnc_sun4_sosV_5.5:/usr/openwin/bin
export PATH SGP_PATH
[For debugging purposes, the output logs from the VNC software are stored in this user's directory under the hidden directory ".vnc".]
Test the gethomedir script :
# $SGP_ROOT/bin/gethomedir $SGP_ROOT username
This should return the following output:
/export/GridPortal/workspace/username
Next the channels can be added. If this is a clean install
of SunONE Portal Server SP4 (i.e., no additional channels have been added
to the portal server) then you can say yes when asked for installing channels
during installation. Otherwise you MUST manually add the channels by following
the steps in Appendix A.
If you have previously installed earlier versions of Sun Grid Portal
(then known as the Technical Computing Portal), you will need to delete
the suntcp.jar file from /opt/SUNWips/lib.
Xvnc:1|http://localhost:5801/portal.vnc|5801:mercury:5801|5901|mercury|5901
Xvnc:2|http://localhost:5802/portal.vnc|5802:mercury:5802|5902|mercury|5902
Xvnc:3|http://localhost:5803/portal.vnc|5803:mercury:5803|5903|mercury|5903
In the portal server, the Project List, Job List, and Application List channels should be visible. If logged in as root or as an administrative user there will be Admin Application List and Job Control channels. (If these channels display errors, check for incorrect paths and make sure Grid Engine is accessible from the portal. Also it is sometimes helpful to view the source behind the channels, which can be accomplished by right clicking on the mouse and selecting the View Source option.)
Users can select which channels they wish to have visible by checking on the Content switch. The order in which channels are displayed can be set by the Layout switch.
The Job List channel should contain the message You have no running jobs. This message shows that contact with Grid Engine has been established (qstat has executed successfully). (A Java error in this window could indicate a problem communicating with Grid Engine. Go back and verify that Grid Engine and SunONE Portal Server were installed correctly. Try logging in directly as the user, executing the Grid Engine settings script (settings.sh), and running qstat.
If you get Java exceptions, edit the /opt/netscape/server4/https-mercury.sun.com/config/servlets.properties file by hand to reflect the correct paths. This should not happen after a successful installation.
The Project List contains a list of projects for the current user. Projects are stored in the suntcp subdirectory of the /export/GridPortal/workspace/username directory. A list of projects is kept in the file .suntcp-list in the user's home directory. An example file might look like:
Fasta_project Fasta Genome
Blast_project Blast Genome
Qmon_project qmon
P1002129493410 New Project name
where the first entry on each line corresponds to a specific directory that was created by SGP in the user's workspace (e.g. /export/GridPortal/workspace/username/suntcp/Fasta_project) and the second string (separated by a tab) corresponds to the name of the project that is used in the Project List channel. If there are no Projects, then you can add a project by clicking on the Create new project link. (Note: Use of any other character than a Tab to delineate the entries will result in a variety of strange errors. If you edit these files by hand, be sure that your editor is not inserting multiple spaces in place of tabs.)
Finally the Application List channel should contain a list of applications that was installed in the Application directory (/export/GridPortal/apps) during the SGP installation process. If there are no applications, make sure the application files were installed correctly in the applications directory.
Now you are ready to run a job. Click the Submit new job link in the Job List channel. Select the Fasta Genome project. Use the default values for Algorithm, and Query file. Select the first database in the list. Click submit. (If this project is not available, create a project for the Sleeper Demo application. Then submit this job. The input argument is simply the number of seconds you want the processor to sleep). When the screen refreshes, the job should appear. Click on the job for detailed information from Grid Engine. Make sure the job is executing. If it is waiting for a queue, for example, Grid Engine may not be properly configured.
If an error is detected, you can attempt to debug it by executing the job by hand. First, you will need to go to the /export/GridPortal/workspace/username/suntcp directory of the user that logged into the portal. This directory should contain a list of projects. Look at the .suntcp-list file to determine which project directory you just used, then go to the appropriate project directory.
Two files that should be in this directory are .suntcp-su and .suntcp-qsub. The Grid Portal executes the .suntcp-su script, which in turn executes the .suntcp-qsub script. Try executing these by hand. Any errors detected should indicate possible errors in the Grid Engine, SunONE Portal Server or Grid Portal setup. Common errors include incorrect permission settings on the application or queue problems with Grid Engine.
Next try submitting a job that uses an X-windows interface. Go to the Qmon subdirectory of the applications directory. Create a qmon project if there is not already one. Then submit this project as a new job.
[Note: The SunONE Portal Server netlet which tunnels the X11 SGP connection between client and server is sensitive to your browser's proxy settings. In addition, it cannot understand so-called PAC (proxy auto-config) files (yet). This means the netlet will use whatever settings are under your Netscape Manual ProxyConfiguration settings, even if you're configured to use the Automatic Configuration. So either make sure the settings under the Manual configuration are reasonable, or select Direct connection to the internet, whichever is appropriate for your configuration.]
When submitting a job that utilizes X11, the first time you do so after logging in, a new X server is launched for you, and an applet window is displayed in your browser. This applet is essentially your X display. Your job should appear in this window shortly. You can leave this window open for the duration of your portal session, and any new applications utilizing X will appear in this window.
Alternatively, you can explicitly start the X session by clicking the Launch Xvnc server bookmark, which you'll find in the Bookmarks channel of your desktop. Once the X session has begun, other jobs launched which utilize X will use the existing session.
There is absolutely no X state kept on the applet side. If the applet crashes, or you inadvertently close the window, you can restart the applet one of two ways: via the Launch Xvnc server bookmark in your Bookmarks channel, or by attempting to launch another X-based application. Either way, SGP notices you already have a session active, and provides you a link to just restart the viewer applet. Click that link, and you should find the X display exactly as you left it.
The X session automatically terminates when you logout of the portal. In addition, a Kill Xvnc server bookmark is provided for you if you want to do so manually. While killing the Xvnc server seems to kill any jobs running under it, it is not recommended to rely on this behavior. It's better to make sure your X-based jobs are no longer running before killing the X session explicitly or logging out.
Line 1- An application description (version etc.)
Line 2- The name of the executable
Line 3- yes/mpi/no Whether or not the application runs SMP/MPI/ or
Sequential
Line 4- yes/no Whether the application uses an X-windows interface
Line 5- yes/no Whether the application uses a form
Line 6- List of users who have access to the application (optional)
(Note:
If no user access list is being
defined, Line 6 must be a blank line.)
Line 7- Additional lines can be inserted directly into the script that
is submitted to Grid Engine. Useful examples can be
Grid Engine commands (e.g. #$ -q qname) or environment variables
(e.g. export Option=2). Place each command
on a separate line.
Create an HTML/JavaScript form if Line 5 contains yes. This file must be named .suntcp-form. Example forms for use as templates can be found in the existing application directories. Forms are responsible for creating the execution line arguments. (Technical note: the form.elements[0] element is reserved to make sure the form returns to the proper location. Do not modify the lines of code that use this element. Begin modifying the [1] element.)
cp classes/suntcp.jar /export/GridPortal/lib
You will then need to restart the portal server and gateway as previously described.
Now provide the channels for the user
The image below shows the Admin user window for the IMB domain. (Note that the channel names are slightly different from what you will see when you install the SGP software)
Note that all five applications as channels have been provisioned into this role user. You can see that in the Job List window there is a Submit option, whereas in the Job Monitor window this option has been replaced by Perform accounting. You can also see that the Admin Application List and Application List content is differentiated by the option Add a new application. This option does not appear in the Application List window (seen as the middle window above Project List).
The image below shows the end user's desktop. End users are provisioned into a role referred to as researcher.
This user has the channels to be able to create projects, see and select applications and submit jobs against the Grid Engine cluster.