dc.contributor.author |
Κανελλόπουλος, Κωνσταντίνος
|
el |
dc.contributor.author |
Kanellopoulos, Konstantinos
|
en |
dc.date.accessioned |
2018-06-19T09:01:11Z |
|
dc.date.available |
2018-06-19T09:01:11Z |
|
dc.date.issued |
2018-06-19 |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/47073 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.15231 |
|
dc.rights |
Default License |
|
dc.subject |
Μνήμη |
el |
dc.subject |
Memory-bound |
en |
dc.subject |
Ακανόνιστες προσβάσεις |
el |
dc.subject |
Συντομότερα μονοπάτια |
el |
dc.subject |
Irregular accesses |
en |
dc.subject |
Dijkstra |
en |
dc.subject |
Prefetching |
en |
dc.title |
Μελέτη τεχνικών βελτιστοποίησης για εφαρμογές με μη κανονικές προσβάσεις στη μνήμη |
el |
heal.type |
bachelorThesis |
|
heal.classification |
Αρχιτεκτονική υπολογιστών |
el |
heal.language |
el |
|
heal.language |
en |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2018-03-13 |
|
heal.abstract |
Πολλές σύγχρονες εφαρμογές χαρακτηρίζονται ως memory-bound λόγω ακανόνιστων πρόσβασεων στη μνήμη. Ο αλγόριθμος του Dijkstra ανήκει σε αυτή την κατηγορία εφαρμογών που πάσχουν από αυτού του είδους τις προσβάσεις. Πραγματοποιήσαμε εκτεταμένο profiling στον αλγόριθμο για να ανακαλύψουμε το bottleneck του και χρησιμοποιήσαμε prefetching λογισμικού για να το αντιμετωπίσουμε. Στις περιπτώσεις ακανόνιστων προσβάσεων στη μνήμη, το prefetching λογισμικού παρέχει την δυνατότητα prefetching εκμεταλλευόμενοι τα χαρακτηριστικά του αλγορίθμου. Εν αντιθέσει, οι hardware prefetchers δεν είναι τόσο ευέλικτοι. Σε αυτή τη διατριβή, παρουσιάζουμε το σχήμα Prefetch-Process-Thread-Alternation, το οποίο βασίζεται στο πιο απλό Prefetching Helper Thread σχήμα. Το PPTA χρησιμοποιεί δύο νήματα που εναλλάσσονται μεταξύ μίας φάσης prefetch και μίας φάσης εκτέλεσης, για να αποκρύψει την καθυστέρηση απόκρισης μνήμης που προκαλείται από τα ακανόνιστα μοτίβα πρόσβασης. Αξιολογούμε και τα δύο σχήματα χρησιμοποιώντας δύο διαφορετικές πλατφόρμες, μία από τις οποίες υποστηρίζει simultaneous multithreading. Τα πειράματά μας, σε γράφους με αυξανόμενες πυκνότητες, δείχνουν ότι το PPTA επιτυγχάνει επιτάχυνση έως 1.82 για αραιούς και 1.62 για πυκνούς γράφους. |
el |
heal.abstract |
Many modern applications are memory-bound due to irregular memory access pat-
terns. Dijkstra’s algorithm belongs in this class of applications that suffer from this
kind of accesses. We performed an extended profiling of the algorithm to discover
its bottleneck and employed software prefetching to compromise it. When complex
data access patterns are considered, the software approach provides the opportunity
of performing sophisticated prefetching based on the characteristics of the algori-
thm whereas hardware schemes are not so flexible. In this thesis, we introduced
the Prefetch-Process-Thread-Alternation scheme which is based on the Prefetching
Helper Thread scheme. PPTA involves two threads that alternately switch between
a prefetching and a process phase, to hide the memory latency caused by cache mis-
ses. We evaluate both schemes using two different platforms, one of which supports
simultaneous multithreading. Our experiments, on graphs with increasing densities,
show that PPTA achieves performance speedup up to 1.82 for sparse and 1.62 for
dense graphs |
en |
heal.advisorName |
Γκούμας, Γεώργιος |
el |
heal.committeeMemberName |
Γκούμας, Γεώργιος |
el |
heal.committeeMemberName |
Κοζύρης, Νεκτάριος |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
114 σ. |
|
heal.fullTextAvailability |
true |
|