dc.contributor.author | Αλεξόπουλος, Γεώργιος | el |
dc.contributor.author | Alexopoulos, Georgios | en |
dc.date.accessioned | 2022-01-10T11:32:57Z | |
dc.date.available | 2022-01-10T11:32:57Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/54290 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.21988 | |
dc.rights | Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-sa/3.0/gr/ | * |
dc.subject | Κάρτα γραφικών | el |
dc.subject | Υπολογιστικό νέφος | el |
dc.subject | ∆ιαμοιρασμός πόρων | el |
dc.subject | Μηχανική μάθηση | el |
dc.subject | Διαχείριση μνήμης | el |
dc.subject | Graphics processing unit | en |
dc.subject | Cloud computing | en |
dc.subject | GPU Sharing | en |
dc.subject | Kubernetes | en |
dc.subject | Machine learning | en |
dc.title | Τεχνικές δυναμικής διαχείρισης μνήμης για την αποδοτική χρήση καρτών γραφικών στη διαδραστική ανάπτυξη εφαρμογών μηχανικής μάθησης | el |
dc.title | Dynamic memory management for the efficient utilization of graphics processing units in interactive machine learning development | en |
heal.type | bachelorThesis | |
heal.classification | Υπολογιστικά συστήματα | el |
heal.classification | Computer systems | en |
heal.language | el | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2021-07-13 | |
heal.abstract | Οι GPU σήμερα είναι μια αναγκαιότητα στην επιτάχυνση υπολογισμών Μηχανικής Μάθησης (Machine Learning - ML). Τα φορτία ML περιλαμβάνουν υπολογιστικά απαιτητικές (throughput-intensive) δουλειές training, ευαίσθητες ως προς το latency δουλειές inference καθώς και δουλειές διαδραστικής ανάπτυξης, όπως τα Jupyter Notebook. Μια συνηθισμένη πρακτική είναι η υποβολή των φορτίων ML ως container διαχειριζόμενα από τον ενορχηστρωτή Kubernetes. Ο τρόπος με τον οποίο διαχειρίζεται τις GPU η πλατφόρμα Kubernetes είναι να αναθέτει μια GPU αποκλειστικά σε μια μόνο δουλειά (job). Αυτή η ένα-προς-ένα σχέση μεταξύ καρτών γραφικών και jobs οδηγεί σε σημαντική υποαξιοποίηση της GPU, ειδικά για διαδραστικές δουλειές οι οποίες χαρακτηρίζονται από μεγάλες περιόδους αδράνειας με εμβόλιμες ριπές χρήσης της GPU. Οι τρέχουσες προσεγγίσεις επιτρέπουν την από κοινού χρήση μιας GPU αναθέτοντας ένα κομμάτι της μνήμης GPU σε κάθε συστεγαζόμενη εργασία. Παρουσιάζουμε την Alexo Shared GPU, έναν μηχανισμό που επιτρέπει σε πολλές διεργασίες να χρησιμοποιούν την ίδια GPU, καθεμιά από αυτές έχουσα όλη τη μνήμη GPU διαθέσιμη. Αυτό το επιτυγχάνουμε εκμεταλλευόμενοι την NVIDIA Unified Memory, μια λειτουργικότητα των μοντέρνων καρτών NVIDIA, η οποία επιτρέπει στην GPU να χρησιμοποιεί την RAM του συστήματος ως χώρο swap. Η κύρια ιδέα είναι να μετατρέπουμε διαφανώς όλες τις κλήσεις συμβατικής εκχώρησης μνήμης GPU μιας εφαρμογής στις αντίστοιχες της Unified Memory, επιτρέποντας έτσι την αυτόματη χρήση των σφαλμάτων σελίδας στην GPU για να εναλλάξουμε τα περιεχόμενα μνήμης μιας αδρανούς διεργασίας με αυτά μιας άλλης που είναι ενεργή. Ακόμα, σχεδιάζουμε έναν μηχανισμό αποφυγής του thrashing, μιας κατάστασης με καταστροφικές για την επίδοση συνέπειες, η οποία εμφανίζεται όταν οι υπολογιστικές ριπές πολλών συστεγαζόμενων διεργασιών στην GPU επικαλύπτονται και η μνήμη είναι oversubscribed. Ο μηχανισμός αυτός δρομολογεί την GPU αποκλειστικά σε μια εκ των ανταγωνιζόμενων διεργασιών τη φορά για ένα κβάντο χρόνου προκειμένου να περιοριστεί το πλήθος των σφαλμάτων σελίδας. Καθώς είναι δύσκολο να εκτιμήσουμε το speedup του μηχανισμού μας για διαδραστικές εργασίες χωρίς τη διεξαγωγή μιας μελέτης σε περιβάλλον παραγωγής (το οποίο είναι εκτός εμβέλειας αυτής της διπλωματικής), αξιολογούμε το σύστημά μας σε μη-διαδραστικές (συμβατικές) εργασίες, αφού αντιπροσωπεύουν την worst-case περίπτωση. Επιτυγχάνουμε χρόνους εκτέλεσης κάτω του σειριακού ακόμη και για εξαιρετικά εντατικές (ως προς τη χρήση GPU) εργασίες ML training με λόγο χρήσης GPU/CPU ίσο με 90/10. Ακόμα και σε περιπτώσεις όπου η μνήμη είναι κατά πολύ oversubscribed (άθροισμα Working Sets > 200% GPU memory), παρατηρούμε επιταχύνσεις έως και 35% σε σχέση με τη σειριακή εκτέλεση των εργασιών. Ως εκ τούτου, ο μηχανισμός μας μεγιστοποιεί την αξιοποίηση της GPU όχι μόνο για διαδραστικά φορτία, αλλά ακόμα και για συμβατικές/ακολουθιακές εργασίες Μηχανικής Μάθησης. Τέλος, μπορεί εύκολα να εγκατασταθεί σε οποιαδήποτε υπολογιστική συστοιχία Kubernetes με μια μόνο εντολή. | el |
heal.advisorName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Γκούμας, Γεώργιος | el |
heal.committeeMemberName | Πνευματικάτος, Διονύσιος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 226 σ. | el |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: