Εισαγωγή στου Υπερυπολογιστές και το σύστημα ARIS

Τι είναι υπερυπολογιστής;

Οι “Υπερυπολογιστές” είναι υπολογιστικά συστήματα που αξιοποιούνται σε επιστημονικές εφαρμογές οι οποίες απαιτούν την εκτέλεση πολλών εκατομμυρίων μαθηματικών πράξεων ή την επεξεργασία μεγάλου όγκου δεδομένων. Λόγω αυτών των απαιτήσεων τέτοιου είδους προβλήματα είτε θα χρειάζονταν απαγορευτικά μεγάλο χρόνο για να ολοκληρωθούν σε έναν απλό υπολογιστή γραφείου είτε λόγω περιορισμένων πόρων (π.χ. κεντρική μνήμη, αποθηκευτικός χώρος) δεν είναι εφικτό να πραγματοποιηθούν καθόλου. Οι υπερυπολογιστές ξεπερνούν τους περιορισμούς αυτούς χρησιμοποιώντας εξειδικευμένο υλικό τελευταίας τεχνολογίας κάθε χρονική στιγμή, εκμεταλλευόμενοι παράλληλα την υπολογιστική ισχύ από πολλαπλές υπολογιστικές μονάδες. Ένας υπερυπολογιστής σήμερα είναι στην πραγματικότητα ένα σύστημα από εκατοντάδες ή και χιλιάδες υπολογιστές (στους οποίους αναφερόμαστε συνήθως ως “κόμβους) που επικοινωνούν μεταξύ τους χρησιμοποιώντας ένα πολύ γρήγορο δίκτυο και οι οποίοι συνεργατικά μπορούν να επιλύουν προβλήματα με μεγάλη ταχύτητα.

Ένας υπερυπολογιστής είναι ένα πανίσχυρο εργαλείο πραγματοποίησης έρευνας. Σήμερα οι υπερυπολογιστές χρησιμοποιούνται για να επιλύσουν μερικά από τα σημαντικότερα προβλήματα της ανθρωπότητας, όπως η προέλευση του σύμπαντος, η ανακάλυψη νέων φαρμάκων, οι έρευνες για την κλιματική αλλαγή και πολλά άλλα. Για παράδειγμα, στην Ελλάδα το ΕΔΕΤ έχει αναπτύξει και λειτουργεί το υπερυπολογιστικό σύστημα ARIS το οποίο αξιοποιείται σε ένα πολύ μεγάλο εύρος εφαρμογών όπως είναι

  • η βιοχημεία για μελέτη βιολογικών διεργασιών και πιθανών τρόπων παρέμβασης (π.χ. ανακάλυψη νέων φαρμάκων)
  • η χημεία για μελέτη ιδιοτήτων ατόμων, ενώσεων, π.χ. σχεδίαση νέων υλικών,
  • η φυσική για προσομοίωση φαινομένων σε διάφορα επίπεδα, από τα υπο-ατομικά σωματίδια έως τους αστέρες και το σύμπαν, βοηθώντας π.χ. τους αστροφυσικούς να ερμηνεύουν τις παρατηρήσεις για το σύμπαν μας,
  • κλιματολογία για τη μελέτη των κλιματολογικών αλλαγών στην περιοχή της Ελλάδας και τους παράγοντες που το επηρεάζουν
  • μετεωρολογία για την βελτίωση των μοντέλων πρόγνωσης που χρησιμοποιούνται στην Ελλάδα
  • μηχανική για προσομοίωση ροής ρευστών

aris_collage

Τι είναι το ARIS;

Το ARIS (Advanced Research Information System) είναι το ισχυρότερο υπολογιστικό σύστημα στην Ελλάδα για επιστημονικές εφαρμογές. Τέθηκε σε λειτουργία τον Ιούλιο του 2015 από την ΕΔΕΤ Α.Ε. προσφέροντας ένα ισχυρό εργαλείο έρευνας στην Ελληνική επιστημονική κοινότητα. Το σύστημα κατά την έναρξη λειτουργίας του συμπεριλήφθηκε στη λίστα με τους 500 ισχυρότερους υπολογιστές του κόσμου (top500.org) και έβαλε την Ελλάδα στο παγκόσμιο χάρτη των συστημάτων υψηλών επιδόσεων. Το υπολογιστικό σύστημα ARIS σήμερα έχει μέγιστη θεωρητική υπολογιστική ισχύ 444 TFlop/s (μπορεί δηλαδή να εκτελεί 444 τρισεκατομμύρια μαθηματικές πράξεις το δευτερόλεπτο) και προσφέρει πολλαπλές δυνατότητες επεξεργασίας δεδομένων.

picture1

Αρχιτεκτονική του συστήματος

Ο ARIS συνδυάζει 4 διαφορετικές αρχιτεκτονικές διαμοιρασμένες σε αντίστοιχες “νησίδες κόμβων”

Αναλυτικά, η υποδομή αποτελείται από:

  • Μία νησίδα η οποία διαθέτει 426 υπολογιστικούς κόμβους (thin nodes). Κάθε κόμβος διαθέτει δύο επεξεργαστές και κάθε επεξεργαστής περιέχει 10 επεξεργαστικούς πυρήνες προσφέροντας έτσι συνολικά 8.520 πυρήνες (CPU cores). Οι κόμβοι αυτοί είναι κατάλληλοι για εφαρμογές υψηλής παραλληλίας που μπορούν να σπάσουν τα δεδομένα τους σε πολλά μικρά κομμάτια πριν τα επεξεργαστούν.
  • Μια νησίδα κόμβων μεγάλης μνήμης (fat nodes) που αποτελείται από 44 κόμβους. Κάθε κόμβος προσφέρει 4 επεξεργαστές, 40 πυρήνες και 512 GB κεντρικής μνήμης ανά κόμβο. Οι κόμβοι αυτοί είναι κατάλληλοι για εφαρμογές που χρειάζονται πολύ μεγάλη κεντρική μνήμη και όχι τόσο για υψηλή κλιμάκωση.
  • Μια νησίδα κόμβων επιταχυντών GPU (gpu nodes) που αποτελείται από 44 κόμβους. Κάθε κόμβος περιέχει 2 επεξεργαστές με 10 πυρήνες ανά επεξεργαστή, 64 GB μνήμης και 2 κάρτες γραφικών GPU NVidia K40. Οι κόμβοι αυτοί είναι κατάλληλοι για εφαρμογές που υλοποιούν υπολογιστικές πράξεις που μπορούν να αξιοποιήσουν τις κάρτες γραφικών ως συνεπεξεργαστές για επιτάχυνση των υπολογισμών.
  • Μια νησίδα κόμβων επιταχυντών Xeon Phi (phi nodes) που αποτελείται από 18 κόμβους, καθένας εκ των οποίων περιέχει 2 επεξεργαστές με 10 πυρήνες, 64 GB μνήμης και 2 συνεπεξεργαστές Intel Xeon Phi 7120P. Είναι κατάλληλη για παράλληλες εφαρμογές που αξιοποιούν την τεχνολογία συνεπεξεργαστών της Intel Xeon Phi.

Μια νησίδα κόμβων είναι μια ομάδα υπολογιστικών μονάδων οι οποίες έχουν όμοια αρχιτεκτονική, μοιράζονται το ίδιο δίκτυο επικοινωνίας και έχουν πρόσβαση σε κοινό σύστημα αρχείων.

picture2Συστήματα αποθήκευσης

Τα προγράμματα που τρέχουν σε υπερυπολογιστές παράγουν δυνητικά έναν τεράστιο όγκο δεδομένων, που μπορεί να είναι πολύ δύσκολο για τα τυπικά συστήματα αρχείων και την υποδομή αποθήκευσης να τα διαχειριστούν. Τα συνηθισμένα συστήματα αρχείων δεδομένων, μπορεί να έχουν ένα ανώτατο όριο για το μέγεθος του αρχείου, τον αριθμό των αρχείων ή τον συνολικό χώρο αποθήκευσης. Τα συστήματα αρχείων που χρησιμοποιούνται στους υπερυπολογιστές έχουν τη δυνατότητα να επεκτείνονται, να μεταφέρουν γρήγορα μεγάλο όγκο δεδομένων και να είναι προσβάσιμα ταυτόχρονα από όλες τις νησίδες κόμβων. O ARIS για το σύστημα αρχείων του υλοποιεί την τεχνολογία General Parallel File System (GPFS) της IBM προσφέροντας 2 PetaBytes αποθηκευτικού χώρου στους χρήστες του.

Εκτός από τα δεδομένα που χρησιμοποιούνται άμεσα, οι ερευνητές συχνά διατηρούν ιστορικά δεδομένα για σύγκριση ή ως σημείο εκκίνησης για μελλοντικές εργασίες. Τα παλαιότερα δεδομένα διατηρούνται σε αρχειακά συστήματα αποθήκευσης. Ένα παράδειγμα αρχειακής αποθήκευσης (archiving) είναι το μαγνητικό σύστημα αποθήκευσης ταινίας, η οποία μπορεί να αποθηκεύσει αρκετά petabytes (εκατομμύρια gigabytes) δεδομένων. Η υποδομή ARIS διαθέτει μία τέτοια βιβλιοθήκη ταινιών ΙΒΜ TS3500 μέγιστης αποθηκευτικής δυνατότητας που ξεπερνά τα 2 PetaByte. Η βιβλιοθήκη χρησιμοποιείται από τους ερευνητές για αρχειοθέτηση των δεδομένων για μεγάλες χρονικές περιόδους (αρκετά χρόνια).

Προφίλ εφαρμογών που τρέχουν στο ARIS

Κατάλληλες εφαρμογές για το σύστημα ARIS είναι αυτές που μπορούν να υλοποιηθούν υιοθετώντας κάποιο μοντέλο παράλληλης επεξεργασίας. Μια παράλληλη εφαρμογή κατά την εκτέλεσή της διαχωρίζεται σε εκατοντάδες ή και χιλιάδες επιμέρους διεργασίες, οι οποίες εκτελούνται ταυτόχρονα και συνεργατικά επιλύουν ένα κοινό πρόβλημα. Οι διεργασίες αυτές για να επιλύσουν το πρόβλημα πρέπει να έχουν πρόσβαση στα ίδια δεδομένα και να επικοινωνούν μεταξύ τους ανταλλάσσοντας αποτελέσματα. Ανάλογα με τον τρόπο που επιτυγχάνεται αυτή η επικοινωνία μπορούμε να διαφοροποιήσουμε τον τρόπο που σχεδιάζονται και αναπτύσσονται οι εφαρμογές αυτές και τα εργαλεία προγραμματισμού που πρέπει να χρησιμοποιηθούν.

Υπάρχουν δύο διαδεδομένα μοντέλα ανάπτυξης παράλληλων εφαρμογών: το μοντέλο κοινής μνήμης (shared memory) και το μοντέλο κατανεμημένης κοινής μνήμης (distributed memory). Σε ένα σύστημα κοινής μνήμης, η κεντρική μνήμη μπορεί να προσπελαστεί από όλες τις διεργασίες, ενώ σε ένα σύστημα κατανεμημένης μνήμης, η μνήμη δεν είναι προσβάσιμη μεταξύ διαφορετικών διεργασιών και η επικοινωνία μεταξύ των διεργασιών γίνεται με ανταλλαγή μηνυμάτων. Σε αυτού του είδους τις εφαρμογές μεγάλη σημασία παίζει το δίκτυο που συνδέει τους υπολογιστικούς κόμβους μέσω του οποίου γίνεται η ανταλλαγή των μηνυμάτων μεταξύ διεργασιών.

Η ανάπτυξη εφαρμογών σε συστήματα κοινής μνήμης γίνεται με τη βοήθεια του προτύπου OpenMP, ενώ στα συστήματα κατανεμημένης μνήμης βρίσκει εφαρμογή το πρότυπο MPI (Message Passing Interface). Σε πολλές περιπτώσεις οι εφαρμογές αναπτύσσονται με τέτοιο τρόπο ώστε να συνδυάζουν και τα δύο παραπάνω μοντέλα επικοινωνίας.

Τα τελευταία χρόνια παρατηρείται η χρήση της μονάδας επεξεργασίας γραφικών (Graphical Processing Unit – GPU) για τον υπολογισμό αριθμητικά απαιτητικών αλγορίθμων. H GPU έχει ως πρωταρχικό στόχο την επεξεργασία δισδιάστατων και τρισδιάστατων γραφικών που εμφανίζονται στην οθόνη, κάτι που απαιτεί την ταυτόχρονη εφαρμογή εντολών σε μεγάλο όγκο δεδομένων. Αυτό επιτυγχάνεται μέσω της παράλληλης επεξεργασίας, πάνω στην οποία στηρίχτηκε η κατασκευή της GPU. Το ARIS διαθέτει επεξεργαστικές μονάδες GPU της εταιρίας παραγωγής NVIDIA. Για την εκτέλεση γενικών πράξεων στις κάρτες γραφικών, η NVIDIA, παρέχει τη προγραμματιστική διεπαφή API: CUDA (Compute Unified Device Architecture).

Οι γλώσσες προγραμματισμού που χρησιμοποιούνται για την ανάπτυξη παράλληλων εφαρμογών είναι στις περισσότερες περιπτώσεις, οι συνηθισμένες γλώσσες γενικού σκοπού, όπως η C/C++ ή Fortran που επεκτείνονται με εξειδικευμένες βιβλιοθήκες ώστε να υποστηρίζουν την παραλληλία MPI, OpenMP, CUDA. Οι προγραμματιστές πρέπει να σχεδιάσουν την εφαρμογή τους με τέτοιο τρόπο ώστε να λειτουργούν σε μορφή παράλληλων συνεργατικών διεργασιών χρησιμοποιώντας τις δυνατότητες που προσφέρουν οι βιβλιοθήκες MPI και OpenMP.

Πρόσβαση και χρήση του συστήματος

Η πρόσβαση στο ARIS είναι ανοιχτή για όλους τους επιστήμονες και ερευνητές, οι οποίοι εργάζονται σε Ελληνικά εκπαιδευτικά ή/και ερευνητικά ιδρύματα, και γίνεται μέσω προσκλήσεων πρότασης έργου. Το ΕΔΕΤ για να εξασφαλίσει την ισότιμη και ανοιχτή πρόσβαση στο σύστημα έχει καθιερώσει την Πολιτική Πρόσβασης και Χρήσης του Εθνικού Υπερυπολογιστικού συστήματος https://hpc.grnet.gr/access/access_policy/. Η πολιτική πρόσβασης ακολουθεί τα διεθνή πρότυπα και τις καλές πρακτικές που ακολουθούν τα περισσότερα υπερυπολογιστικά κέντρα του κόσμου τα οποία όπως και το ΕΔΕΤ προσφέρουν υπολογιστικούς πόρους σε επιστημονικές ομάδες.
Κατάθεση πρότασης
Οι ενδιαφερόμενοι επιστήμονες που δραστηριοποιούνται σε Ελληνικά ιδρύματα και χρειάζονται πρόσβαση στο ARIS θα πρέπει να καταθέσουν μια πρόταση στο πλαίσιο σχετικής πρόσκλησης του ΕΔΕΤ. Οι προσκλήσεις έργων ομαδοποιούνται σε δύο κατηγορίες:

  • Τα Έργα Παραγωγής, τα οποία έχουν την τεχνική αρτιότητα για να εκμεταλλευτούν τους διαθέσιμους πόρους και έχουν αξιολογηθεί θετικά από ομότιμους αξιολογητές (“peer review”).
    • Πρόσκληση για την κατάθεση προτάσεων: κάθε 6 μήνες
    • Διάρκεια έργων: 12 μήνες.
    • Αξιολόγηση: Τεχνική / Επιστημονική μέσω διαδικασίας peer-review
  • Τα Έργα Προετοιμασίας/Ανάπτυξης, τα οποία έχουν περάσει το στάδιο ανάπτυξης και χρειάζονται επικύρωση της τεχνικής αρτιότητας (π.χ. ικανότητα κλιμάκωσης), ή έχουν σκοπό τη μεταφορά και βελτιστοποίηση του κώδικά τους ώστε να λειτουργεί αποδοτικά στο σύστημα ARIS με σκοπό να μπορέσουν να προχωρήσουν σε κατάσταση παραγωγής.
    • Συνεχής Πρόσκληση για την κατάθεση προτάσεων
    • Διάρκεια έργων: 2- 4 μήνες
    • Τεχνική Αξιολόγηση

Η κατάθεση των προτάσεων γίνεται online μέσω του ιστοχώρου της υπηρεσίας HPC του ΕΔΕΤ:

https://hpc.grnet.gr/access/

Στην πρότασή τους οι ενδιαφερόμενοι χρήστες θα πρέπει να περιγράψουν την εφαρμογή που θέλουν να εκτελέσουν, τα τεχνικά χαρακτηριστικά της, τον επιστημονικό αντίκτυπο της εργασίας τους και το χρόνο που θα χρειαστούν στο σύστημα για την ολοκλήρωσή της. Η χρήση των πόρων του ARIS υπολογίζεται σε μονάδες υπολογιστικού χρόνου «ώρες πυρήνα» (core-hours). Μία core-hour ισούται με έναν επεξεργαστικό πυρήνα (core) που χρησιμοποιείται για τη διάρκεια μίας ώρας χρόνου εκτέλεσης.

 Παράδειγμα Υπολογισμού Core Hours

320 cores x 24 Hours = 7680 Core Hours
16 Nodes x 20 Cores x 24 Hours = 7680 Core Hours

Ένα εγκεκριμένο έργο παίρνει πρόσβαση για συγκεκριμένο χρονικό διάστημα και του ανατίθεται συγκεκριμένος αριθμός core-hours που μπορεί να καταναλώσει.

Αφότου γίνει δεκτή μια πρόταση, η ομάδα υποστήριξης χρηστών του ARIS ζητά τις ακόλουθες πληροφορίες από κάθε χρήστη του έργου:

  • Συμπληρωμένη και υπογεγραμμένη την Πολιτική Χρήσης του συστήματος [Acceptable Usage Policy (AUP)] για το εκάστοτε έργο.
  • Ένα επιθυμητό username.
  • Το κλειδί ταυτοποίησης του χρήστη public ssh-key. (Αναλυτικές οδηγίες για τον τρόπο δημιουργίας ssh κλειδιών μπορείτε να βρείτε στο σύνδεσμο http://doc.aris.grnet.gr/login/#generating-ssh-keys)
  • Μια σταθερή διεύθυνση (ή διευθύνσεις) IP από την οποία ο χρήστης συνδέεται στο σύστημα. Αυτή μπορεί να είναι για παράδειγμα η IP του υπολογιστή του χρήστη στο ίδρυμα που εργάζεται, ή οι διευθύνσεις της υπηρεσίας VPN του ιδρύματος, ή το υποδίκτυο του εργαστηρίου στο οποίο εργάζεται συνήθως ο χρήστης.

Τέλος μια βασική απαίτηση από το ΕΔΕΤ είναι η αναγνώριση του ARIS (acknowledgement) σε όλες τις δημοσιεύσεις των χρηστών σχετικά με τα αποτελέσματα που λαμβάνονται από τη χρήση των διατιθέμενων πόρων.

Λειτουργικό σύστημα

Το ARIS χρησιμοποιεί το λειτουργικό σύστημα Linux στις διανομές (distributions) RedHat 6.9 και Centos 6.9. Η αλληλεπίδραση με το σύστημα γίνεται μέσω γραμμής εντολών και όχι από γραφικό περιβάλλον (όπως τυπικά γίνεται π.χ. σε ένα σύστημα MS Windows). Η γραμμή εντολών Linux είναι ένα ισχυρό εργαλείο, με σημαντικά περισσότερες δυνατότητες έναντι του γραφικού περιβάλλοντος. Για τη χρήση του συστήματος είναι απαραίτητη η γνώση των βασικότερων εντολών που θα χρησιμοποιηθούν κατά τη σύνδεση, τη μεταφορά των αρχείων, τη μεταγλώττιση εφαρμογών και την εκτέλεση εργασιών στο σύστημα.
Σύνδεση με το σύστημα
O μόνος τρόπος σύνδεσης στο σύστημα γίνεται με χρήση του πρωτοκόλλου ssh (secure shell). Το ssh επιτρέπει σε ένα χρήστη να συνδεθεί μέσω Internet από τον δικό του υπολογιστή και να χρησιμοποιήσει έναν απομακρυσμένο υπολογιστή από τη γραμμή εντολής, ακριβώς όπως θα δούλευε στο δικό του τοπικό σύστημα. Η σύνδεση στο σύστημα δε γίνεται με κωδικό πρόσβασης (password) αλλά χρησιμοποιείται τεχνολογία δημοσίου κλειδιού (public key cryptography). Κάθε χρήστης έχει ένα μοναδικό κλειδί το οποίο το ssh το χρησιμοποιεί μαζί με το όνομα χρήστη, αντί κωδικού για τη σύνδεση.

Η πρόσβαση γίνεται από τον υπολογιστή του χρήστη στους κόμβους διασύνδεσης (login nodes) του ARIS. Οι κόμβοι διασύνδεσης είναι οι μόνοι κόμβοι του συστήματος ARIS οι οποίοι έχουν σύνδεση με το Internet. Από εκεί αποστέλλονται οι εργασίες για εκτέλεση σε μία από τις νησίδες υπολογιστικών κόμβων.

Αναλυτικές οδηγίες για τη σύνδεση υπάρχουν στη σελίδα τεκμηρίωσης:

http://doc.aris.grnet.gr/login/#login-to-aris

Μεταφορά αρχείων

Κάθε αρχείο που θα χρησιμοποιηθεί στο ARIS, είτε αυτό είναι η ίδια η εφαρμογή είτε τα αρχεία δεδομένων της εφαρμογής, πρέπει να μεταφερθεί από τον υπολογιστή του χρήστη στους κόμβους διασύνδεσης χρησιμοποιώντας τα αντίστοιχα πρωτόκολλα για τη μεταφορά αρχείων scp ή sftp.

Αναλυτικές οδηγίες για τη μεταφορά δεδομένων υπάρχουν στη σελίδα τεκμηρίωσης:

http://doc.aris.grnet.gr/login/#data-transfer

Ανάπτυξη Εφαρμογών

To ARIS διαθέτει όλα τα απαραίτητα εργαλεία για την ανάπτυξη εφαρμογών όπως μεταγλωττιστές, λογισμικό αποσφαλμάτωσης (debugging) και λογισμικό ανάλυσης απόδοσης (profiling) που βοηθούν στη βελτιστοποίηση των εφαρμογών για το σύστημα.

Για τη μεταγλώττιση πηγαίου κώδικα σε γλώσσες C/C++ και Fortran παρέχονται τρεις διαφορετικές σουίτες μεταγλωττιστών:

  • GNU (gcc, g++, gfortran)
  • Intel® Parallel Studio XE Cluster Edition for Linux
  • PGI Cluster Development Kit for Linux

Για τις παράλληλες βιβλιοθήκες MPI διατίθενται οι αντίστοιχες εκδόσεις λογισμικού OpenMPI και IntelMPI. Για τη μεταγλώττιση κώδικα που θα εκτελείται σε κάρτες γραφικών διατίθεται η έκδοση μεταγλωττιστή της NVIDIA, για το προγραμματιστικό μοντέλο CUDA nvcc.

Αναλυτικές οδηγίες για τα εργαλεία ανάπτυξης εφαρμογών υπάρχουν στη σελίδα τεκμηρίωσης:

http://doc.aris.grnet.gr/development/

Προεγκατεστημένες εφαρμογές

Το ARIS προσφέρει έναν μεγάλο αριθμό προεγκατεστημένων δημοφιλών επιστημονικών εφαρμογών και βιβλιοθηκών, οι οποίες είναι βελτιστοποιημένες και παραμετροποιημένες ώστε να αξιοποιούν αποδοτικά το σύστημα. Η βέλτιστη προσέγγιση που προτείνεται στους χρήστες του ARIS είναι να χρησιμοποιούν τις προεγκατεστημένες εφαρμογές. Επιπλέον εφαρμογές μπορούν να εγκατασταθούν με τη βοήθεια της ομάδας υποστήριξης. Τέλος για νέες εφαρμογές που αναπτύσσονται μπορεί να γίνει μεταγλώττιση με τις κατάλληλες παραμέτρους από τους ίδιους τους χρήστες χρησιμοποιώντας τα εργαλεία μεταγλώττισης που αναφέρθηκαν παραπάνω.

Αναλυτικές οδηγίες για το περιβάλλον χρήστη:

http://doc.aris.grnet.gr/environment/#environment-modules

Εκτέλεση εφαρμογών

Το ARIS όπως όλα τα μεγάλα συστήματα του είδους, ακολουθεί τη λογική της εκτέλεσης των εφαρμογών σε ομάδες εργασιών (batch job execution). Για να εκτελεστεί μια εφαρμογή πρέπει πρώτα να περιγραφεί ως εργασία και να αποσταλεί σε ένα σύστημα χρονοπρογραμματισμού (scheduler) που αναλαμβάνει να τη δρομολογήσει για εκτέλεση στους υπολογιστικούς κόμβους. Το ARIS χρησιμοποιεί το πρόγραμμα SLURM για τη διανομή εργασιών στον υπερυπολογιστή. Το SLURM έχει τρεις βασικές λειτουργίες. Πρώτον, διαθέτει αποκλειστική ή μη αποκλειστική πρόσβαση στους πόρους (υπολογιστικούς κόμβους) στους χρήστες για ορισμένο χρονικό διάστημα, ώστε να μπορούν να εκτελούν εργασία. Δεύτερον, παρέχει ένα πλαίσιο για την εκκίνηση, εκτέλεση και παρακολούθηση εργασιών. Τέλος, εξασφαλίζει τον διαμοιρασμό των υπολογιστικών κόμβων σε πολλούς χρήστες ταυτόχρονα αποφεύγοντας προβλήματα ανταγωνισμού μεταξύ τους. Αυτό επιτυγχάνεται με μια ουρά εργασιών για κάθε νησίδα κόμβων, στην οποία εφαρμόζεται η δίκαιη και ισότιμη προτεραιότητα για κάθε χρήστη ανάλογα με τους πόρους που απαιτεί από την εφαρμογή.

Ο χρήστης μπορεί να δρομολογήσει εργασίες από τον κόμβο διασύνδεσης στο σύστημα μέσω κατάλληλης εντολής του SLURM (sbatch). Κάθε εργασία για να γίνει αποδεκτή και να μπορέσει να δρομολογηθεί πρέπει να καθορίζει κάποιες ελάχιστες προδιαγραφές: την νησίδα που προτιμάται για την εκτέλεση, το πλήθος των κόμβων που απαιτούνται, το πλήθος πυρήνων ανά κόμβο, το μέγιστο χρόνο εκτέλεσης και την εντολή προγράμματος που θα εκτελεστεί. Οι προδιαγραφές αυτές πρέπει να οριστούν σε ένα αρχείο κειμένου που ονομάζεται σενάριο εργασίας (batch script). Για τη δημιουργία του αρχείου προδιαγραφών για το ARIS υπάρχει το εργαλείο http://doc.aris.grnet.gr/scripttemplate/ που το εξάγει εύκολα.

Μια εργασία όταν δρομολογηθεί μπορεί να μην εκτελεστεί αμέσως αν δεν είναι διαθέσιμοι οι απαραίτητοι πόροι. Σε αυτή την περίπτωση μπαίνει στην κατάλληλη ουρά προτεραιότητας και περιμένει έως ότου ελευθερωθούν οι πόροι που χρειάζεται (π.χ. ο αριθμός κόμβων που απαιτείται για την εκτέλεσή της) οπότε το SLURM θα αναλάβει αυτόματα να τις ξεκινήσει. Ο χρόνος αναμονής εξαρτάται από τις απαιτήσεις που έχει προδιαγράψει η εργασία και κυμαίνεται από μερικά λεπτά έως αρκετές ώρες.

Όπως φαίνεται από τα παραπάνω το ARIS είναι κατάλληλο για εφαρμογές οι οποίες είναι παράλληλες, εκτελούνται αυτόνομα στο πλαίσιο μιας εργασίας, με συγκεκριμένο χρόνο εκτέλεσης και δεν επικοινωνούν με τον χρήστη ή με άλλες εφαρμογές. Είναι σημαντικό να τονιστεί ότι δεν υπάρχει δυνατότητα επικοινωνίας της εφαρμογής μέσω Internet με εξωτερικούς στο σύστημα χρήστες ή η παροχή της σε μορφή υπηρεσίας ιστού (web service) η οποία εκτελείται στο διηνεκές (persistant services).

Αναλυτικές οδηγίες για την εκτέλεση εργασιών:

http://doc.aris.grnet.gr/run/

Αποθήκευση δεδομένων

Τα αποτελέσματα των εργασιών αποθηκεύονται στο κοινό σύστημα αρχείων GPFS το οποίο είναι προσβάσιμο από όλους τους κόμβους των νησίδων του ARIS και τον κόμβο διασύνδεσης. Μια απλοϊκή προσέγγιση είναι να θεωρήσουμε το GPFS ως ένα πολύ μεγάλο σκληρό δίσκο στον οποίο αποθηκεύονται όλα τα δεδομένα και οι εφαρμογές που βρίσκονται στο ARIS.

Ειδικότερα το σύστημα αρχείων του ARIS προσφέρει δύο αποθηκευτικούς χώρους ανάλογα με τα δεδομένα που αποθηκεύονται και την χρήση τους:

  • Το $HOME όπου δίνεται έμφαση στην αξιοπιστία έναντι της απόδοσης. Κατάλληλο για αποθήκευση αρχείων πηγαίου κώδικα, τη μεταγλώττιση εφαρμογών και προσωρινή αποθήκευση αρχείων δεδομένων.
  • Το $WORKDIR με έμφαση στην απόδοση (ταχύτητα). Κατάλληλο για αποθήκευση μεγάλων αρχείων, για την εκτέλεση εργασιών και εξαγωγή αποτελεσμάτων.

Οι χρήστες περιορίζονται από τα όρια χρήσης του συστήματος αρχείων. Τα όρια ορίζονται ανάλογα με τις απαιτήσεις του έργου για πόρους αποθήκευσης.

Μετά την λήξη κάθε έργου, τα αρχεία που αντιστοιχούν σε αυτό διατηρούνται στο σύστημα για χρονική περίοδο περίπου έξι μηνών. Κάθε χρήστης πρέπει να μεριμνήσει για την μεταφορά των αρχείων του πίσω στον προσωπικό του υπολογιστή. Η μεταφορά των αρχείων στον υπολογιστή γίνεται αντίστοιχα με τις εντολές scp, sftp. Προφανώς, εάν κατά την αίτηση του έργου έχει ζητηθεί να γίνει χρήση της βιβλιοθήκης του ARIS, για αρχειοθέτηση δεδομένων, εκτελούνται οι κατάλληλες διαδικασίες για τη διατήρηση τους για το απαιτούμενο χρονικό διάστημα.

Παράρτημα όρων

ARIS Advanced Research Information System
AUP Acceptable Usage Policy
CUDA Προγραμματιστικό μοντέλο API απο την NVIDIA για την εκτέλεση γενικών  πράξεων στις κάρτες γραφικών
Flops  FLoating‐point Operations Per Second: υπολογισμοί κινητής υποδιαστολής  ανά δευτερόλεπτο). Η υπολογιστική ικανότητα των υπολογιστών
GNU  GNU’s Not Unix!
GPFS General Parallel File System
GPU Graphics Processing Unit: μονάδα επεξεργασίας γραφικών
IP Internet Protocol address
MPI Message Passing Interface
OpenMP Open Multi‐Processing
PGI  Portland Group, Inc.
ScP   Secure Copy
SFTP SSH File Transfer Protocol
SSH Secure Shell
VPN Virtual Private Network
Xeon Phi  Η εμπορική ονομασία των επεξεργαστών Intel που υλοποιούν την αρχιτεκτονική MIC (Many Integrated Core)
ΕΔΕΤ Εθνικό Δίκτυο Έρευνας & Τεχνολογίας
Επεξεργαστής Κεντρική Μονάδα Επεξεργασίας CPU Central Processing Unit.
Είναι το  κεντρικό εξάρτημα που επεξεργάζεται δεδομένα σε έναν ηλεκτρονικό  υπολογιστή,
ελέγχει τη λειτουργία του και εκτελεί βασικές λειτουργίες διασύνδεσης και μεταβίβασης εντολών.
Κόμβος   Ανεξάρτητη υπολογιστική μονάδα
Νησίδα Κόμβων Oμάδα υπολογιστικών μονάδων οι οποίες έχουν όμοια αρχιτεκτονική,
μοιράζονται το ίδιο δίκτυο επικοινωνίας και έχουν πρόσβαση σε κοινό  σύστημα αρχείων
Πυρήνας (core) Mονάδα επεξεργασίας CPU το υλικό τμήμα ενός υπολογιστή το οποίο διαβάζει και εκτελεί εντολές
Υπολογιστικό σύστημα Πλήρης υπολογιστική συσκευή, συμπεριλαμβανομένου του υλικού και του λογισμικού της
Υπολογιστικός πόρος Πόρος που χρησιμοποιείται από κάποια υπολογιστικά μοντέλα κατά τη λύση υπολογιστικών προβλημάτων.
Οι απλούστεροι υπολογιστικοί πόροι είναι ο χρόνος υπολογισμού, ο αριθμός των βημάτων που χρειάζονται
για  την επίλυση ενός προβλήματος και ο χώρος μνήμης, δηλαδή το μέγεθος αποθηκευτικού χώρου που
απαιτείται κατά την επίλυση του προβλήματος.

Εικόνες Εφαρμογών

Οι εικόνες των επιστημονικών εφαρμογών προέρχονται από έργα της πρώτης πιλοτικής πρόσκλησης του ARIS:

  • Uapa_MD Molecular Simulations in Pharmaceutical Sciences
  • Myaircoach Medicine and Life Sciences
  • PAS Fundamental Physics
  • acra Earth System Sciences
  • COMPINFLAM Biochemistry, Bioinformatics and Life sciences
  • COrRECT Earth System Sciences
  • FULLALBUM Chemical Sciences and Materials
  • FLUEN Engineering
  • M.D.S.B.M.S. Biochemistry, Bioinformatics and Life sciences
  • PALIROIA Earth System Sciences
  • VisCoPatS Engineering and Energy