Οδηγίες Χρήσης Παράλληλης Μηχανής 160 πυρήνων (rbs.marie.hellasgrid.gr) 26/11/2018 V4, Αλλαγές στην Φάση 4 για Windows Φάση 1 η : Δημιουργία Κλειδιού RSA Η πιστοποίηση χρηστών γίνεται με τοv κρυπταλγο ριθμο ασύμμετρου κλειδιού RSA. Θα χρειαστεί να δημιουργήστε ένα RSA κλειδί σε linux ή windows. Συνιστάται σε linux. α. Σε linux με την εντολή ssh-keygen -t rsa 1. Ζητάει ο νομα αρχείου για την αποθήκευση του κλειδιού. Πατήστε enter (default). 2. Ζητάει να ορίσετε ένα passphrase, εισάγετε ένα string, (αλλά ο χι τον κωδικο σας) και 3. στην ερώτηση επιβεβαίωσης εισάγετε πάλι το string που δώσατε πριν. 4. Σημειώστε το string, θα το χρειαστείτε ως τον κωδικο προ σβασης στην παράλληλη μηχανή. 5. Στον φάκελο ~/.ssh θα έχουν δημιουργηθούν τα αρχεία id_rsa (το ιδιωτικο σας κλειδί), id_rsa.pub (το δημο σιο κλειδί) και (ίσως) known_hosts. β. Σε Windows χρησιμοποιήστε το puttygen, μέρος του putty. Για οδηγίες χρήσης δείτε στο https://docs.oracle.com/en/cloud/paas/event-hub-cloud/admin-guide/generate-ssh-key-pair-usingputtygen.html Θα δημιουργηθούν τα αρχεία id_rsa (το ιδιωτικο σας κλειδί), id_rsa.pub (το δημο σιο κλειδί). Θα σας ζητήσει passphrase, σημειώστε το string, θα το χρειαστείτε ως τον κωδικο προ σβασης στην παράλληλη μηχανή. Φάση 2 η : Πιστοποίηση Χρήστη (Authorization) 1. Με Browser connect to Web Address https://rbs.marie.hellasgrid.gr 2. Επιλογή (Not a Member) Register 3. Στην επο μενη οθο νη εισάγετε τα στοιχεία σας Full Name (ονοματεπώνυμο), User Name (για το μελλοντικο σας login), email, Password+Confirmation, CAPTCHA. 4. Σημειώστε το Password που βάλατε 5. Πατήστε Register 6. Άμεσα λαμβάνετε email απο Resources Booking System - Registration Confirmation (it@iasa.gr) με οδηγίες ενεργοποίησης του λογαριασμού. Οι ανωτέρω φάσεις 1, 2 απαιτούνται να γίνουν μο νο μια φορά, εκτο ς αν θέλετε να αλλάξετε το κλειδί, κλπ.
Φάση 3 η : Challenge Request 1. Μετά την ενεργοποίηση μπορείτε να κάνετε login στην Web Page rbs.marie.hellasgrid.gr (username+password) 2. Την πρώτη φορά subscribe to challenges 3. Βγαίνει User::Info με οδηγίες 4. Upload Public key (copy paste all contents of public key file - text) and submit 5. Click subscriptions section 6. Make request to Subscribe to available challenges (εμφανίζονται δυο, 4-6/10 και 17-30/11) 7. Θα λάβετε email ο ταν εγκριθεί το αίτημα (request) σας.. 8. Μετά απο Request Granted, σας δίδεται λογαριασμο ς για login στο front-end μηχάνημα parallel machine (160 cores). Η Φάση 3 γίνεται στην αρχή κάθε challenge (περίοδο που οι 20 μηχανές θα είναι διαθέσιμες), δηλαδή μο νο μια φορά ανά challenge. Προβλέπεται να έχουμε 3 challenges ανά ακαδημαϊκο έτος, εφέτος 17-30/11 (ανοικτο εργαστήριο για ο λους), και δυο περιο δους που θα κάνετε μετρήσεις για την εργασία που παραδώσετε μια εβδομάδα αργο τερα, α) 25/02-10/3 Παράδοση εργασίας 17/3 και β) 26/9-8/10 παράδοση εργασίας 15/10. Προσοχή 1 εβδομάδα μετά από κάθε challenge κλείνει ο λογαριασμός και καταστρέφονται όλα τα αρχεία. Να μεταφέρετε όποια αρχεία χρειάζεστε σε δικό σας χώρο μετά την λήξη του challenge. Είναι σημαντικό, ιδιαίτερα αν έχετε δημιουργήσει δικά σας scripts, έχετε αναπτύξει εν μέρει το πρόγραμμά σας, έχετε αρχεία μετρήσεων, profiling, κλπ σημαντικά για την εργασία σας. Στην αρχή κάθε challenge σας δίδεται νέος λογαριασμός, όπου θα πρέπει να μεταφέρετε τα αρχεία της Φάσης 4 ή/και άλλα δικά σας από προηγούμενο challenge. Οι λογαριασμοί θα διατηρούνται μόνο για 1 εβδομάδα μετά το τέλος του challenge. ΠΡΟΣΟΧΗ ΜΗΝ ΧΑΣΕΤΕ ΤΗΝ ΔΟΥΛΕΙΑ ΠΟΥ ΕΧΕΤΕ ΚΑΝΕΙ.
Φάση 4 η : Login to Front-End of Parallel Machine Σας έχει δοθεί λογαριασμο ς (username) της μορφής psdixxx με τον οποίο κάνετε login στο front-end της παράλληλης μηχανής απο κονσο λα του υπολογιστή σας a. Απο κονσο λα linux υπολογιστή με την εντολή ssh -i [path_to_your_private_key] psdixxx@rbs.marie.hellasgrid.gr b. ΝΕΟ για Windows, με putty, δυο επιλογές a. Με Run command ( Wind+R) με την εντολή putty.exe ssh i [path_to_your_private_key] psdixxx@rbs.marie.hellasgrid.gr Ανοίγει κονσο λα στον front-end, αναγνωρίζει το username και ζητάει το Passphrase. b. Τρέχετε το pageant (putty authentication agent), εμφανίζεται εικόνα στο task bar. Ανοίγετε, εισάγετε την θέση του private key, σας ζητάει το passphrase. Ανοίγετε το putty (ή και το WinScp) και με σύνδεση στο rbs.marie.hellasgrid.gr κάνει αυτόματα login και authentication. Δημιουργήστε ένα directory MpiDemo (mkdir MpiDemo), μετακινηθείτε σε αυτο ν (cd MpiDemo) και αντιγράψτε 1. Το αρχείο Commands.txt αρχείο απο ο που μπορείτε να κάνετε copy-paste τις εντολές που ακολουθούν (για την ευκολία σας), wget --no-check-certificate https://eclass.uoa.gr/modules/document/file.php/d36/instructionsiasa/commands.txt 2. MPI program ring.c χρήσιμο στην φάση 5 της μεταγλώττισης του: wget --no-check-certificate https://eclass.uoa.gr/modules/document/file.php/d36/instructionsiasa/ring.c 3. Ένα script χρήσιμο στην φάση 6 για την εκτέλεση του μεταγλωττισμένου ring.c : wget --no-check-certificate https://eclass.uoa.gr/modules/document/file.php/d36/instructionsiasa/mypbsscript.txt 4. As I cannot upload *.sh αρχεία, έχω βάλει κατάληξη.txt, μετονομάζετε mv mypbsscript.txt mypbsscript.sh {Πληροφορίες για το wget (δεν είναι απαραίτητo) στο https://www.computerhope.com/unix/wget.htm}
Φάση 5 η : Compiling MPI Programs Activate modules for openmpi 3.0.0 (η βιβλιοθήκη) and mpip (profiler) μια φορά ανά session module load openmpi mpip (or just module load openmpi) Compile yourprog εδώ ring.c με ή χωρίς profiling a. Compile an MPI program : mpicc -O3 ring.c -o ring.x b. Compile MPI with mpip for profiling : mpicc -O3 -g ring.c -L$MPIPROOT/lib -lmpip -lbfd -lunwind -o ringp.x Για προγράμματα OpenMp ή υβριδικά προγράμματα MPI+OpenMp χρειάζεται flag -fopenmp Φάση 6 η : Running MPI Programs Έχετε ήδη κατεβάσει και μετονομάσει το scipt mypbsscript.sh. Μπορείτε να δείτε τι περιέχει με more, less, cat, κλπ. Το αρχείο περιέχει εξηγήσεις, που θα αναλύσουμε περισσο τερο αργο τερα. Σημειώνουμε ο τι η δομή είναι με του torque 4.1, βασικές εντολές του 1. Submit this script file : qsub mypbsscript.sh Θα σας δώσει το jobid (int) ή μήνυμα λάθους στο script, πχ. Εάν ppn>8 (αριθμο ς διεργασιών σε κάθε επεξεργαστή-node). 2. Examine queue and status: qstat (δείτε τον jobid στη ουρά). Αν δεν υπάρχει, η εργασία έχει τελειώσει (για μικρά προγράμματα είναι πολύ συνηθισμένο) 3. Για διαγραφή qdel <id> Σε περίπτωση που θέλετε να ακυρώσετε την εκτέλεση Όταν η εκτέλεση τελειώσει θα δείτε στο home dir δυο αρχεία της μορφής output myjob.o<id> (για το output) και myjob.e<id> ( για τα λάθη εκτέλεσης). Οποιοδήποτε άλλο αρχείο, πχ.έξοδος mpip, θα εμφανιστεί στον κατάλογο απο τον οποίο εκτελέσατε το qsub.
Η Δομή του mypbsscript.sh για MPI προγράμματα Με πράσινο bold οι τιμές που μπορείτε να αλλάξετε κατά περίπτωση #!/bin/bash #Max VM size #PBS -l pvmem=2g # Max Wall time #PBS -l walltime=0:01:00 #2GByte per node Max # Example, 1 minute # How many nodes and MPI tasks per node #PBS -l nodes=2:ppn=8 # 2 nodes with 8 mpi tasks/node => 16 tasks #Which Queue #PBS -q parsys #PBS -N myjob # This is the only accessible queue for rbs # Jobname - it gives the stdout/err filenames ### Merge std[out err] #PBS -k oe #Change Working directory to SUBMIT directory cd $PBS_O_WORKDIR # THIS IS MANDATORY, PBS Starts everything from $HOME, one should change to submit directory #OpenMP Threads export OMP_NUM_THREADS=1 # OMP_NUM_THREADS is the default number of threads in openmp # Having modules mpip and openmpi loaded module load mpip openmpi mpirun ring.x # That was compiled on front-end