qlogin
The simplest thing you can do with the cluster is to just log in to the BIOSTAT
node and run things on it interactively (an even simpler option might be to use
IDAS). Once you’re logged in, it is just like
being logged in remotely to any other computer. However, logging in must be
accomplished through the scheduler to balance requests for interactive and
non-interactive sessions and to send requests to the proper queues. To set up an
interactive session, use qlogin
:
The -q BIOSTAT
option specifies that you would like to log in to the BIOSTAT node.
You can, of course, try to log in interactively to a different node with -q
UI
, if one is available, or use -q all.q
to log in with the understanding
that you will get logged off if someone wants their node back.
IMPORTANT: By default, the above command will allocate all of the
available processors on the node to your qlogin
request. In other words,
you may be requesting dozens of processors that no one else will be able to use
until you log out (which you would do by typing exit
or Ctrl+D
). This is
particularly bad if you only need a small number of processors, or if you intend
to stay logged in for a long period of time (or both!). To request an
interactive session that uses only, say, 4 processors, submit:
$
qlogin -q BIOSTAT -pe smp 4
The -pe
option specifies the parallel environment you wish to have for your
qlogin
session. There are various options, the differences between which get
rather technical, but the simplest is SMP (symmetric multiprocessing).
From here, you can do anything you would normally do at a terminal – run commands, run an interactive R session, etc. There are three primary reasons one might be interested in doing this:
- Your own computer has insufficient computational resources to run the interactive R session you have in mind.
- You need to set something up on the cluster, but don’t want to tie up a login node.
- You want to make sure a job will run on Argon or troubleshoot why it isn’t running (it can be difficult to do this non-interactively).
AGAIN: Try not to abuse qlogin
by staying logged in for long periods of time or requesting far more slots than you are actually going to use. This ties up resources that other people may be trying to use.
Custom qlogin
Personally (PB), I hate the above default, and wrote a very simple script called q_login
that I use instead. To use it, download this file, place it in ~/.local/bin
or wherever you put your local binaries, and then use this to log into the BIOSTAT queue (requesting only a single core by default):
Or if you want, say, 12 cores:
Requesting a specific node
You can request that your qlogin
command takes you to a specific type of machine by including various logical flags. For example, to specify that you need to log in to the high memory (384GB) node:
$
qlogin -q BIOSTAT -pe smp 4 -l mem_384G=true
Similarly, if you want to specifically request the lower-memory node for some reason:
$
qlogin -q BIOSTAT -pe smp 4 -l mem_128G=true
See here for the full list of flags that one can specify. Note that these flags are much more important on the UI
and all.q
queues, since there is a far greater variety of machines on those queues than on BIOSTAT. In particular, you might be interested in the -l gpu=TRUE
flag if you want to run something on a GPU (there are no GPU machines on the BIOSTAT queue at this time).
The -l
flag also applies to jobs submitted with qsub
, which we discuss next.