Skip to main content

Secondary navigation:

Research Services

information technology services

Linux Cluster User Guide

This is a user guide with some of the basic commands to use the Cluster. 

Accessing the Cluster
  Note: There are now two clusters:
  • pleiades.bc.edu.  Installed in the Fall of 2012
  • scorpio.bc.edu. 

To login to the pleiades cluster:

     ssh -l -p Port-Number user-name@bc.edu

From on campus, you do not need to specify the port number (i.e. you do not need the "-p Port-number" option).  You must enter a port number from off campus.  Contact researchiveservices@bc.edu for the port number

To login to the scorpio cluster:

    ssh  user-name@scorpio.bc.edu

where user-name is your BC user name.  Enter your password.

If you are using an X11 client,

   ssy -Y -p Port-Number user-name@pleiades.bc.edu

   ssh -Y  user-name@scorpio.bc.edu

will allow you to run graphical applications on scorpio from your workstation.

Changing your password

Please change your intitial password after you login. To change your password, type:

    passwd

then follow instructions.

User Environment

We use "Environment Modules"  to keep the environment clean.  For application software, there will be a module to load before you can use the software.  The module will set all paths and environment variables necessary to use the software.  Environment Modules are simple to use.  For example, to use the software called glide, first load the glide module by typing:

    module load glide

If you use a module frequently, you can add the module to the existing "module load" command in your .tcshrc or your .bash_profile, depending on which shell you are using.The default shell is the tcsh.

There are some basic  commands:
   module avail                        - lists all currently available modules
   module list                          - lists all modules currently loaded. 
   module load modulefile        - add/load one or more modulefile  
   module unload modulefile     - unload modulefile.
   module switch mod1 mod2  - replace mod1 with mod2

There should be no need for you to set a path yourself to run application software that is available to all users of the system.

Compilers

The gnu, Intel and other compilers are installed on scorpio. For Intel , the C, C++, and FORTRAN 77/90/95 compilers are icc, icc, and ifort, respectively. To compile and link a C program, for example, you may type from your shell prompt:

    gcc -o hello hello.c

The intell module needs to be loaded to use the pathscale compilers (module load pathscale)

 

File Systems

Each account has a home directory. Home directories are backed up nightly. If a file in your home directory exists, there will be a copy on the backup system. For files that exist and change, we save the current file, and, for 15 days, the previous version.  We can restore either the current file or, if the requested is made within 15 days of the last change to the file, the previous version of the file.  If a file is deleted, then we can recover the file for up to 30 days from the day it was deleted. 

Home directories will have a quota.  The default quota will be 10 TB.  If you need more space, please keep in mind there is a file system called /scratch that can be used for temporary files.  You may also request a larger quota by sending email to researchservices@bc.edu.

For temporary files, please create a directory for your work in /scratch and put your temporary files there.  Files in /scratch are not backed up.

Running a program (Queues)

Other than short test jobs on scorpio.bc.edu, all jobs must be submitted to the queuing system.  For information on the queue structure, see the Cluster Queue Web page.  We are using  PBS(Torque), along with the Moab scheduler to dispatch jobs to the compute nodes.   For more information and instructions see the Torque User Guide. The most common PBS and Moab commands are as follows:
  
    qsub             submit jobs
    qdel              delete a job(s)  job from the queue.
    showq           show the jobs waiting to run, and the running
    showstart      displays an estimated start time of a job waiting to run

Parameters such as memory, the number of cores  and wallclock time requested are specified in a command file.  Here is an example of a command file.

#!/bin/tcsh
#PBS -l mem=500mb,nodes=1:ppn=1,walltime=1:00:00
#PBS -m abe -M your-email-address

cd work-directory
./a.out

This will request 500 MB of memory and one core for 1 hour

To submit the job via the script file sample.pbs, you may type

    qsub  sample.pbs

Specifing the maximum wall clock time (walltime=hh:mm:ss) helps schedule your job promptly.  Wall clock time is the elapsed time from when your job starts running to the time it completes. We have one queue, the scheduler will determine where to run your job so that it gets started as soon as possible.  We have reserved some nodes for short jobs.  By having one queue and letting the scheduler determine where to run the job means that you won't submit your job to the wrong queue (meaning a queue that is full, when there are available processors in another).  Likewise, we have nodes with different amounts of memory and the scheduler will guarantee that you get the memory you requested for yourself alone. 

Unfortunately, both  the memory and wall-clock time parameters require you to over estimate the amount. If you under estimate, your job may be killed.   Use this to get better estimates on future job submissions. For assistance, contact researchservices (researchservices@bc.edu).

To view all jobs in the system, type:

    showq

You may want to kill your job with job id 901, you may type: 

    qdel 901

To view the estimated start time of job id 901, type:

    showstart 901

This is only an estimate of the start time, and the start time may change as other jobs are submitted.

Optimization

The following options may generate more faster code:
   -O3 -OPT:Ofast

OpenMP

In order to use OpenMP, your program must be compiled and linkied with
   -mp option

Assistance

For assistance please contact Research Services at: researchservices@bc.edu