HEAL DSpace

Τεχνικές δυναμικής διαχείρισης μνήμης για την αποδοτική χρήση καρτών γραφικών στη διαδραστική ανάπτυξη εφαρμογών μηχανικής μάθησης

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

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


Αρχεία σε αυτό το τεκμήριο

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα