title: UniLogic (Unified Logic): A scalable architecture for increased programmability in highly parallel reconfigurable systems
Creators: name: Ιωαννου Αγγελος
Publisher: name: Technical University of Crete
Year: 2020

description: One of the main characteristics of High Performance Computing (HPC) applications is that they become increasingly performance and power demanding, pushing HPC systems to their limits. Existing HPC systems have not yet reached exascale performance mainly due to power limitations. Extrapolating from today's top HPC systems, about 100-200 MWatts would be required in order to sustain an exaflop-level of performance. A promising solution for tackling power limitations, is the deployment of energy-efficient reconfigurable resources (in the form of FPGAs) tightly integrated with conventional CPUs. However, current FPGA tools and programming environments are optimized for accelerating a single application or even task on a single FPGA device. In this thesis we present UNILOGIC (Unified Logic), a novel HPC-tailored parallel architecture that efficiently incorporates FPGAs. UNILOGIC adopts the Partitioned Global Address Space (PGAS) model, and extends it to include hardware accelerators, i.e. tasks implemented on the reconfigurable resources. The main advantages of UNILOGIC are that (i) the hardware accelerators can be accessed directly by any processor in the system, and (ii) the hardware accelerators can access any memory location in the system. In this way, the proposed architecture offers a unified environment where all the reconfigurable resources can be seamlessly used by any processor/operating system. The UNILOGIC architecture also provides hardware virtualization of the reconfigurable logic so that the hardware accelerators can be shared among multiple applications or tasks. The FPGA layer of the architecture is implemented by splitting its reconfigurable resources into (i) a static partition, which provides the PGAS-related communication infrastructure, and (ii) fixed-size and dynamically reconfigurable slots that can be programmed and accessed independently or combined together so as to support both fine and coarse grain reconfiguration. Finally, the UNILOGIC architecture has been evaluated on a custom prototype that consists of two 1U chassis, each of which hosts eight interconnected daughter boards, called Quad-FPGA Daughter Boards (QFDBs); each QFDB supports four tightly coupled Xilinx Zynq Ultrascale+ MPSoCs as well as 64 Gigabytes of DDR4 memory, and thus, the prototype features a total of 64 Zynq MPSoCs and 1 Terabyte of memory. We tuned and evaluated the UNILOGIC prototype using both low-level (baremetal) performance tests, as well as two popular real-world HPC applications, one compute-intensive and one data-intensive. Our evaluation shows that UNILOGIC offers impressive performance that ranges from being 3 to 400 times faster and 46 to 370 times more energy efficient compared to conventional parallel systems utilizing only high-end CPUs, while it also outperforms GPUs by a factor ranging from 6 to 20 times in terms of time to solution, and from 8 to 20 times in terms of energy to solution.
description: Ένα από τα βασικά χαρακτηριστικά των εφαρμογών 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 φορές από πλευράς απαιτούμενης ενέργειας για τη λύση.