dc.contributor.author | Στυλιαράς, Δημήτριος | el |
dc.contributor.author | Styliaras, Dimitrios | en |
dc.date.accessioned | 2022-12-16T09:59:52Z | |
dc.date.available | 2022-12-16T09:59:52Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/56470 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.24168 | |
dc.rights | Αναφορά Δημιουργού 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by/3.0/gr/ | * |
dc.subject | Κρυφή Μνήμη | el |
dc.subject | Προανάκτηση | el |
dc.subject | Νευρωνικά Δίκτυα | el |
dc.subject | Μακρά Βραχυπρόθεσμη Μνήμη | el |
dc.subject | Μηχανική Μάθηση | el |
dc.subject | Cache | en |
dc.subject | LSTM | en |
dc.subject | Prefetching | en |
dc.subject | Neural Networks | en |
dc.subject | Machine Learning | en |
dc.title | Έγκαιρη Προανάκτηση Δεδομένων στην Κρυφή Μνήμη με χρήση Τεχνικών Μηχανικής Μάθησης | el |
dc.title | Timely Data Prefetching in Cache Memory with Machine Learning Techniques | en |
dc.contributor.department | Computer Systems | el |
heal.type | bachelorThesis | |
heal.classification | Computer Architecture | en |
heal.classification | Αρχιτεκτονική Υπολογιστών | el |
heal.language | el | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2022-09-28 | |
heal.abstract | Η συνεχής ανάγκη για βελτίωση στην αρχιτεκτονική των υπολογιστών έχει οδηγήσει στην εφαρμογή διαφορετικών μηχανισμών για τη βελτίωση της απόδοσης. Η προανάκτηση είναι η διαδικασία φόρτωσης δεδομένων σε μνήμες υψηλότερης ταχύτητας από χαμηλότερες, προτού αυτές χρειαστούν, προκειμένου να μειωθεί ο αριθμός των κύκλων που ένας επεξεργαστής μένει σε αδράνεια. Υπάρχουν διαφορετικοί τύποι μηχανισμών προανάκτησης, αλλά οι περισσότεροι από αυτούς συγκεντρώνουν και αναλύουν τις πιο πρόσφατες προσβάσεις στη μνήμη μαζί με μεταδεδομένα, για να προβλέψουν μελλοντικές διευθύνσεις με διαφορετικούς αλγόριθμους. Ένας μηχανισμός προανάκτησης σχεδιάζεται σύμφωνα με τους δεδομένους πόρους και την πολυπλοκότητα των μοτίβων πρόσβασης στη μνήμη που προσπαθεί να προβλέψει. Ειδικοί μηχανισμοί προανάκτησης είναι δαπανηροί, αλλά μπορούν να αναγνωρίσουν προηγμένα μοτίβα και να βελτιώσουν απαιτητικές εφαρμογές. Οι τεχνικές μηχανικής μάθησης και τα νευρωνικά δίκτυα, παρέχουν λύσεις πρόβλεψης σε πολλά διαφορετικά πεδία και η χρήση τους υπόσχεται βελτιώσεις και στην αρχιτεκτονική υπολογιστών, καθώς τα μοντέλα νευρωνικών δικτύων μέσω εκπαίδευσης μπορούν να προσαρμοστούν σε διαφορετικά μοτίβα πρόσβασης για κάθε εφαρμογή. Στην παρούσα διπλωματική εργασία εστιάζουμε στην προανάκτηση δεδομένων, και εξετάζουμε διάφορους μηχανισμούς προανάκτησης (με ή χωρίς Μηχανική Μάθηση) και εφαρμόζουμε ένα μοντέλο Επαναλαμβανόμενου Νευρωνικού Δικτύου Μακράς Βραχυπρόθεσμης Μνήμης (LSTM) που συνδυάζουμε μαζί με άλλους prefetchers για να λειτουργεί ταυτόχρονα. Το μοντέλο μας αντιμετωπίζει την πρόβλεψη διευθύνσεων μνήμης ως πρόβλημα ταξινόμησης της διαφοράς (δέλτα) διευθύνσεων μνήμης διαφορετικών μετρητών προγραμμάτων στην κρυφή μνήμη τελευταίου επιπέδου. Ένας σημαντικός παράγοντας που λαμβάνουμε υπόψη στην εκπαίδευση μοντέλων είναι ο χρονισμός προανάκτησης, όπως προέκυψε από τον πειραματισμό του ίδιου μοντέλου(LSTM) με μοναδική διαφορά την απόσταση των προβλέψεων. Αντί να στοχεύουμε στην πρόβλεψη των αμέσως επόμενων προσβάσεων μνήμης, στοχεύουμε σε πιο μελλοντικές προβλέψεις υπολογίζοντας τα δέλτα μεταξύ συγκεκριμένου βήματος που προκύπτουν από την ανάλυσή μας. Τα αποτελέσματα που παρουσιάζουμε είναι ενθαρρυντικά για εφαρμογή νευρωνικών δικτύων σε prefetchers που είτε λειτουργούν αυτόνομα είτε ακόμα καλύτερα λειτουργούν συμπληρωματικά με άλλους prefetchers χωρίς μηχανική μάθηση, με τον συδνυασμό του μοντέλου μας και τον Irregular Stream Buffer να παρουσιάζει την καλύτερη και πιο συνεπή επίδοση στο σύνολο των προσομοιώσεων. | el |
heal.abstract | The constant need for improvement in computer architecture has led to the implementation of different mechanisms to improve performance. Prefetching is the process of loading data to higher speed memories from lower ones before they are needed in order to reduce the number of cycles a processor stays idle. There are different types of prefetchers, but most of them gather and analyze recent memory accesses along with metadata to extrapolate and predict future addresses with different algorithms. A prefetcher is designed in accordance with the given resources and the complexity of the memory access patterns it tries to predict. Specific or more complex prefetchers are costly, but they can prefetch advanced patterns and ap- plications. Machine Learning Techniques, Neural Networks specifically, provide solutions to different fields in recent years and seem promising for computer architecture. Neural Network Models through training can be adapted to different access patterns for each application. In the current thesis, we examine other commonly used prefetchers (with or without Machine Learning) and implement a Recurrent Long Short Term Memory Neural Network model that we combine with other prefetchers to work simultaneously. Our LSTM model treats memory address prediction as a classification problem of memory address deltas of different Program Counters on the Last Level Cache. An important factor of our model is timeliness by calculating the deltas between addresses with specific distances derived from our analysis with the same LSTM model being tested considering prediction of the next and prediction of an address further in the future. The results we present are promising for Neural Network applications in prefetchers on their own or even better working complementary to other non Machine Learning ones. | en |
heal.advisorName | Κοζύρης, Νεκτάριος | el |
heal.advisorName | Koziris, Nectarios | en |
heal.committeeMemberName | Koziris, Nectarios | |
heal.committeeMemberName | Goumas, Georgios | en |
heal.committeeMemberName | Pnevmatikatos, Dionisios | en |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 155 σ. | el |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: