Το έργο με τίτλο UniLogic (Ενοποιημένη Λογική): μια κλιμακώσιμη αρχιτεκτονική για αυξημένη προγραμματισιμότητα σε επαναδιαμορφώσιμα συστήματα υψηλού παραλληλισμού από τον/τους δημιουργό/ούς Ioannou Angelos διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού 4.0 Διεθνές
Βιβλιογραφική Αναφορά
Άγγελος Ιωάννου, "UniLogic (Ενοποιημένη Λογική): μια κλιμακώσιμη αρχιτεκτονική για αυξημένη προγραμματισιμότητα σε επαναδιαμορφώσιμα συστήματα υψηλού παραλληλισμού", Διδακτορική Διατριβή, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2020
https://doi.org/10.26233/heallink.tuc.84933
Ένα από τα βασικά χαρακτηριστικά των εφαρμογών HPC (High Performance Computing) είναι πως γίνονται όλο και περισσότερο απαιτητικές σε απόδοση όσο και σε ενέργεια, πιέζοντας τα συστήματα HPC στα όριά τους. Τα υπάρχοντα συστήματα HPC δεν έχουν ακόμη φτάσει σε απόδοση exascale, κυρίως λόγω ενεργειακών περιορισμών. Προεκβάλλοντας με βάση τα καλύτερα σημερινά συστήματα HPC, θα απαιτούνταν περίπου 100-200 MWatts ισχύος για να διατηρήσουν την απόδοση σε επίπεδο exaflop. Μια πολλά υποσχόμενη λύση για να αντιμετωπιστούν οι περιορισμοί ισχύος, είναι η χρησιμοποίηση ενεργειακά-αποδοτικών επαναδιαμορφώσιμων πόρων (στη μορφή των FPGAs) στενά ενσωματωμένες με παραδοσιακές CPUs. Ωστόσο, τα σημερινά εργαλεία για FPGAs και τα προγραμματιστικά περιβάλλοντα είναι βελτιστοποιημένα για να επιταχύνουν μία μόνο εφαρμογή ή ακόμη και μια μόνο εργασία, σε μία μόνο συσκευή FPGA. Σε αυτή τη διατριβή παρουσιάζουμε το UNILOGIC (Unified Logic / Ενοποιημένη Λογική), μία πρότυπη, παράλληλη αρχιτεκτονική προσαρμοσμένη για HPC, η οποία και συμπεριλαμβάνει αποδοτικά τις FPGAs. Το UNILOGIC υιοθετεί το μοντέλο Διαμερισμένου Καθολικού Χώρου Διευθύνσεων (PGAS) και επεκτείνει το σύστημα ώστε να συμπεριλαμβάνει επιταχυντές υλικού, δηλαδή εργασίες υλοποιημένες στους επαναδιαμορφώσιμους πόρους. Τα βασικά πλεονεκτήματα του UNILOGIC είναι ότι (i) η πρόσβαση στους επιταχυντές υλικού μπορεί να γίνει απευθείας από οποιονδήποτε επεξεργαστή στο σύστημα και (ii) οι επιταχυντές υλικού μπορούν να έχουν πρόσβαση σε οποιαδήποτε θέση μνήμης στο σύστημα. Με τον τρόπο αυτό, η προτεινόμενη αρχιτεκτονική προσφέρει ένα ενοποιημένο περιβάλλον όπου όλοι οι επαναδιαμορφώσιμοι πόροι μπορούν να χρησιμοποιηθούν απρόσκοπτα από οποιοδήποτε επεξεργαστή/λειτουργικό σύστημα. Η αρχιτεκτονική UNILOGIC παρέχει επίσης εικονικοποίηση υλικού για την επαναδιαμορφώσιμη λογική, έτσι ώστε οι επιταχυντές υλικού να μπορούν να διαμοιράζονται μεταξύ πολλών εφαρμογών ή εργασιών. Το επίπεδο FPGA της αρχιτεκτονικής υλοποιείται διαιρώντας τους επαναδιαμορφώσιμους πόρους σε (i) ένα στατικό τμήμα, το οποίο παρέχει την επικοινωνιακή υποδομή που σχετίζεται με το PGAS και (ii) καθορισμένου μεγέθους και δυναμικά επαναδιαμορφώσιμες υποδοχές που μπορούν να προγραμματιστούν και να προσπελαστούν ανεξάρτητα ή συνδυασμένα ώστε να υποστηριχθεί τόσο η λεπτόκοκκη όσο και η χονδροκοκκη επαναδιαμόρφωση. Τέλος, η αρχιτεκτονική UNILOGIC αξιολογήθηκε σε ένα ειδικά κατασκευασμένο πρωτότυπο που αποτελείται από δύο σασί μεγέθους 1U, το καθένα από τα οποία φιλοξενεί οκτώ διασυνδεδεμένες θυγατρικές πλακέτες, οι οποίες ονομάζονται Quad-FPGA Daughter Boards (QFDBs). Κάθε QFDB υποστηρίζει τέσσερα στενά συνδεδεμένα MPSoC, τύπου Xilinx Zynq Ultrascale +, καθώς και 64 Gigabytes μνήμης DDR4 και έτσι το πρωτότυπο διαθέτει συνολικά 64 Zynq MPSoCs και 1 Terabyte μνήμης. Συντονίσαμε και αξιολογήσαμε το πρωτότυπο UNILOGIC χρησιμοποιώντας τόσο χαμηλού επιπέδου (baremetal) δοκιμές, όσο και δύο δημοφιλείς εφαρμογές πραγματικού κόσμου για HPC, μια απαιτητική σε υπολογισμούς και μια απαιτητική σε δεδομένα. Από την αξιολόγησή μας προκύπτει ότι η αρχιτεκτονική UNILOGIC προσφέρει εντυπωσιακές επιδόσεις που κυμαίνονται από 3 έως 400 φορές ταχύτερες και 46 έως 370 φορές πιο αποδοτικές ενεργειακά σε σχέση με τα συμβατικά παράλληλα συστήματα που χρησιμοποιούν μόνο CPUs υψηλού επιπέδου, ενώ παράλληλα υπερβαίνουν τις GPU κατά ένα συντελεστή που κυμαίνεται από 6 έως 20 φορές από πλευράς απαιτούμενου χρόνου επίλυσης, και από 8 έως 20 φορές από πλευράς απαιτούμενης ενέργειας για τη λύση.