Cheaha Quick Start (Deprecated): Difference between revisions

From Cheaha
Jump to navigation Jump to search
(Created page with " Cheaha is a shared cluster computing environment for UAB researchers. A shared cluster environment uses a job scheduler to run tasks on the cluster to provide optimal resourc...")
 
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''NOTE: This page is still under development. Please refer to [[Cheaha_GettingStarted]] page for detailed documentation.'''


Cheaha is a shared cluster computing environment for UAB researchers. A shared cluster environment uses a job scheduler to run tasks on the cluster to provide optimal resource sharing among users. Cheaha uses a job scheduling system call SGE to schedule and manage jobs. A user needs to tell SGE about resource requirements (e.g. CPU, memory) so that it can schedule jobs effectively. These resource requirements along with actual application code can be specified in a single file commonly referred as 'Job Script/File'.  
Cheaha is a shared cluster computing environment for UAB researchers. Cheaha offers total 8.75 TFLOPS compute power, 200 TB high-performance storage and 2.8 TB memory. See [[Cheaha_Quick_Start_Hardware]] for more details on compute platform, but first let's get started with an example and see how easy it is to use.


Following is a simple job script to uncompress a tar.gz compressed file.
If you have any questions about Cheaha usage then please contact Research Computing team at support@listserv.uab.edu .
 
== Logging In ==
More [[Cheaha_GettingStarted#Login|detailed login instructions]] are also available.
 
Most users will authenticate to Cheaha using their BlazerID and associated password using an SSH (Secure Shell) client. The basic syntax is as follows:
 
<pre>
ssh BLAZERID@cheaha.uabgrid.uab.edu
</pre>
 
== Hello Cheaha! ==
A shared cluster environment like Cheaha uses a job scheduler to run tasks on the cluster to provide optimal resource sharing among users. Cheaha uses a job scheduling system call SGE to schedule and manage jobs. A user needs to tell SGE about resource requirements (e.g. CPU, memory) so that it can schedule jobs effectively. These resource requirements along with actual application code can be specified in a single file commonly referred as 'Job Script/File'. Following is a simple job script that prints job number and hostname.


<pre>
<pre>
Line 8: Line 21:
#
#
# Define the shell used by your compute job
# Define the shell used by your compute job
#
#$ -S /bin/bash
#$ -S /bin/bash
#
#
# Tell the cluster to run in the current directory from where you submit the job
# Run in the current directory from where you submit the job
#
#$ -cwd
#$ -cwd
#
#
# Tell the scheduler only need 10 minutes
# Set the maximum runtime for the job (ex: 10 minutes)
#$ -l h_rt=00:10:00
# Set the maximum amount of RAM needed per slot (ex: 512 MB's)
#$ -l vf=512M
#
#
#$ -l h_rt=00:10:00,s_rt=0:09:50,vf=512M
# Your email address
#$ -M YOUR_EMAIL_ADDRESS
#
#
# Set your email address and request notification when you job is complete or if it fails
# Notification Options:
#
#  b    Mail is sent at the beginning of the job
#$ -M YOUR_EMAIL_ADDRESS
#  e    Mail is sent at the end of the job
#  a    Mail is sent when the job is aborted or rescheduled
# s    Mail is sent when the job is suspended
# n    No mail is sent
#$ -m eas
#$ -m eas
#
#
# Tell the scheduler to use the environment from your current shell
# Use the environment from your current shell
#
#
#$ -V
#$ -V


tar xzf sample.tar.gz
echo "The job $JOB_ID is running on $HOSTNAME"
 
</pre>
 
Lines starting with '#$' have a special meaning in the SGE world. SGE specific configuration options are specified after the '#$' characters. Above configuration options are useful for most job scripts and for additional configuration options refer to SGE commands manual. A job script is submitted to the cluster using SGE specific commands. There are many commands available, but following three commands are the most common:
* qsub - to submit job
* qdel - to delete job
* qstat - to view job status


We can submit above job script using qsub command:
<pre>
$ qsub HelloCheaha.sh
Your job 9043385 (HelloCheaha.sh) has been submitted
</pre>
</pre>
When the job script is submitted, SGE queues it up and assigns it a job number (e.g. 9043385 in above example). The job number is available inside job script using environment variable $JOB_ID. This variable can be used inside job script to create job related directory structure or file names. [[Cheaha_Quick_Start_Job_Script_Examples]] provides more job script examples and [[Cheaha_Quick_Start_SGE_Commands]] provides more information about SGE commands.
== Software ==
Cheaha's software stack includes many scientific computing softwares. Below is list of popular softwares available on Cheaha:
* [[Amber]]
* [[FFTW]]
* [[Gromacs]]
* [[GSL]]
* [[NAMD]]
* [[VMD]]
* [[Intel Compilers]]
* [[GNU Compilers]]
* [[Java]]
* [[R]]
* [[OpenMPI]]
* [[MATLAB]]
These softwares can be included in a job environment using [http://modules.sourceforge.net/ environment modules]. Environment modules make environment variables modification easy and repeatable. Please refer to [[Cheaha_Quick_Start_Softwares]] page for more details.
== Storage ==
A non-trivial analysis requires a good storage backend that supports large file staging, access control and performance. Cheaha storage fabric includes a high-performance parallel file system called [http://wiki.lustre.org/index.php/Main_Page Lustre] which handles large files efficiently. It's available for all Cheaha users and specific details are covered on [[Cheaha_Quick_Start_Storage]] page.
== Graphical Interface ==
Some applications use graphical interface to perform certain actions (e.g. submit buttons, file selections etc.). Cheaha supports graphical applications using an interactive X-Windows session with SGE's qrsh command. This will allow you to run graphical applications like MATLAB or AFNI on Cheaha. Refer to [[Cheaha_Quick_Start_Interactive_Jobs]] for details on running graphical X-Windows applications.
== Scheduling Policies ==
== Support ==
If you have any questions about our documentation or need any help with Cheaha then please contact us on support@listserv.uab.edu . Cheaha is maintained by [[About_Research_Computing|UAB IT's Research Computing team]].

Latest revision as of 19:40, 11 February 2019

NOTE: This page is still under development. Please refer to Cheaha_GettingStarted page for detailed documentation.

Cheaha is a shared cluster computing environment for UAB researchers. Cheaha offers total 8.75 TFLOPS compute power, 200 TB high-performance storage and 2.8 TB memory. See Cheaha_Quick_Start_Hardware for more details on compute platform, but first let's get started with an example and see how easy it is to use.

If you have any questions about Cheaha usage then please contact Research Computing team at support@listserv.uab.edu .

Logging In

More detailed login instructions are also available.

Most users will authenticate to Cheaha using their BlazerID and associated password using an SSH (Secure Shell) client. The basic syntax is as follows:

ssh BLAZERID@cheaha.uabgrid.uab.edu

Hello Cheaha!

A shared cluster environment like Cheaha uses a job scheduler to run tasks on the cluster to provide optimal resource sharing among users. Cheaha uses a job scheduling system call SGE to schedule and manage jobs. A user needs to tell SGE about resource requirements (e.g. CPU, memory) so that it can schedule jobs effectively. These resource requirements along with actual application code can be specified in a single file commonly referred as 'Job Script/File'. Following is a simple job script that prints job number and hostname.

#!/bin/bash
#
# Define the shell used by your compute job
#$ -S /bin/bash
#
# Run in the current directory from where you submit the job
#$ -cwd
#
# Set the maximum runtime for the job (ex: 10 minutes)
#$ -l h_rt=00:10:00
# Set the maximum amount of RAM needed per slot (ex: 512 MB's)
#$ -l vf=512M
#
# Your email address
#$ -M YOUR_EMAIL_ADDRESS
#
# Notification Options:
#  b     Mail is sent at the beginning of the job
#  e     Mail is sent at the end of the job
#  a     Mail is sent when the job is aborted or rescheduled
#  s     Mail is sent when the job is suspended
#  n     No mail is sent
#$ -m eas
#
# Use the environment from your current shell
#
#$ -V

echo "The job $JOB_ID is running on $HOSTNAME"

Lines starting with '#$' have a special meaning in the SGE world. SGE specific configuration options are specified after the '#$' characters. Above configuration options are useful for most job scripts and for additional configuration options refer to SGE commands manual. A job script is submitted to the cluster using SGE specific commands. There are many commands available, but following three commands are the most common:

  • qsub - to submit job
  • qdel - to delete job
  • qstat - to view job status

We can submit above job script using qsub command:

$ qsub HelloCheaha.sh
Your job 9043385 (HelloCheaha.sh) has been submitted

When the job script is submitted, SGE queues it up and assigns it a job number (e.g. 9043385 in above example). The job number is available inside job script using environment variable $JOB_ID. This variable can be used inside job script to create job related directory structure or file names. Cheaha_Quick_Start_Job_Script_Examples provides more job script examples and Cheaha_Quick_Start_SGE_Commands provides more information about SGE commands.

Software

Cheaha's software stack includes many scientific computing softwares. Below is list of popular softwares available on Cheaha:

These softwares can be included in a job environment using environment modules. Environment modules make environment variables modification easy and repeatable. Please refer to Cheaha_Quick_Start_Softwares page for more details.

Storage

A non-trivial analysis requires a good storage backend that supports large file staging, access control and performance. Cheaha storage fabric includes a high-performance parallel file system called Lustre which handles large files efficiently. It's available for all Cheaha users and specific details are covered on Cheaha_Quick_Start_Storage page.

Graphical Interface

Some applications use graphical interface to perform certain actions (e.g. submit buttons, file selections etc.). Cheaha supports graphical applications using an interactive X-Windows session with SGE's qrsh command. This will allow you to run graphical applications like MATLAB or AFNI on Cheaha. Refer to Cheaha_Quick_Start_Interactive_Jobs for details on running graphical X-Windows applications.

Scheduling Policies

Support

If you have any questions about our documentation or need any help with Cheaha then please contact us on support@listserv.uab.edu . Cheaha is maintained by UAB IT's Research Computing team.