S. N. Bose National Centre for Basic Sciences

Under Department of Science and Technology, Govt. of India

Photon

1. Overview

Photon is a Computation Cluster for Serial Computing. User can submit serial jobs in this cluster. There are 7 compute nodes having 12 CPU cores and 24 GB of RAM each.

2. Configurations

2.1 Hardware

  • CPU = 2 x Intel ® Xeon ® E5650 @ 2.67 GHz - 6 Core CPU
  • Cores per Node = 12
  • Number of Nodes = 7
  • RAM = 24GB

2.2 Software:

Intel ® Fortran Compiler (V11.0) is available on this cluster.

3. How to get an account?

Students may contact their respective Faculty Supervisor for access. Accounts are provided to members of Faculty which may be used by students.

4. Usage Guidelines

4.1 Queues

When a job is submitted, it is placed in a queue. There are different queues available in the cluster which are of different walltime. The user must select any one of the queues from the ones listed below, which is appropriate for his/her computation need. All the queues mentioned here are serial queues using which users can submit serial jobs.The queue names (given in bold) are used while submitting jobs in job submission command.

There are 4 different serial queues available in the PHONON cluster. They are as follows:

  • sl_1d_cent: This queue can be used for submitting serial jobs that require walltime upto 24Hrs/1day.
  • sl_3d_cent: This queue can be used for submitting serial jobs that require walltime upto 72Hrs/3days
  • sl_10d_cent: This queue can be used for submitting serial jobs that require walltime upto 240Hrs/10days.
  • sl_1m_cent: This queue can be used for submitting serial jobs that require walltime upto 720Hrs/30days.

For submitting a job

$ qsub -N [give_a_name_of_the_job] -q <queue name> submit_script.sh

Note: On successful submission of any job, a job_id is given by the scheduler. Always keep a note of this job_id. You will need the job_id for monitoring, canceling and troubleshooting purpose.

Sample submit script

#!/bin/bash
#PBS -N name_of_the_job
#PBS -o out.log
#PBS -e err.log
#PBS -l nodes=1:ppn=1
#
#
## Provide path to scratch directory
## Should be unique for each job
SCRATCH_JOB=/scratch/$USER/jobdir
#
#
## Provide path to JOB directory
## Should be unique for each job
pwd=/home/$USER/job-dir
#
#
echo "Job started at " `date`
mast=`hostname`
echo $mast
cat $PBS_NODEFILE|uniq|grep local
for i in `cat $PBS_NODEFILE|uniq|grep local`
do
      ssh $i rm -rf $SCRATCH_JOB
      ssh $i mkdir -p $SCRATCH_JOB
      ssh $i cp -r $pwd/* $SCRATCH_JOB
      chmod 700 $SCRATCH_JOB
done
cd $SCRATCH_JOB
rm -f temp.1 temp.2
NP=`cat $PBS_NODEFILE|uniq|grep local|wc -l`
echo "$NP"
#
#
## Type the command to run your executable here
./executable
#
#
cp -Rf * $pwd
for i in `cat $PBS_NODEFILE|uniq|grep local`
do
      ssh $i rm -rf $SCRATCH_JOB
done
echo "Job completed at " `date`

4.2 Useful Commands

  • Queue Status: If user want to see the queue status, the command for that is $ showq (it will show all the running job)
  • For checking the job status: $ checkjob [job_id]
  • For canceling the job: $ canceljob [job_id]
NEW