Changes between Initial Version and Version 1 of TorqueCheatsheet


Ignore:
Timestamp:
10/05/22 16:51:16 (2 years ago)
Author:
ypap
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TorqueCheatsheet

    v1 v1  
     1= Εκτέλεση στις ουρές =
     2
     3Έχουμε 3 βασικές ουρές:
     4*   clones
     5        - clone1 - clone16
     6*   termis
     7        - termi1 - termi3
     8*   serial
     9        - sandman, haci3, broady, broady2, broady3, dungani, gold1, gold2, silver1, quest
     10
     11και 1 γενική:
     12
     13*   parallel (clones, termis)
     14----
     15
     161.  Eκτέλεση σε κάποιο clone:
     17
     18`qsub -q clones script.sh `
     19
     20> ή για interactive mode:
     21>
     22> `qsub -q clones -I `
     23
     242.  Eκτέλεση σε κάποιο serial με 12 cores και 10G μνήμη:
     25
     26`qsub -q serial -l nodes=1:ppn=12,vmem=10000m script.sh `
     27
     283.  Eκτέλεση σε 4 serials με 4 cores και 2G μνήμη ανά node:
     29   
     30`qsub -q serial -l nodes=4:ppn=4,vmem=1900m script.sh`
     31
     324.  Eκτέλεση σε 1 node (parallel), με 8 cores, 10G μνήμη και local storage:
     33   
     34`qsub -q parallel -l nodes=1:ppn=8:local,vmem=10000m script.sh`
     35
     365.  Αν είστε συναισθηματικοί με το clone που πάντα είχατε (έστω clone4):
     37   
     38`qsub -q clones -l nodes=clone4:ppn=8,vmem=1800m -I`
     39 
     40> ή με τα clones που πάντα είχατε (έστω clone4-clone8):
     41>
     42> `qsub -q clones -l nodes=clone4:ppn=8+clone5:ppn=8+clone6:ppn=8+clone7:ppn=8+clone8:ppn=8,vmem=1800m -I`
     43----
     44== Παραδείγματα ==
     45=== Παράδειγμα 1: Interactive, 4 nodes, 8 cores each, unlimited memory usage (*CAREFUL*) ===
     46{{{
     47user@scirouter:~$ qsub -q clones -l nodes=4:ppn=8 -I
     48qsub: waiting for job 5435.localhost to start
     49qsub: job 5435.localhost ready
     50
     51user@clone1:~$ cat /var/spool/pbs/aux/5435.localhost |uniq
     52clone1
     53clone2
     54clone3
     55clone4
     56user@clone1:~$ ulimit -v
     57unlimited
     58user@clone1:~$
     59}}}
     60
     61=== Παράδειγμα 2: Interactive, 4 nodes, 8 cores each, limited memory usage ===
     62{{{
     63user@scirouter:~$ qsub -q clones -l nodes=4:ppn=8,vmem=1500m -I
     64qsub: waiting for job 5436.localhost to start
     65qsub: job 5436.localhost ready
     66
     67user@clone1:~$ cat /var/spool/pbs/aux/5436.localhost |uniq
     68clone1
     69clone2
     70clone3
     71clone4
     72user@clone1:~$ ulimit -v
     731536000
     74user@clone1:~$
     75}}}
     76
     77=== Παράδειγμα 3: Ιnteractive 3 nodes, 16 cores each, serial, limited memory usage ===
     78{{{
     79user@scirouter:~$ qsub -q serial -l nodes=3:ppn=16,vmem=10000m -I
     80qsub: waiting for job 5437.localhost to start
     81qstqsub: job 5437.localhost ready
     82
     83user@haci3:~$ cat /var/spool/pbs/aux/5437.localhost |uniq
     84haci3
     85sandman
     86broady
     87user@haci3:~$ ulimit -v
     8810240000
     89user@haci3:~$
     90}}}
     91
     92=== Παράδειγμα 4: NON-Ιnteractive 8 nodes, 4 cores each, parallel, limited memory usage per core ===
     93
     94Το αρχείο που θα κάνουμε `qsub`:
     95{{{
     96user@scirouter:~$ cat advection.pbs_small
     97#!/bin/bash -l
     98
     99#PBS -l nodes=8:ppn=4,pvmem=400m
     100#PBS -N advective_small
     101
     102cd advective3D
     103for itype in mx tcp
     104do
     105        for x in 32
     106        do
     107
     108        MX\_RCACHE=2 \\
     109                /usr/local/open-mpi/bin/mpirun \\
     110                -x MX\_RCACHE=2 \\
     111                -np $x --mca btl $itype,sm,self -bynode \\
     112                adv3D.comm -T 100 -X 256 -Y 256 -Z 256 -k 2 -x 1 -y 1 -z $x
     113        MX\_RCACHE=2 \\
     114                /usr/local/open-mpi/bin/mpirun \\
     115                -x MX\_RCACHE=2 \\
     116                -np $x --mca btl $itype,sm,self -bynode \\
     117                adv3D.comm -T 100 -X 256 -Y 256 -Z 256 -k 2 -x 1 -y $x -z 1
     118        MX\_RCACHE=2 \\
     119                /usr/local/open-mpi/bin/mpirun \\
     120                -x MX\_RCACHE=2 \\
     121                -np $x --mca btl $itype,sm,self -bynode \\
     122                adv3D.comm -T 100 -X 256 -Y 256 -Z 256 -k 2 -x $x -y 1 -z 1
     123        done
     124done
     125}}}
     126η εντολή:
     127{{{
     128user@scirouter:~$ qsub -q clones advection.pbs_small
     1295438.localhost
     130user@scirouter:~$
     131}}}
     132παρακολούθηση της εκτέλεσης:
     133{{{
     134user@scirouter:~$ qstat
     135Job id                    Name             User            Time Use S Queue
     136------------------------- ---------------- --------------- -------- - -----
     1375438.localhost            advective\_small  user                 0 R clones         
     138user@scirouter:~$
     139}}}
     140και το output:
     141{{{
     142user@scirouter:~$ cat advective_small.o5438
     1431x1x32 1.171 0.906 0.427 0.479 0.266
     1441x32x1 0.533 0.349 0.032 0.317 0.184
     14532x1x1 0.500 0.319 0.041 0.278 0.182
     1461x1x32 2.370 2.104 0.328 1.776 0.266
     1471x32x1 2.051 1.840 0.021 1.818 0.211
     14832x1x1 2.070 1.877 0.026 1.850 0.193
     149}}}
     150Αντίστοιχα για 2 ουρές:
     151{{{
     152user@scirouter:~$ qsub -q clones advection.pbs_small
     1535441.localhost
     154user@scirouter:~$ qsub -q termis advection.pbs_small
     1555442.localhost
     156user@scirouter:~$ qstat
     157Job id                    Name             User            Time Use S Queue
     158------------------------- ---------------- --------------- -------- - -----
     1595441.localhost            advective_small  user                 0 R clones         
     1605442.localhost            advective_small  user                 0 R termis
     161}}}
     162και το output:
     163{{{
     164user@scirouter:~$ cat advective_small.o5441
     1651x1x32 1.131 0.887 0.469 0.418 0.244
     1661x32x1 0.801 0.478 0.031 0.448 0.323
     16732x1x1 0.507 0.330 0.044 0.286 0.177
     1681x1x32 2.181 1.909 0.323 1.585 0.272
     1691x32x1 2.065 1.835 0.020 1.815 0.230
     17032x1x1 2.055 1.864 0.026 1.838 0.191
     171user@scirouter:~$ cat advective_small.o5442
     1721x1x32 3.470 2.702 1.016 1.686 0.768
     1731x32x1 2.170 1.335 0.087 1.248 0.835
     17432x1x1 2.064 1.504 0.089 1.415 0.560
     1751x1x32 4.181 3.404 0.757 2.646 0.778
     1761x32x1 3.365 2.447 0.076 2.371 0.918
     17732x1x1 3.253 2.603 0.105 2.497 0.650
     178}}}
     179
     180=== Tips ===
     181
     182*   1. Αν θέλουμε να τρέχουμε interactive jobs, για να μπορούμε να τα αφήσουμε να τρέχουν και να τα ανακτήσουμε αργότερα τρέχουμε
     183   
     184    `screen`
     185   
     186    στον scirouter και μετά qsub κλπ. για να βγούμε από το screen, αρκεί το ctrl-A-d (detach) και για να ξαναμπούμε κάποια στιγμή το
     187   
     188    `screen -Rx`
     189   
     190
     191*   2. Προσοχη στη χρήση της μνήμης: Η εντολή
     192   
     193    `pbsnodelist`
     194   
     195    μας δίνει την κατάσταση των μηχανημάτων. Το 5ο πεδίο είναι η διαθέσιμη μνήμη του μηχανήματος σε MB. Φροντίζουμε να ορίζουμε πάντα το vmem=XXXXm για να είμαστε σίγουροι ότι θα τρέξουμε σε μηχάνημα που _σηκώνει_ την εφαρμογή μας.
     196
     197*   3. Προς το παρόν ακολουθούμε την πεπατημένη χρησιμοποιώντας ολόκληρα μηχανήματα για όσο διαρκεί η δουλειά που θέλουμε να τρέξουμε.
     198*   4. Οι κόμβοι, σύμφωνα με το pbsnodelist έχουν συγκεκριμένα χαρακτηριστικά (πχ. mx10g -- myrinet 10gbps, mx2g -- myrinet 2+2gbps, local -- local storage, clover -- intel core αρχιτεκτονική code name: clovertown κλπ.) επομένως αν θέλουμε τα τρέξουμε σε myri10g με local storage γράφουμε:
     199   
     200    `qsub -q clones -l nodes=4:ppn8:mx10g:local -I`