![Uniwersytet Mikołaja Kopernika w Toruniu](files/images/instytutbanup1.jpg)
![Wydział Fizyki Astronomii i Informatyki Stosowanej](images/logo_h.jpg)
Na klastrze zainstalowany jest system kolejkujący PBS Torque (wersja 2.5.8) oraz scheduler Maui (wersja 3.3.1). Ważniejsze polecenia dotyczące systemu kolejkującego:
oraz dwa polecenia dodatkowe (dotyczące wizualizacji zajętości klastra):
polecenie qsub wysyła zadanie do systemu kolejkującego (np. qsub skrypt), które otrzymuje unikatowy numer (tzw. job-id).
Przykładowa postać pliku skrypt:
#PBS -N nazwa
#PBS -q kolejka
#PBS -l zasoby
#PBS -j oe
zadanie
Wszystkie informacje przekazywane do systemu kolejkującego w skrypcie muszą zacząć się od znaków #PBS, po których można użyć różnych opcji:
Poniższy przykład skryptu wysyłanego do kolejki:
#PBS -N test-1
#PBS -q batch
#PBS -l nodes=3:ppn=4, walltime=2:00:00
#PBS -j oe
#PBS -o test.o
zadanie
definiuje następujące warunki zadania:
polecenie qdel job-id powoduje usunięcie z kolejki zadania o wskazanym numerze
polecenie pokazuje status wszystkich zadań znajdujących się w systemie kolejkującym. Jako nieobowiązkowy parametr można podać numer zadania (tzw. job-id) lub nazwę kolejki - wówczas będzie pokazany status tylko wskazanych zadań, lub znajdujacych się we wskazanej kolejce:
Job id Name User Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
88093.master Ce3 tecumseh 145:08:2 R single
88182.master mod1c_md4 karolamik 1452:18: R batch
88199.master tb.pbs mzielin 187:04:3 R batch
88200.master tb.pbs mzielin 187:07:4 R batch
88201.master tb.pbs mzielin 187:08:1 R batch
88202.master tb.pbs mzielin 186:59:4 R batch
88203.master tb.pbs mzielin 187:02:1 R batch
88204.master tb.pbs mzielin 187:10:8 R batch
88205.master tb.pbs mzielin 186:58:5 R batch
88206.master tb.pbs mzielin 186:59:6 R batch
88207.master tb.pbs mzielin 187:04:3 R batch
88209.master tb.pbs mzielin 187:01:0 R batch
88210.master tb.pbs mzielin 186:59:9 R batch
polecenie pokazuje status węzłów:
n1
state = job-exclusive,busy
np = 48
properties = dell
ntype = cluster
jobs = 0/88182.master, 1/88182.master, 2/88182.master, 3/88182.master, 4/88182.master, 5/88182.master, 6/88182.master, 7/88182.master, 8/88182.master, 9/88182.master, 10/88182.master, 11/88182.master, 12/88182.master, 13/88182.master, 14/88182.master, 15/88182.master, 16/88182.master, 17/88182.master, 18/88182.master, 19/88182.master, 20/88182.master, 21/88182.master, 22/88182.master, 23/88182.master, 24/88182.master, 25/88182.master, 26/88182.master, 27/88182.master, 28/88182.master, 29/88182.master, 30/88182.master, 31/88182.master, 32/88182.master, 33/88182.master, 34/88182.master, 35/88182.master, 36/88182.master, 37/88182.master, 38/88182.master, 39/88182.master, 40/88182.master, 41/88182.master, 42/88182.master, 43/88182.master, 44/88182.master, 45/88182.master, 46/88182.master, 47/88182.master
status = rectime=1446026760, varattr=, jobs=88182.master, state=busy, netload=12814551583, gres=, loadave=29.06, ncpus=48, physmem=198088144kb, availmem=196312616kb, totmem=198088144kb, idletime=6280885, nusers=1, nsessions=1, sessions=10168, uname=Linux n1 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64,opsys=linux
gpus = 0
...
n5
state = busy
np = 48
properties = dell
ntype = cluster
jobs = 0/88209.master, 1/88209.master, 2/88209.master, 3/88209.master, 4/88209.master, 5/88209.master, 6/88209.master, 7/88209.master, 8/88209.master, 9/88209.master, 10/88209.master, 11/88209.master, 12/88209.master, 13/88209.master, 14/88209.master, 15/88209.master, 16/88210.master, 17/88210.master, 18/88210.master, 19/88210.master, 20/88210.master, 21/88210.master, 22/88210.master, 23/88210.master, 24/88210.master, 25/88210.master, 26/88210.master, 27/88210.master, 28/88210.master, 29/88210.master, 30/88210.master, 31/88210.master
status = rectime=1446026758, varattr=, jobs=88209.master, state=busy, netload=13549296340, gres=, loadave=32.08, ncpus=48,physmem=198088144kb, availmem=116519628kb, totmem=198088144kb, idletime=6280923, nusers=1, nsessions=2, sessions=10416 10421, uname=Linux n5 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64,opsys=linux
gpus = 0
n6
state = free
np = 48
properties = dell
ntype = cluster
status = rectime=1446026751, varattr=, jobs=, state=free, netload=4343365038, gres=, loadave=0.02, ncpus=48, physmem=198088144kb, availmem=197636740kb, totmem=198088144kb, idletime=1782512, nusers=0, nsessions=? 0, sessions=? 0, uname=Linux n6 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64,opsys=linux
gpus = 0
n7
state = down
np = 48
properties = dell
ntype = cluster
status = rectime=1446026755, varattr=, jobs=, state=down, netload=4343365038, gres=, loadave=0.02, ncpus=48, physmem=198088144kb, availmem=197636740kb, totmem=198088144kb, idletime=1782512, nusers=0, nsessions=? 0, sessions=? 0, uname=Linux n6 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64,opsys=linux
gpus = 0
...
n11
state = offline
np = 48
properties = fast
ntype = cluster
status = rectime=1446031059, varattr=, jobs=, state=free, netload=2955488077, gres=, loadave=0.04, ncpus=48, physmem=264279116kb, availmem=263563112kb, totmem=264279116kb, idletime=95718, nusers=0, nsessions=? 0, sessions=? 0, uname=Linux n11 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64,opsys=linux
gpus = 0
...
W powyższym przykładzie:
polecenie korzysta z wyniku działania polecenia pbsnodes -a i wyświetla informacje w graficzny sposób, pokazując zajęte przez zadania rdzenie, np.:
core
node |0123456789|0123456789|0123456789|0123456789|01234567| jobs
-----+----------+----------+----------+----------+--------|----------
n1 |RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRR|88182(48)
n2 |RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRR|88199(16)88200(16)88201(16)
n3 |RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRR|88202(16)88203(16)88204(16)
n4 |RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRR|88205(16)88206(16)88207(16)
n5 |RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RR | |88209(16)88210(16)
n6 | | | | | |
n7 |DDDDDDDDDD|DDDDDDDDDD|DDDDDDDDDD|DDDDDDDDDD|DDDDDDDD|
n8 | | | | | |
n9 | | | | | |
n10 |R | | | | |88093(1)
n11 |XXXXXXXXXX|XXXXXXXXXX|XXXXXXXXXX|XXXXXXXXXX|XXXXXXXX|
n12 |RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRR|
|RRRRRRRRRR|RRRRRR----|----------|----------|--------|88215(64)
n13 |RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRRRR|RRRRRRRR|
|RRRRRRRRRR|RRRRRR----|----------|----------|--------|88215(64)
n14 | --|----------|----------|----------|--------|
Powyższy wynik pokazuje, że:
polecenie korzysta z wyniku działania polecenia qstat -f i wyświetla informacje:
nodes -> | 1 2 3 4 5 6 7 8 9 10 11 12 13 14|
jobs S | number of cores |
-----------------------+------------------------------------------+-----------
Total: | |
14 R | 48 48 48 48 32 0 0 0 0 1 0 64 64 0|
wynik pokazuje, że w systemie jest wykonywanych 14 zadań (status: R), które globalnie zajmują odpowiednie ilości rdzeni na poszczególnych węzłach
nodes -> | 1 2 3 4 5 6 7 8 9 10 11 12 13 14|
number user S | number of cores |
-----------------------+------------------------------------------+-----------
1 karolamik R | 48 0 0 0 0 0 0 0 0 0 0 0 0 0|
1 tecumseh R | 0 0 0 0 0 0 0 0 0 1 0 0 0 0|
12 mzielin R | 0 48 48 48 32 0 0 0 0 0 0 64 64 0|
-----------------------+------------------------------------------+-----------
Total: | |
14 R | 48 48 48 48 32 0 0 0 0 1 0 64 64 0|
wynik pokazuje, że:
nodes -> | 1 2 3 4 5 6 7 8 9 10 11 12 13 14|
job user S | number of cores | since
-----------------------+------------------------------------------+-----------
88093 tecumseh R | 0 0 0 0 0 0 0 0 0 1 0 0 0 0| 22.10.2015
88182 karolamik R | 48 0 0 0 0 0 0 0 0 0 0 0 0 0| 26.10.2015
88199 mzielin R | 0 16 0 0 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88200 mzielin R | 0 16 0 0 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88201 mzielin R | 0 16 0 0 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88202 mzielin R | 0 0 16 0 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88203 mzielin R | 0 0 16 0 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88204 mzielin R | 0 0 16 0 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88205 mzielin R | 0 0 0 16 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88206 mzielin R | 0 0 0 16 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88207 mzielin R | 0 0 0 16 0 0 0 0 0 0 0 0 0 0| 27.10.2015
88209 mzielin R | 0 0 0 0 16 0 0 0 0 0 0 0 0 0| 27.10.2015
88210 mzielin R | 0 0 0 0 16 0 0 0 0 0 0 0 0 0| 27.10.2015
88215 mzielin R | 0 0 0 0 0 0 0 0 0 0 0 64 64 0| 27.10.2015
-----------------------+------------------------------------------+-----------
Total: | |
14 R | 48 48 48 48 32 0 0 0 0 1 0 64 64 0|
wynik pokazuje, jakie zadania zajmują jakie węzły (i ile rdzeni) oraz kiedy zostały uruchomione