Try   HackMD

Εισαγωγικές έννοιες HPC


Ηigh Performance Computing (HPC)

  • Με τον όρο HPC αναφερόμαστε σε υπολογιστικές υποδομές αιχμής που μπορούν να επιτελέσουν πολλές αριθμητικές πράξεις στη μονάδα του χρόνου με σκοπό:
    • είτε να επιλυθούν υφιστάμενα προβλήματα πιο γρήγορα (π.χ. πρόγνωση καιρού)
    • είτε να επιλυθούν μεγαλύτερα προβλήματα (π.χ. κλιματική αλλαγή)
  • Το πλήθος των υπολογισμών στη μονάδα του χρόνου εξαρτάται κυρίως από την ταχύτητα του επεξεργαστή και το εύρος διαμεταγωγής δεδομένων από και προς τη μνήμη RAM
  • Μετριέται σε FLOPs (Floating Point Operations per second) και συνήθως μας ενδιαφέρει το πλήθος πράξεων με double precision floating points
  • Το θεωρητικό μέγιστο εξαρτάται κυρίως από τα χαρακτηριστικά του επεξεργαστή
  • Η πραγματική (μετρούμενη) τιμή εξαρτάται από τον κώδικα, από τις βελτιστοποιήσεις που θα κάνει ο compiler (μεταγλωττιστής) ή και όσες έχει υλοποιήσει ο προγραμματιστής (code optimization).

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Με τον όρο κώδικα αναφερόμαστε στον πηγαίο κώδικα μίας εφαρμογής. Συνήθως ο κώδικας μεταγλωτίζεται σε γλώσσα μηχανής (εκτελέσιμο) με τη χρήση ενός compiler (μεταγλωτιστή). Παραδείγματα τέτοιων γλωσσών είναι η C, C++, FORTRAN κ.α.. Υπάρχουν και interpreted γλώσσες προγραμματισμού (π.χ. Python, MATLAB κ.α.) στις οποίες η μεταγλώτιση γίνεται δυναμικά στο runtime οπότε δεν παρεμβάλεται μεταγλωτιστής που να παράγει ένα εκτελέσιμο. Συνήθως οι compiled γλώσσες παράγουν ταχύτερα εκτελέσιμα σε σύγκριση με τις interpreted γλώσσες.


Παράλληλος προγραμματισμός

  • Από το ~2005 και έκτοτε δεν αυξάνεται η συχνότητα των επεξεργαστών αλλά το πλήθος τους (multi core αρχιτεκτονικές).

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

  • Αυτή η εξέλιξη έχει οδηγήσει στην υιοθέτηση μεθόδων παράλληλου προγραμματισμού όπου ζητούμενο είναι η ταυτόχρονη εκμετάλευση των πολλών επεξεργαστών.
  • Τα βασικά μοντέλα παραλληλίας είναι:
    • Shared memory parallel processing ή SMP με βιβλιοθήκες όπως OpenMP, pThreads κ.α.
    • Distributed memory parallel processing ή DMP με βιβλιοθήκες όπως MPI
  • Το DMP μοντέλο μπορεί να κάνει scale σε πολλά μηχανήματα ενώ το SMP μπορεί να κάνει scale μόνο εντός ενός H/Y
    • Για να είναι αποδοτική η DMP παραλληλία (για να κάνει scale σε πολλούς Η/Υ) απαιτείται η διασύνδεση των Η/Υ να γίνεται με δικτύωση χαμηλής απόκρισης (~μs) και μεγάλους εύρους (>10Gpbs)
  • Σε μεγάλους υπερυπολογιστές είναι σύνηθες να χρησιμοποιούνται και τα δύο επίπεδα παραλληλίας (DMP accross nodes και SMP inter node)
  • Επιπέον τα τελευταία ~20 χρόνια έχει βρει έδαφος η χρήση Co-processors όπως GPUs (π.χ. CUDA, OpenACC κ.α.) ή/και FPGAs (programmable chips) για την επιτάχυνση των υπολογισμών

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Υποδομές που διαθέτουν τα παραπάνω χαρακτηριστικά αναφέρονται γενικώς ως συστοιχίες υπολογιστών. Επίσης χρησιμοποιούνται οι όροι HPC (High Performance Computing) ή Supercomputer (υπερυπολογιστής) όταν αναφερόμαστε σε συστοιχίες υπολογιστών.
Οι σημερινοί (Απρίλιος 2024) υπερυπολογιστές "σπάνε" το φράγμα του HFlop δηλαδή 10^18 υπολογισμών ανά δευτερόλεπτο. Η ταξινόμησή τους βασίζεται στο Linpack benchmark και η λίστα των κορυφαίων υπερυπολογιστών ενημερώνεται δύο φορές ετησίως στο top500.org.