Τεχνικές αποδοτικής εικονικοποίησης επιταχυντών για νεφοϋπολογιστικά περιβάλλοντα
Authors: Γεράγγελος Στέφανος 
Published: September 2021

Καθώς ο ρυθμός με τον οποίο δημιουργούνται δεδομένα στο σύγχρονο κόσμο αυξάνεται συνεχώς, υπάρχει ολοένα και πιο έντονη η ανάγκη για αύξηση της διαθέσιμης υπολογιστικής ισχύος. Παρ' όλα αυτά, η προϋπάρχουσα τάση κλιμάκωσης των πυρήνων στις διάφορες γενιές αρχιτεκτονικών παρουσιάζει ένα εγγενές όριο για το άμεσο μέλλον. Σε αυτό το πλαίσιο, οι επιστήμονες και ερευνητές εκτιμούν ότι ο τρόπος επεξεργασίας των δεδομένων θα προσαρμοστεί σε αυτές τις νέες συνθήκες και τα μελλοντικά κέντρα δεδομένων (data centers) σταδιακά θα μετακινηθούν σε πιο ετερογενή περιβάλλοντα υιοθέτωντας υπολογιστικούς πόρους επιταχυντών. Την ίδια στιγμή, το cloud computing διαδραματίζει εξαιρετικά σημαντικό ρόλο σε πολλά κέντρα δεδομένων προσφέροντας πλεονεκτήματα τόσο για τους τελικούς χρήστες όσο και για τους παρόχους, όπως για παράδειγμα, ευελιξία, ενοποίηση των διαθέσιμων φυσικών κόμβων, μείωση του κόστους και πιο αποτελεσματική χρησιμοποίηση των πόρων. Με την προαναφερθείσα δυναμική που εμφανίζουν οι ετερογενείς αρχιτεκτονικές και πιο συγκεκριμένα οι επιταχυντές, δημιουργείται μία αυξανόμενη ανάγκη για ένταξη αυτών στα υπάρχοντα cloud περιβάλλοντα. Ουσιαστικά, οι υποδομές εικονικοποίησης χρειάζεται να ενσωματώσουν τα συστήματα επιταχυντών λαμβάνοντας υπόψη τα εξειδικευμένα χαρακτηριστικά αυτού του τύπου των συσκεύων. Σε αυτή την εργασία, εξερευνούμε τις συνέπειες της ένταξης των συσκευών επιτάχυνσης στα συστήματα εικονικοποίησης. Αναγνωρίζουμε τις βασικές δυσκολίες και προκλήσεις της εικονικοποίησης επιταχυντών και σκιαγραφούμε τους λόγους για τους οποίους οι παραδοσιακές μέθοδοι εικονικοποίησης Ε/Ε δεν είναι οι πλέον κατάλληλες για αυτές τις εξειδικευμένες συσκευές. Εξερευνούμε τεχνικές εικονικοποίησης με βάση δύο δημοφιλείς οικογένειες επιταχυντών, τις NVIDIA GPUs και τους συνεπεξεργαστές Intel Xeon Phi, ακολουθώντας διαφορετικές προσεγγίσεις με βάση τη φύση κάθε ενός από τους προαναφερθέντες επιταχυντές. Σχετικά με την προσέγγισή μας για εικονικοποίηση GPU, προτείνουμε τη χρησιμοποίηση ενός εργαλείου απομακρυσμένης επιτάχυνσης στο πλαίσιο του ίδιου φυσικού κόμβου συνδυάζοντάς το με ένα αποδοτικό σύστημα για επικοινωνία εντός του ίδιου κόμβου. Αυτό έχει ως αποτέλεσμα σημαντικά καλύτερη επίδοση κατά τη διαδικασία offloading εφαρμογών σε εικονικοποιημένα περιβάλλοντα. Σύμφωνα με τη σχεδίαση του συστήματος επικοινωνίας, το μονοπάτι δεδομένων περιλαμβάνει την εμπλοκή του υπερεπόπτη (hypervisor) ως δικτυακού μέσου, αντί για το προνομιούχο driver domain. Επιπλέον, αξιολογούμε το σύστημα επικοινωνίας κάνοντας τόσο χρήση δικτυακών μικρο-μετροπρογραμμάτων, όσο και ενός κοινού GPU πυρήνα, δείχνοντας ότι η συνολική υποδομή αποτελεί μία βιώσιμη πρόταση για τα λογισμικά επιταχυντών που κυκλοφορούν με κλειστές άδειες. Πιο συγκεκριμένα, τα πειραματικά αποτελέσματα δείχνουν ότι η προσέγγισή μας βελτιώνει τη μεταφορά δεδομένων έως και 6.3 φορές σε σύγκριση με το απομακρυσμένο προκαθορισμένο μονοπάτι, ενώ προσθέτει ένα κόστος 15% κατά την εκτέλεση του GPU υπολογιστικού πυρήνα σε σχέση με την περίπτωση απευθείας ανάθεσης συσκευής. Σύμφωνα με όσα γνωρίζουμε, η προσέγγισή μας για εικονικοποίηση Xeon Phi συνεπεξεργαστών είναι η πρώτη και η μοναδική αυτή τη στιγμή που υποστηρίζει το διαμοιρασμό ενός Xeon Phi επιταχυντή μεταξύ πολλαπλών εικονικών μηχανών που εκτελούνται στον ίδιο φυσικό κόμβο. Ακολουθούμε την τεχνική της παραεικονικοποίησης στοχεύοντας το χαμηλό επίπεδο μεταφοράς της αντίστοιχης στοίβας λογισμικού. Με αυτό τον τρόπο, οι βασικές σχεδιαστικές άρχες της προσέγγισής μας μπορούν να εφαρμοστούν στις μελλοντικές τεχνολογίες επιταχυντών. Η πειραματική αποτίμηση του πρωτοτύπου μας δείχνει ότι μπορεί να επιφέρει καλύτερη χρησιμοποίηση του επιταχυντή όταν αυτός χρησιμοποιείται από πολλαπλές εικονικές μηχανές, αυξάνοντας το συνολικό throughput έως 3.56x σε σχέση με μία host εφαρμογή, η οποία αναπαριστά την περίπτωση της απευθείας ανάθεσης συσκευής.