HEAL DSpace

Μελέτη και σχεδίαση παράλληλων ουρών προτεραιότητας σε αρχιτεκτονικές ανομοιόμορφης πρόσβασης μνήμης (NUMA)

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

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

dc.contributor.author Στρατή, Φωτεινή el
dc.contributor.author Strati, Foteini en
dc.date.accessioned 2019-05-20T09:06:30Z
dc.date.available 2019-05-20T09:06:30Z
dc.date.issued 2019-05-20
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/48786
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.16537
dc.rights Default License
dc.subject Παράλληλες δομές δεδομένων el
dc.subject Ουρές προτεραιότητας el
dc.subject Ανομοιόμορφη πρόσβαση μνήμης el
dc.subject Κλιμακωσιμότητα el
dc.subject Μηχανική μάθηση el
dc.subject Concurrent data structures en
dc.subject Priority queues en
dc.subject Non-uniform memory access en
dc.subject Scalability en
dc.subject Machine learning en
dc.title Μελέτη και σχεδίαση παράλληλων ουρών προτεραιότητας σε αρχιτεκτονικές ανομοιόμορφης πρόσβασης μνήμης (NUMA) el
heal.type bachelorThesis
heal.classification Παράλληλοι αλγόριθμοι el
heal.classification Ανάλυση και προγραμματισμός el
heal.classificationURI http://data.seab.gr/concepts/9583c1c66ce6e0b1ef3896e1791df755769272b2
heal.language el
heal.language en
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2018-12-13
heal.abstract Στις μέρες μας, τα πολυπήρυνα συστήματα αποτελούνται κυρίως από αρχιτεκτονικές ανο-μοιόμορφης πρόσβασης μνήμης (NUMA). Η υψηλή απόδοση και η κλιμακωσιμότητα είναι ζητούμενα των σύγχρονων εφαρμογών, οι οποίες βασίζονται σε παράλληλους αλγορίθμους δομών δεδομένων. Ο σχεδιασμός των αλγορίθμων αυτών θα πρέπει να γίνεται με γνώμονα τα χαρακτηριστικά των σύγχρονων αρχιτεκτονικών. Αντικείμενο της παρούσας διπλωματικής είναι οι παράλληλες δομές δεδομένων, και κυρίως οι ουρές προτεραιότητας. Μελετάμε και αξιολογούμε σε αρχιτεκτονικές ανομοιόμοφης πρόσβασης μνήμης έναν μεγάλο αριθμό παράλληλων υλοποιήσεων, κάποιες απο τις οποίες είναι ειδικά σχεδιασμένες για numa συστήματα (numa-aware υλοποιήσεις). Προτείνουμε μία νέα numa-aware ουρά προτεραιότητας (αλγόριθμος NUDDLE), η οποία αξιοποιεί τα χαρακτηριστικά των αρχιτεκτονικών τύπου ΝUMA και οδηγεί σε καλύτερα αποτελέσματα όταν ο ανταγωνισμός μεταξύ των νημάτων είναι έντονος. Παρόλα αυτά, σε εφαρμογές που χαρακτηρίζονται από υψηλά επίπεδα παραλληλισμού, οι non-numa-aware υλοποιήσεις επιτυγχάνουν μεγαλύτερη απόδοση. Συμπεραίνουμε, λοιπόν, ότι δεν υπάρχει μια ιδανική δομή δεδομένων και οτι οι συνθήκες στις οποίες εκτελείται μια εφαρμογή είναι αυτές που καθορίζουν το είδος του αλγορίθμου που πρέπει να χρησιμοποιηθεί. Στην προσπάθειά μας να προσεγγίσουμε τη λειτουργία μιας ιδανικής δομής, μοντελοποιούμε το πρόβλημα της επιλογής του καλύτερου αλγορίθμου και χρησιμοποιούμε τεχνικές μηχανικής μάθησης για να το επιλύσουμε. Πιο συγκεκριμένα, θεωρούμε δύο κλάσεις υλοποιήσεων (numa-aware και non-numa-aware) και προτείνουμε ένα μοντέλο βασισμένο σε δέντρα αποφάσεων, το οποίο αφού εκπαιδευτεί σε ένα ευρύ φάσμα πειραμάτων, κατηγοροιοποιεί τα διάφορα περιβάλλοντα εκτέλεσης στις δύο κλάσσεις με αρκετά υψηλή ακρίβεια. Στη συνέχεια, χρησιμοποιούμε αυτό το μοντέλο για να δημιουργήσουμε μια δυναμική δομή δεδομένων, η οποία, εξετάζοντας τις συνθήκες κάτω από τις οποίες εκτελείται, μπορεί να μεταβεί εύκολα και γρήγορα από numa-aware σε non-numa-aware αλγόριθμο επιτυγχάνοντας έτσι τη βέλτιστη δυνατή απόδοση. Η μεθοδολογία αυτή, πιστεύουμε ότι μπορεί να επεκταθεί και να χρησιμοποιηθεί για το σχεδιασμό και άλλων παράλληλων δομών δεδομένων, οι οποίες θα μπορούν να προσαρμόζονται στο εκάστοτε περιβάλλον, να αξιοποιούν τα χαρακτηριστικά της κάθε αρχιτεκτονικής και άρα να παρουσιάζουν τα βέλτιστα δυνατά αποτελέσματα. el
heal.abstract Nowadays, modern multicore processors are part of every computer system, and they are based on Non-Uniform Memory Access (NUMA) architectures. In order to fully leverage these machines, researchers should design efficient and scalable concurrent data structures that are aware of NUMA performance artifacts. In this thesis, we study both NUMA-oblivious and NUMA-aware concurrent data structures, particularly focusing on priority queues. We evaluate the scalability of the most known state-of-the-art concurrent priority queues on NUMA architectures, and propose a NUMA-aware concurrent priority queue, named NUDDLE, that outperforms state-of-the-art algorithms when contention between threads is high. However, in highly parallel benchmark configurations, NUDDLE performs poorly compared to numa-oblivious algorithms. Our experiments point that there is not an one-size-fits-all solution, since the profile of the application determines whether a numa-aware or a numa-oblivious implementation is more efficient. Towards that direction, we propose a self-aware concurrent priority queue. We formulate NUMA awareness as a classification problem and employ machine learning techniques to predict the more performant algorithm between a NUMA-aware and a NUMA-oblivious concurrent priority queue. We create a highly accurate profile-guided Decision Tree Classifier, trained on various microbenchmarks, that predicts the most appropriate algorithm taking as input the configurations of the execution. This classifier is utilized to create an adaptive priority queue, that according to its profile configurations can switch from numa-aware to non numa-aware implementation and vice versa when needed and achieve the highest available performance for all configuration workloads. We believe our methodology constitutes a general direction towards the design of dynamically adaptive concurrent data structures that perform best under all circumstances. en
heal.advisorName Γκούμας, Γεώργιος el
heal.committeeMemberName Γκούμας, Γεώργιος el
heal.committeeMemberName Κοζύρης, Νεκτάριος el
heal.committeeMemberName Παπασπύρου, Νικόλαος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 133 σ.
heal.fullTextAvailability true


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

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

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