Getting started with the I2BC cluster
Objective 2
Understand cluster architecture and resources. Learn how to connect to a node of the cluster.
- The I2BC cluster is made of a master node (=Frontale) and several slave nodes (=node1, node2, etc.)
- Slave nodes are the workers (you should never run jobs directly on the Frontale)
- When you first connect to the cluster, you land on the Frontale
- All nodes are coordinated by the scheduler (=OpenPBS in our case)
Meet the workers (slave nodes)
To list all the resources on the I2BC cluster, you can run the pbsnodes
command:
pbsnodes -SL -a
The output should look like the following:
vnode state OS hardware host queue mem ncpus nmics ngpus comment
--------------- --------------- -------- -------- --------------- ---------- -------- ------- ------- ------- ---------
node01 free -- -- node01 -- 61gb 20 0 0 node_target: SICS
node03 offline -- -- node03 -- 61gb 20 0 0 node_target: SICS
node04 free -- -- node04 -- 503gb 80 0 2 --
node08 free -- -- node08 -- 125gb 40 0 0 node_target: EMC2
[...]
The host
column contains the node names, mem
is the RAM memory, ncpus
is the number of processors (CPU) and ngpus
is the number of graphical processors (GPU) available on each node. In the comment
column, there’s information on what group the node belongs to.
Connecting to a node
All resources on the cluster are organised through the scheduler (OpenPBS in this case). If you want to use some resources, you have to reserve these by asking the scheduler. When they are available, it will allocate you the resources as part of a job.
The most basic command to connect to a node in interactive mode is qsub -I
(you’ll see later on more optimal ways of using the cluster):
john.doe@cluster-i2bc:/home/john.doe$ qsub -I
qsub: waiting for job 916684.pbsserver to start
qsub: job 916684.pbsserver ready
john.doe@node09:/home/john.doe$
Notice:
- that the prefix of your command line changes from
cluster-i2bc
(= Frontale) tonode09
(= name of the node that was assigned to you) - the text that the scheduler printed on the screen: you’re currently running a job of which the unique id is
916684.pbsserver
Next, we’ll logout of the node with the logout
command:
john.doe@node09:/home/john.doe$ logout
qsub: job 916684.pbsserver completed
john.doe@cluster-i2bc:/home/john.doe$
Notice:
- that the prefix of your command line changes again from
node09
back tocluster-i2bc
(= Frontale) - the text that the scheduler printed on the screen: you’ve ended the job
916684.pbsserver
Schematically, this is what we just did:
Take home message
1) resources on the cluster are managed by the scheduler
2) the I2BC’s cluster uses OpenPBS, for which qsub
will enable you to reserve resources
3) pbsnodes -SL -a
to list all nodes and their characteristics (memory, CPUs and GPUs)