A brief intro to GSub

As described in the first section. GSub can currently do user authentication, job submission, job state query and output retrieval. The following steps walk through these procedure as an example.

1) After user intall the CSE-Online desktop envoriment, we assume the user's computer knows nothing about globus, Teragird CAs, etc. So, the first step user need to do is make a ".globus" directory under user's home directory. In windows, that usually is: C:\Documents and Settings\USERNAME. (one may notice that windows does not like directory name starts with a dot ".", however, user can still create it under command line envoriment or using someother tools which could create a directory on the C drive and does not complain with directory name starts with a dot, e.g. WinSCP? ) Then, user move the two key files, which are usually named as: usercert.pem and userkey.pem to the newly created .globus directory. Those two files are usually found in user's home/.globus directory in whatever server he has grid access to.

2) Then user is ready to lunch the GSub. On the first run, he/she is going to see a window like the following:

lunch_wizard.GIF

Choose "Yes" and then follow a wizard to config certificates.

wizard.JPG

This wizard is taken unmodified from the Cog toolkit (http://wiki.cogkit.org/index.php/Main_Page), which helps you to build up a set of certificates.

3) After user finishes the certificate wizard, the GSub main window pops up.

User must notice both the server drop-down box and application drop-down box are empty, as there is no application configured yet. The application config works in the following way:

a) Config a server by setting a few basic infomation about the server: hostname, its port number, job provider and job manager. User can do this by click the "Server Configuration..." in the File menu.

server_config.JPG

For server with GT4 Web Service version installed, we have set the default port number to be the standard 8443. We have tested GSub with PBS and Load Leverler as the server's backend job manager. For server with GT4 Pre-WS or earlier version, we have only tested GSub in the Interactive mode (using Fork as the job-manager). As I am going to explain later, theoretically speaking, even though any job-manager can be supported by GSub as long as user can run job in the Interactive mode, we strongly suggest user to use servers with GT4 WS installed.

b) Once a server is configured, you can start to config an application which runs on the server by choosing the "Application Configuration..." under the File menu.

app_config.JPG

The first thing user notices is the two blank textareas labelled as: Application Script and Environment Variables. Those are two main things user needs to config for an app. For user with experience with any unix scripting, config an application in GSub is not much difficult. The only difference is, instead of putting everything in one script file, GSub needs to distinguish between an "execution command" and an "environment variable setting command". For example, in C-Shell, we use setenv to set variables, and we write statements like "setenv ENV1 212" in the script file; in GSub, we take out statement like setenv or set to a separate place and write VariableName? = Value, e.g. ENV1=212. Since most application take more than one variable, so in the GSub Environment Variables textfield, user can put multiple variables setting statements and separate them using a comma, ",".

Naturally, one may ask: "So, I can write a script, but where does my job get executed? Or where are my input, output files placed?" The short answer is: user configs them. The "Execution Directory" defines where do all input/output files go and by clicking "Input File Configuration" and "Output File Configuration" button, user sets the name of those files. In order to help you understand this better, I have to brifely explain to you how GSub works.

There are a few steps involved in submitting a job to a server, a) allocate a place on the server's file system so input files and the script can be uploaded. This step is done by creating a directory at ExecutionDirectory? /JobDirectory. Notice the JobDirectory? is always set to be "System Time", which is the UNIX system time string and cannot be changed by user. So, if the user set ExecutionDirectory? to his home directory, then his job will be executed at /home/USERNAME/UNIXSYSTEMTIME, where the UNIXSYSTEMTIME is set on per-job basis. For instance, if a user submit a job at Oct. 16, 2006 3:25:XX MT, this job is going to be executed in directory /home/USERNAME/1161033934703. b) After all input files and the script file is in place, GSub invoke the job on the server through at set of globus APIs. We noticed that it will be more convenient for user if he/she can set input/output file names on server, so we provide the "Input File Configuration" and "Output File Configuration" functions. By clicking the "Input File Configuration" button, user is first asked to enter the number of input files for this application.

input_file_num.JPG

After entering a number, 5 for this example, the user sees the frame to give file names for those five inputs.

input_file.JPG

Do not confuse these file names with the input files user selected at run time, i.e. upon an actual job submission. Those define file stored on server, not on local computer. For instance, by default, GAMESS takes input file named as: gamess01.F05. So one can have the following line in the GAMESS envoriment variable list: INPUT=$EXECDIR/$JOBDIR/$INPUT0 and set $INPUT0 to be gamess01.F05 in the Input File List window. Upon submission, as explained later, user is free to choose whatever file he wants to be this $INPUT0 and when this file is uploaded to the server, it is named as whatever user defined in the Input File List window. User are free to use $INPUT, $OUTPUT, $EXECDIR, and $JOBDIR to represent file paths in both the script and envoriment areas.

Once user configured the execution directory, script and input files, he is ready to run the application. The first thing user needs to do is get a valid proxy from the server. He/She does this by clicking the "Get Proxy" button in the GSub main window.

proxy.JPG

Simply type in user's globus pass phase, a valid proxy is going to be created. Again, this part is taken directly from the Cog toolkit.

After a proxy is created, user could submit jobs by first select an application form the application dropdown box, a server from the server box (assuming there is more than one server configured with this application name), and a job manager. If GSub is not invoked from another application runs in CSE-Online desktop envoriment, e.g., Gaussian GUI, GAMESS GUI or Sander Input Builder, then user needs to manully set the input file(s) for this submission by clicking the "Set Input File" button.

input_file_chooser.JPG

This window is similar to the Input File List window in the Application Config window. However, in here, an actual local input file is choosen, and used for a job submission. In above example, there is a file named "Test" on local is to be uploaded to a server, where it renamed as "input", and this file is represented by "$INPUT0" in the application script. However, if GSub is invoked by some other CSE-Online application, e.g., the GaussianGUI? , the GAMESS GUI and the Sander/Amber GUI there is no need to manully selected input files as they are automatically placed.

If a job is submitted successfully by clicking the "Submit" button, an entry in the Grid Infomation table appears. At this point, a user can check the job state by clicking "Update Job Status" button, remove the job by clicking "Remove Job" button, and view output files by clicking the "View Output" button. In the current version of GSub, the Update Job Status function only works for GT4-WS servers. And for none GT4-WS server, "Remove Job" only remove the table entry, no job removal request is sent to servers.

The "View Output" button leads user to a new window

output_file_chooser.JPG

It provides a list of all files in the job execution directory ($EXECDIR/$JOBDIR -- or /home/USERNAME/1161033934703 for an actual submission), user could choose to view any of them in JPad by clicking the "View" button. (TODO: a new "Download" button has been added to the most recent version of GSub, update this screenshot later)

-- TWikiGuest - 25 Oct 2006

Topic attachments
I Attachment Action Size Date Who Comment
jpgJPG screen_shot_1.JPG manage 56.4 K 29 Aug 2006 - 18:52 TWikiGuest For Gaussian jobs, only the "$EXECDIR" needs to be set.
jpgJPG screen_shot_2.JPG manage 45.4 K 29 Aug 2006 - 18:52 TWikiGuest GSub Snap-shot 2
jpgJPG screen_shot_3.JPG manage 10.2 K 29 Aug 2006 - 18:52 TWikiGuest A valid proxy is needed for all grid operations.
jpgJPG screen_shot_4.JPG manage 55.0 K 29 Aug 2006 - 18:52 TWikiGuest A user defined application
Topic revision: r3 - 04 Jan 2007 - 20:51:20 - XiuyiFan
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback