2. Interactive computing on keeling

keeling is a linux (Centos 7) computing system. It consists of a head node machine (keeling.earth.illinois.edu), and a series of nodes that are connected to the head node.

The head node

The head node can be used for light computing. such as moving files around, running interactive display software, or running scripts that are not computationally expensive and use more than 4 CPU cores. It can also be used to launch interactive or non-interactive batch jobs using the cluster’s scheduler slurm. Keeling is a shared resource and is monitored for abuse. CPU or memory intensive jobs will be automatically killed - these should be run on compute nodes to maintain system stability.

Cluster compute nodes

Keeling has a batch scheduling system that is used to launch interactive and non-interactive jobs on the cluster compute nodes. Keeling’s cluster compute nodes have a variety of configurations depending on the physical architecture of each compute node machine. These nodes can be used individually, or used together for larger jobs using protocols such as MPI.

Interactive jobs on keeling cluster nodes

Interactive jobs can be run using the qlogin or srun commands.

1) qlogin

An example qlogin command could be: qlogin -n 4 -mem 12G -time 12:00 Here, access to a machine with 4 reserved CPUs, 12 gigabytes of RAM, and 12 hours would be requested. Once requested, you will notice that you will now be logged into one of the compute nodes. For example, you will notice in the example below, the user is now logged into keeling-a03, one of the compute nodes. Different resources are available depending on the user’s request. If no resources are available for a request, this can be due to the requested resources being not available because they do not exist on the cluster, or because they are being used by another user.

user@keeling ~$ qlogin -n 4 -mem 12G -time 12:00


           qlogin session: 549988
     processors allocated: 4
per-proc memory allocated: 12.0GB
      session valid until: Fri Jan 21 17:09:15 2022
       connecting to node: keeling-a03

type "exit" to return to head node
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

user@keeling-a03 ~$

Type exit to terminate the session when finished. In this mode, if you lose your connection to keeling, the interactive session will also terminate.

2) srun

An alternative to qlogin is srun, which directly uses the slurm cluster management software to launch an interactive job. Here, you can specify the cluster partition (seseml), specify the job name "InteractiveJob", number of CPUs, memory per CPU, time, and the shell language (bash).

srun -p seseml --job-name "InteractiveJob" --cpus-per-task 10 --mem-per-cpu 1000 --time 12:00:00 --pty bash

The result is less verbose than for qlogin, but the result is the same.

user@keeling ~$ srun -p seseml --job-name "InteractiveJob" --cpus-per-task 10 --mem-per-cpu 1000 --time 12:00:00 --pty bash
user@keeling-e03 ~$

Again, exit will terminate the interactive job.