Scheduling and performance characterization on heterogeneous computing systems
Authors: Γεωργακούδης Γιώργης 
Published: September 2021

Η εποχή της αύξησης των υπολογιστικών επιδόσεων και της ταυτόχρονης μείωσης της κατανάλωσης ισχύος μέσω της σμίκρυνσης των ημιαγωγών και της αύξησης της συ- χνότητας λειτουργίας (νόμος του Dennard) έχει παρέλθει. Παρ ́ όλ ́ αυτά, ο αριθμός των διαθέσιμων ημιαγωγών συνεχίζει να διπλασιάζεται. Αυτός είναι ο λόγος που η αρχιτεκτονική υπολογιστών έχει μετακινηθεί στη σχεδίαση πολυπύρηνων επεξεργαστών για την αύξηση των υπολογιστικών επιδόσεων μέσω της παράλληλης επεξεργασίας. ́Ομως, αυτή η κλιμάκωση στον αριθμό των επεξεργαστών έφερε στην επιφάνεια ένα νέο πρόβλημα, αυτό της κατανάλωσης ισχύος, που πλέον είναι σημαντικός περιοριστικός παράγοντας στην περαιτέρω κλιμάκωση των συστημάτων. Το επόμενη βήμα στην εξέλιξη της αρχιτεκτονικής συστημάτων είναι η σχεδίαση ετερογενών υπολογιστικών συστημάτων που μπορούν να βελτιώσουν σημαντικά τόσο τις υπολογιστικές επιδόσεις, την κατανάλωση ισχύος και τελικά την ενεργειακή αποδοτικότητα των συστημάτων. Λόγω αυτών των χαρακτηριστικών, τα ετερογενή συστήματα βρίσκονται σε κάθε έκφανση της υπολογιστικής, από φορητές συσκευές μέχρι εγκαταστάσεις υπερ-υπολογιστών και κέντρων δεδομένων. Για να επιτύχουν αυτά τα οφέλη, οι ετερογενείς αρχιτεκτονικές ακολουθούν την αρχή της εξειδίκευσης υλικού (hardware specialization), περιλαμβάνοντας συστήματα με διαφορετικές επιδόσεις και κατανάλωση ισχύος για την εκτέλεση προγραμμάτων. Ωστόσο, η ποσοτικοποίηση για τον χαρακτηρισμό της απόδοσης των ετερογενών πόρων και ο χρονοπρογραμματισμός τους για την αποδοτική εκτέλεση προγραμμάτων παραμένει ανοιχτό πρόβλημα.Σε αυτή τη διατριβή, συνεισφέρουμε νέες λύσεις, μεθόδους και τεχνικές στοχεύοντας στο πρόβλημα της απόδοσης και του χρονοπρογραμματισμού ετερογενών αρχιτεκτονικών. Συγκεκριμένα, στο επίπεδο των ετερογενών αρχιτεκτονικών επεξεργαστών, μελετούμε τις αρχιτεκτονικές διαμοιραζόμενου συνόλου εντολών (shared-ISA architectures) ως τεχνολογία αιχμής, και παρουσιάζουμε νέες τεχνικές για τη διαχείριση της ετερογένειας στο επίπεδο εντολών. Σ ́ αυτές περιλαμβάνονται τεχνικές μετεγγραφής δυαδικού κώδικα που επιτρέπουν τη φορητότητα δυαδικού κώδικα αλλά πιο σημαντικά επιτρέπουν τη μεταφορά νημάτων εκτέλεσης μεταξύ ετερογενών, επεξεργαστικών πυρήνων παρά τις ασυμβατότητες στο σύνολο εντολών. Επιπρόσθετα, παρουσιάζουμε μια καινούρια μέθοδο δυναμικού χρονοπρογραμματισμού που επιταχύνει την ταυτόχρονη εκτέλεση πολλαπλών προγραμμάτων, αντιλαμβάνοντας την επιτάχυνση λόγω της ετερογένειας για κάθε πρόγραμμα για να ανακατανείμει τους ετερογενείς πυρήνες μέσω της μεταφοράς νημάτων εκτέλεσης. Η αξιολόγηση των μεθόδων μας σε μια πλατφόρμα υλικού που υλοποιεί μια αρχιτεκτονική διαμοιραζόμενου συνόλου εντολών δείχνει ότι υπερτερούν σημαντικά σε επιδόσεις από τις υπάρχουσες προτεινόμενες τεχνικές. Επίσης, μελετούμε το πρόβλημα της διαχείρισης υπολογιστικών πόρων σε ετερογενείς αρχιτεκτονικές κέντρων δεδομένων. Παρουσιάζουμε μια νέα μεθοδολογία βασισμένη σε ισο-μετρικές που επιτρέπει τη σύγκριση ετερογενών εξυπηρετητών, όσον αφορά την υπολογιστική και ενεργειακή απόδοση τους, σε περιβάλλοντα εκτέλεσης online υπηρεσιών ανάλυσης δεδομένων. Μέσω αυτής της μεθοδολογίας, ποσοτικοποιούμε την απόδοση διάφορων τύπων εξυπηρετητών που περιλαμβάνουν τυπικούς εξυπηρετητές, μικρο-εξυπηρετητές και πλατφόρμες επιταχυντών πολλαπλών πυρήνων. Οι μέθοδοί μας εξετάζουν την ποσοτικοποίηση της ενεργειακής απόδοσης θέτοντας καθορισμένους στόχους στην αποδεκτή ποιότητα υπηρεσίας ως κοινό μέτρο της επίδοσης ετερογενών εξυπηρετητών. Η εφαρμογή της μεθοδολογίας μας μπορεί αποτελεσματικά να καθοδηγήσει τη διαμοιρασμό ετερογενών πόρων και τη προδιαγραφή ενεργειακά αποδοτικών κέντρων δεδομένων.