Αρχική σελίδα » Τεχνική Υποστήριξη » Εκτέλεση προγραμμάτων » Σύστημα Ουρών Torgue - Εντολές Χρηστών

Torgue-PBS-σύστημα

Για να εκτελέσουμε τα προγράμματά μας στη  μηχανή uranus κάνουμε  πρώτα  login στην μηχανή erato.cc.uoa.gr μέσω κάποιου προγράμματος πρωτοκόλλου SSH.

Εκεί ο χρήστης αναπτύσσει τα προγράμματά του και χρησιμοποιεί τους υπάρχοντες μεταφραστές cc/c++, Gnu-cc, f90 αλλά και τους mpicc, mpif90 (MPI για παράλληλη επεξεργασία).
Αφού σχηματιστεί το εκτελέσιμο πρόγραμμα, αυτό υποβάλλεται για εκτέλεση  uranus μέσω του συστήματος ουρών  Torque-PBS, μαζί με τις κατάλληλες παραμέτρους. Τα συστήματα του Υ/Κ διαθέτουν τρείς (3) ουρές:

  • parallel για προγράμματα (jobs) μέχρι 10 CPUs (2 εκτελέσεις ανά χρήστη και όριο χρόνου 15 μέρες)
  • serial για προγράμματα για μία CPU (10 εκτελέσεις ανά χρήστη και όριο χρόνου 15 μέρες)
  • short και στα δύο συστήματα για προγράμματα για μία CPU (4  εκτελέσεις ανά  χρήστη και όριο χρόνου 2 ώρες). Η ουρά αυτή χρησιμοποιείται κυρίως για δοκιμές.

Κάθε χρήστης έχει δικαίωμα να εκτελεί ταυτόχρονα μέχρι 8 εργασίες (jobs) στο σύστημα. Εργασίες που απαιτούν περισσότερες CPUs, υποβάλλονται έπειτα από συνεννόηση με το Υ/Κ.

Ο χρήστης μπορεί να υποβάλλει, να παρακολουθεί ή να διαγράφει εργασίες (jobs) από το BATCH σύστημα ουρών, χρησιμοποιώντας  τις παρακάτω εντολές (πάντα στην erato):

Qsub  - Υποβολή εργασιών

erato%  qsub  myscript.pbs

όπου myscript είναι το script file που περιέχει μέσα  τα #PBS  directives (παράμετροι υποβολής)  και την εντολή κλήσης του  εκτελέσιμου  στην μηχανή uranus για εκτέλεση.  Τα directives είναι η άλλη μορφή των επιλογών του qsub στη γραμμή εντολής.

Για παράδειγμα με την εντολή

qsub -q parallel myscript.pbs

υποβάλλουμε το πρόγραμμα στην ουρά parallel. Αν δεν προσδιορίσουμε όνομα ουράς - oύτε εκεί, ούτε μέσα στο script  - η τρέχουσα ουρά (default) είναι η serial.

με την εντολή:

qsub -lnodes=uranus:ppn=2 myscript.pbs

δεσμεύουμε 2 επεξεργαστές στη μηχανή uranus.

Με την υποβολή της εργασίας, το σύστημα επιστρέφει έναν αριθμό, ο οποίος είναι το job id της εργασίας μας.

Προσοχή
Με τα  #PBS directive δεσμεύουμε μόνο τους υπολογιστικούς πόρους -αριθμό επεξεργαστών, μνήμη κλπ για την εργασία μας.
Για να τρέξει παράλληλα ένα εκτελέσιμο πρόγραμμα, αυτό θα πρέπει να είναι ήδη παραλληλοποιημένο και να δηλωθεί με τον αντίστοιχο για κάθε πρόγραμμα τρόπο - βλ. παρακάτω script νο 3-  ο αριθμός των επεξεργαστών στην εντολή εκτέλεσης.
Αυτό είναι σημαντικό να το γνωρίζουμε για τις παράλληλες εκδόσεις των λογισμικών, που θέλουμε τα εκτελέσουμε. Tα λογισμικά Gaussian 98, ADF, Dalton είναι σε παράλληλη έκδοση.

Παρακάτω είναι τα παραδείγματα  script για αντίστοιχες περιπτώσεις:

  • Εκτέλεση σειριακού job script-serial
  • Εκτέλεση παράλληλου  job στον uranus  script-uranus
  • Εκτέλεση -παράλληλη- του επιστημονικού λογισμικού GAUSSIAN  script-gaussian
  • Εκτέλεση -παράλληλη- του επιστημονικού λογισμικού ADF script-adf
  • Εκτέλεση -παράλληλη- του επιστημονικού λογισμικού NAMD script-namd
  • Εκτέλεση -παράλληλη- του επιστημονικού λογισμικού DALTON script-dalton

 

Qdel  - Διαγραφή εργασιών

erato%   qdel  job_id όπου job_id είναι το job id της εργασίας, που θέλουμε να διαγράψουμε

Qstat - Επισκόπηση εργασιών

erato%   qstat -a με την εντολή αυτή βλέπουμε όλα τα jobs που τρέχουν ή περιμένουν σε όλες τις ουρές του συστήματος.


ΣΗΜΕΙΩΣΗ: Περισσότερες παραμέτρους για τις παραπάνω εντολές μπορείτε να βρείτε μέσω των εντολών:

man qsub,   man qdel   ή   man qstat, τις οποίες μπορείτε να δώσετε στην erato.