HEAL DSpace

Πρόβλεψη εντολών διακλάδωσης με τεχνητά νευρωνικά δίκτυα

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

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

dc.contributor.author Βοντζαλίδης, Αριστοτέλης el
dc.contributor.author Vontzalidis, Aristotelis en
dc.date.accessioned 2021-11-09T09:03:31Z
dc.date.available 2021-11-09T09:03:31Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/54040
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.21738
dc.rights Default License
dc.subject Τεχνητά νευρωνικά δίκτυα el
dc.subject Μηχανική μάθηση el
dc.subject Πρόβλεψη εντολών διακλάδωσης el
dc.subject Αρχιτεκτονική υπολογιστών el
dc.subject Προσομοιωτής αρχιτεκτονικής el
dc.subject Artificial neural networks en
dc.subject Machine learning en
dc.subject Branch prediction en
dc.subject Computer architecture en
dc.subject Simulator el
dc.title Πρόβλεψη εντολών διακλάδωσης με τεχνητά νευρωνικά δίκτυα el
dc.title Branch prediction using artificial neural networks en
heal.type bachelorThesis
heal.classification Πρόβλεψη εντολών διακλάδωσης el
heal.classification Αρχιτεκτονική Υπολογιστών el
heal.classification Branch Prediction en
heal.classification Μηχανική μάθηση el
heal.language el
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2021-07-01
heal.abstract Machine learning and specifically neural networks have made a major progress in various fields, in recent years. While they made it possible for computers to be used successfully in numerous fields, few steps have been made towards using them for improving and accelerating computer hardware. Therefor, we can examine how neural networks can be used for enhancing computer architecture and subsequently maximizing processor efficiency overall. Designing an advanced computer engineering, is composed of many distinctive parts, each possessing its own complexity and significance. Some of these parts can be replaced with neural networks, which can either be then implemented in hardware level, or we can extract information based on their function, in order to create new and more advanced units. This diploma thesis aims to examine existing neural networks, as well as developing new ones, to be used as branch prediction units. Recently Stephen Tarsa and others, identified a few branch instructions that systematically produce misspredictions, execute multiple times and are independent from program input; they labeled them as Hard-to-Predict and showed that predicting them correct can offer a significant improvement for the processor. Because these branches have a high execution rate, training and making use of artificial neural networks can be an option, whilst their independence from program input allow offline training and usage of pre-trained models for predictions in future executions. The first artificial neural network for this task was also proposed by Stephen Tarsa and others; they used a deep branch history which they encoded and analyzed using convolutional neural networks, which can identify related branches to the one being predicted. Siavash Zangeneh and others continued their work to develop BranchNet, a more complex but also more accurate model. BranchNet uses a deeper (longer) sequence of history branches to make a prediction by introducing 2 improvements; one better way of encoding data and some extra neural layers, both of which allow it to process deeper branch histories. If we use these models for Hard-to-Predict branches and pair them with a state-of-the-art existing branch predictor for the rest of the branches, we can achieve high performance at specific tasks. We studied these artificial neural networks and we propose a model of our own, using Long Short-Term Memory networks. Inspired from BranchNet, we encode branch history and process it using convolutional layers in a similar way. The key difference is that we include an LSTM network as last layer, in which we feed the processed branch history to make a prediction. Moreover we embed neural networks in a computer architecture simulator, ChampSim, so to evaluate them. We see that neural networks can be a powerful approach at predicting branches; they boost performance of 541.leela more than 10%, regarding instructions per cycle - IPC. In the future we can either develop more sophisticated models, capable of achieving higher accuracy, or design artificial neural networks on a hardware level. en
heal.abstract Η μηχανική μάθηση και συγκεκριμένα τα νευρωνικά δίκτυα έχουν κάνει μεγάλη πρόοδο σε διάφορους τομείς τα τελευταία χρόνια και έχουν επιτρέψει την αξιοποίηση των ηλεκτρονικών υπολογιστών σε πολλά πεδία. Ωστόσο έχουν γίνει λίγα βήματα στην χρήση τους με σκοπό την βελτίωση της αρχιτεκτονικής των υπολογιστών. Οι σύγχρονοι επεξεργαστές αποτελούνται από πολλά ξεχωριστά, πολύπλοκα στοιχεία τα οποία θα μπορούσαν να αντικατασταθούν με νευρωνικά δίκτυα, τα οποία στη συνέχεια είτε να υλοποιηθούν 0σε επίπεδο υλικού (hardware), είτε να χρησιμοποιηθούν παρατηρήσεις με σκοπό τον σχεδιασμό νέων και αποτελεσματικότερων τμημάτων. Στόχος της διπλωματικής εργασίας είναι η μελέτη υπαρχόντων, αλλά και η ανάπτυξη νέων, νευρωνικών δικτύων, με σκοπό την χρήση τους ως μονάδων προβλεπτών διακλαδώσεων (branch prediction units). Πρόσφατες εργασίες εντόπισαν κάποιες λίγες εντολές διακλάδωσης οι οποίες προκαλούν συστηματικά λάθος προβλέψεις, εκτελούνται πολλές φορές και είναι ανεξάρτητες των δεδομένων εισόδου μιας εφαρμογής, τις χαρακτήρισαν ως Δύσκολες-να-Προβλεφθούν διακλαδώσεις (Hard-to-Predict branches) και έδειξαν ότι η σωστή πρόβλεψη τους προσφέρει σημαντική αύξηση της απόδοσης του επεξεργαστή. Συνεπώς οι συγκεκριμένες διακλαδώσεις αποτελούν ευκαιρία για βελτίωση μέσω τεχνητών νευρωνικών δικτύων, ενώ η μη εξάρτηση από την είσοδο επιτρέπει την προγενέστερη εκπαίδευση τους (offline) και την χρήση τους σε μελλοντικές εκτελέσεις. Το πρώτο τεχνητό νευρωνικό δίκτυο που προτάθηκε για το σκοπό αυτό, χρησιμοποιεί ένα σχετικά βαθύ ιστορικό, το οποίο κωδικοποιείται και στη συνέχεια αναλύεται από ένα συνελικτικό δίκτυο το οποίο εντοπίζει διακλαδώσεις σχετικές με την διακλάδωση προς πρόβλεψη. Μια πιο πρόσφατη εργασία πρότεινε το BranchNet που είναι ένα πιο πολύπλοκο, αλλά αποτελεσματικότερο μοντέλο. Το BranchNet χρησιμοποιεί ένα μεγαλύτερο (βαθύτερο) ιστορικό εντολών διακλάδωσης για να κάνει μία πρόβλεψη παρουσιάζοντας δύο βελτιώσεις, μία καλύτερη κωδικοποίηση των δεδομένων και κάποια επιπλέον στρώματα τα οποία ευνοούν την επεξεργασία των περισσότερων δεδομένων. Αν αυτά τα μοντέλα χρησιμοποιηθούν για πρόβλεψη Hard-to-Predict εντολών διακλάδωσης και συνδυαστούν με κάποιον καλό προβλεπτή για τις υπόλοιπες εντολές, το αποτέλεσμα είναι υψηλή επίδοση σε συγκεκριμένες εφαρμογές. Εμείς μελετάμε αυτά τα τεχνητά νευρωνικά δίκτυα και προτείνουμε ένα δικό μας μοντέλο, το οποίο χρησιμοποιεί δίκτυα μακράς-βραχυπρόθεσμης μνήμης (Long Short-Term Memory). Βασιζόμαστε στη δουλειά του BranchNet, κωδικοποιούμε το ιστορικό διακλαδώσεων και το επεξεργαζόμαστε με συνελικτικά στρώματα. Ωστόσο, ενσωματώνουμε επιπλέον και ένα αναδρομικό δίκτυο (το LSTM) το οποίο διαβάζει το επεξεργασμένο ιστορικό και μας δίνει την πρόβλεψη. Επιπλέον, ενσωματώνουμε τα τεχνητά νευρωνικά δίκτυα στον προσομοιωτή αρχιτεκτονικής ChampSim, ώστε να τα αξιολογήσουμε. Παρατηρούμε ότι τα τεχνητά νευρωνικά δίκτυα αποτελούν ελκυστική επιλογή στον τομέα πρόβλεψης διακλαδώσεων, συγκεκριμένα επιτυγχάνουν αύξηση μεγαλύτερη του 10% στις εντολές ανά κύκλο στην εφαρμογή 541.leela. Μελλοντικά θα μπορούσαμε να υλοποιήσουμε πιο περίπλοκα μοντέλα, ικανά να επιτύχουν καλύτερη πρόβλεψη, ή να σχεδιάσουμε τεχνητά νευρωνικά δίκτυα σε επίπεδο υλικού. el
heal.advisorName Πνευματικάτος, Διονύσιος el
heal.advisorName Pnevmatikatos, Dionisios en
heal.committeeMemberName Πνευματικάτος, Διονύσιος el
heal.committeeMemberName Γκούμας, Γεώργιος el
heal.committeeMemberName Κοζύρης, Νεκτάριος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 91 σ. el
heal.fullTextAvailability false


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

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

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