TinkerCliffs¶
ARC's official documentation¶
Useful links at the ARC documentation¶
Hint: Words in [] brackets (example: [PID]) mean that you have to
substitute something and you should omit the square brackets.
Warning: Never run long calculations on a login node! Run a job on a compute node!
- a login node is where you conntect with the
ssh [PID]@tinkercliffs1@arc.vt.educommand - a compute node is accessed from a login node by either submitting a job script or by starting an interactive job
Terminal¶
First: Open the terminal on your computer (do not use the ARC OnDemand website, because it has bugs).
SSH¶
Connect to TinkerCliffs using ssh (replace [PID]):
ssh [PID]@tinkercliffs1@arc.vt.edu
ssh [PID]@tinkercliffs2@arc.vt.edu
Run a compiled program on compute node¶
TinkerCliffs is a shared resource with many users.
Never run your program on the login node! (don't do this: ./[program name])
Instead use the slurm scheduler as shown next. See also ARC Documentation on slurm
Submit job script to queue¶
Submit script to the slurm scheduler:
sbatch submission.sh
An mock-up job script is
#!/bin/bash
#SBATCH -J hello-world # Name of the job
#SBATCH --account=cmda3634_rjh # Account allocation
#SBATCH --partition=dev_q # Partition of the cluster (dev_q, normal_q)
#SBATCH --nodes=1 # Number of compute nodes
#SBATCH --ntasks-per-node=1 # Number of processes
#SBATCH --cpus-per-task=1 # Number of CPU cores per process
#SBATCH --time=00:10:00 # Runtime limit of 10 minutes
echo "Hello world from ..."
hostname
Notes on jobs¶
- The jobs submitted via the sbatch command might take some time waiting in the queue, because the TinkerCliffs machine is currently busy with jobs from other users. While your job is waiting in the queue, there won't be any output slurm files.
- You can submit a job and you don't need to keep your terminal open.
- There might be a delay between the slurm output file being created and the first output from your program being printed.
Useful commands for checking on jobs¶
tail -f slurm-XYZ.outwill continuously show new lines as they get output into the file.squeue -u [PID]will show you the status of your submitted jobs. In the table shown, "PD" means pending job, "R" means running job, and finished jobs do not appear.watch -n 5 squeue -u [PID]will monitor the commandsqueue -u [PID]and refresh every 5 seconds.scancel [JOBID](with the number of the job shown with squeue above) will cancel your job whether it's running or pending.
Interactive job¶
To get connected to a compute node (i.e., interactive mode/shell), request a compute node from the slurm scheduler:
interact -A cmda3634_rjh -p dev_q -t 00:30:00
interact are
-A cmda3634_rjhtells which allocation to use-p dev_qtells which queue to use (the "develop" queue is much shorter than a "normal" queue)-t 00:30:00the time to keep the interactive job running, in the format Hours:Minutes:Seconds