Child pages
  • In a Nutshell
Skip to end of metadata
Go to start of metadata
In a Nutshell

Request an MCC user account

The very first step is to apply for a user account via: mcc-help@monash.edu. More information can be found on the Access page.

Login

Now you are equipped with a username and password, you can log into any of the MCC login nodes with a SSH client. Use msgln6.its.monash.edu (this is the primary login node).  Information on how to do this can be found on the Access page.  Once logged in, you should see an output like this.

ssh login
localmachine$ ssh jsmith@msgln6.its.monash.edu
jsmith@msgln6.its.monash.edu.au's password: 

Last login: Mon Oct  7 12:01:22 2013 from localmachine.monash.edu.au

==================================================
*                                                *
* Please limit local CPU-intensive processes to  *
* one at a time and no more than 30 mins. in     *
* duration. It is recommended to use qsub to     *
* execute longer jobs.                           *
*                                                *
* It is recommended that jobs indicate:          *
*                                                *
*   #$ -l h_rt=hh:mm:ss    (for walltime)        *
*   #$ -l h_vmem=nG        (for mem req'ts)      *
*                                                *
* For example:                                   *
*   #$ -l h_rt=16:00:00    (for 16 hours)        *
*   #$ -l h_vmem=2G        (for 2GB mem)         * 
*                                                *
==================================================

jsmith@msgln6~> _

Unix

All compute nodes run some form of Unix operating system. If you are not familiar with Unix, you soon will be! 

Here are a few commands you will need. More information can be found at http://www.ee.surrey.ac.uk/Teaching/Unix/

If you need more information about commands, remember you can always use the Unix manual facility, i.e 'man pwd' will show the manual page for pwd.

CommandMeaning
pwd 

 

(print working directory)  Prints the directory where you're currently in.

ls 

 

(list) Lists contents for particular directory, the current directory by default. 

Example: List with long format, including file permissions, reverse order, by modification time

  ls -ltr

mkdir 

 

(make directory) Create new directory to hold files or subdirectories, if they do not already exist.

Example: This command creates a directory called 'folder1'.

  mkdir folder1
cd 

 

(change directory) Change working directory from directory to another.

Example: Change to the directory 'folder1' if it is a subdirectory of the current directory. 'folder1' is a relative path wrt the current working directory.

  cd folder1

To use an absolute path, type 

  cd /pathto/folder1

If used without arguments, it returns the shell to the user's home directory.

  cd

Same as typing

  cd ~
cd $HOME
rmdir 

 

(remove directory) Remove empty directory. If there are files or directories existing under the directory, rmdir will fail. 

Example: Removes the directory 'folder1' if it is a subdirectory and there are no files in it.

  rmdir folder1

cat
(concatenate files) Displays to stdout the contents of a file.
rm

(remove file or directory) Removes files or directories. Use with care as deleted files/folders are unrecoverable.

Submit a job

This is an example of how to run a job on a compute node. More detailed information can be found at the The Queueing System page.  Firstly we will create a shell script that contains the instructions we wish to run. In this example, we will use UNIX shell commands to print the date, hostname and IP address of the compute node we are on.

Using your favourite editor, create a shell script file called myfirstjob.sh.

Shell Script for job submission
#!/bin/sh
#$ -S /bin/sh
#$ -l h_vmem=1G
#$ -l h_rt=10:00:00
#$ -cwd
date
hostname
/sbin/ifconfig

This shell script is a job file that contains instructions to the system on what your calculation requires. Note that any line beginning with #$ is a special command to the Monash Campus Cluster (MCC) scheduler. For example, the third line specifies the memory requirements of your calculations, and the fourth line specifies the maximum time (in this case 10 hours) that your calculations will take. From the sixth line, you will put the commands that you wish to run. In this example, three commands are executed for demonstration purposes. Then you are ready to submit the shell script to the system.

Job Submission Command
qsub myfirstjob.sh

This command returns a job identifier, which you can use to examine the status of the job.

Job Identifier returned
jsmith@msgln6~> qsub myfirstjob.sh
Your job 4061673 ("myfirstjob.sh") has been submitted

You can see your running jobs with qstat

qstat example
jsmith@msgln6~> qstat 
job-ID  prior   name       user         state submit/start at     queue          slots ja-task-ID 
------------------------------------------------------------------------------------------------
4061673 0.50020 myfirstjob jsmith        qw    10/09/2013 14:39:36                  1   

Or you can be more specific and use the job identifier. A lot of information on the job is printed out

qstat example with identifier
jsmith@msgln6~> qstat -j 4061673
==============================================================
job_number:                 4061673
exec_file:                  job_scripts/4061673
submission_time:            Wed Oct  9 14:39:36 2013
owner:                      jsmith
uid:                        123717
group:                      hpcmerc
gid:                        1122
...

When the job is finished, the output of the job will be placed in a number of output files. The 'e' files contain the standard error (if any) of the running script - usually errors. The output of the script canb e found in the 'o' files.

Output files
jsmith@msgln6~> ls myfirstjob.sh*
myfirstjob.sh             myfirstjob.sh.o4061673     myfirstjob.sh.po4061673
myfirstjob.sh.e4061673    myfirstjob.sh.pe4061673

 

Lets look at the output in myfirstjob.sh.o4061673. Here we can see the three commands worked successfully.

  1. the date
  2. The name of the compute node the job ran at. If you ran the job again it would probably be at a different node.
  3. The output of ifconfiig with the machines IP number
Output of job
jsmith@msgln6~> less myfirstjob.sh.o4061673
Wed Oct  9 15:33:36 EST 2013
gn66.its.monash.edu.au
bond0     Link encap:Ethernet  HWaddr 00:1B:24:BE:3D:84  
          inet addr:130.194.242.66  Bcast:130.194.242.255  Mask:255.255.255.0
          inet6 addr: 2001:388:608c:2c9d:21b:24ff:febe:3d84/64 Scope:Global
          inet6 addr: fe80::21b:24ff:febe:3d84/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:11494213054 errors:0 dropped:379 overruns:0 frame:0
          TX packets:6449357790 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3952112095044 (3.5 TiB)  TX bytes:5499531255194 (5.0 TiB)

eth1      Link encap:Ethernet  HWaddr 00:1B:24:BE:3D:84  
          inet6 addr: fe80::21b:24ff:febe:3d84/64 Scope:Link
...

 

Editors

Unix comes with several editors that you can use to edit text files.

  • nano – simple micro editor
  • vi – screen-oriented text editor. As old as Unix.
  • emacs – also created decades ago. Part of GNU project. If your machine has X-Windows (X11) then Emacs will open in a GUI mode.

Either command below creates a new file ‘newfile.txt’ if it does not exist, or edits an existing file. 

Example of starting an editor
jsmith@msgln6~> nano myfile.txt
jsmith@msgln6~> vi myfile.txt
jsmith@msgln6~> emacs myfile.txt
  • No labels