dc.contributor.author | Δαβουρλή, Αγγελική | el |
dc.contributor.author | Davourli, Angeliki | en |
dc.date.accessioned | 2016-06-29T12:26:20Z | |
dc.date.available | 2016-06-29T12:26:20Z | |
dc.date.issued | 2016-06-29 | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/42900 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.12271 | |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
dc.subject | Σύνθεση υψηλού επιπέδου | el |
dc.subject | Εξερεύνηση του χώρου λύσεων | el |
dc.subject | Design space exploration (DSE) | en |
dc.subject | Field-programmable gate array (FPGA) | en |
dc.subject | High level synthesis (HLS) | en |
dc.subject | Exploration | en |
dc.subject | Vivado HLS | en |
dc.title | Dynamic memory management exploration σε συστήματα πολλών accelerators με χρήση Vivado HLS | el |
heal.type | bachelorThesis | |
heal.classification | Εξερεύνηση του χώρου λύσεων | el |
heal.classification | Σύνθεση υψηλού επιπέδου | el |
heal.classification | Δυναμική διαχείριση μνήμης | el |
heal.classification | Design space exploration | el |
heal.classification | High level synthesis | el |
heal.classification | Vivado HLS | el |
heal.classification | FPGA | el |
heal.classification | Embedded systems | el |
heal.language | el | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2016-03-09 | |
heal.abstract | Η συστοιχία επιτόπια προγραμματιζόμενων πυλών, από εδώ και στο εξής FPGA (field-programmable gate array), ονομάζεται ένας τύπος ολοκληρωμένου κυκλώματος γενικής χρήσης, το οποίο μπορεί να προγραμματιστεί πολλές φορές μετά την κατασκευή του. Αυτό το βασικό χαρακτηριστικό του αποτελεί τον κυριότερο λόγο για τον οποίο τα FPGAs χρησιμοποιούνται σε πολλούς τομείς της βιομηχανίας όπως την αεροδιαστημική και αμυντική βιομηχανία, την αυτοκινητοβιομηχανία, τις ιατρικές εφαρμογές, την επεξεργασία εικόνων και βίντεο, τις κινητές και σταθερές επικοινωνίες, την πληροφορική υψηλής απόδοσης (HPC) κ.ά. Δεδομένου όμως ότι ο προγραμματισμός του γίνεται με χρήση γλωσσών περιγραφής υλικού (HDL), το FPGA καθίσταται αρκετά δύσκολο για χρήση από τον μέσο προγραμματιστή, που ασχολείται με γλώσσες υψηλού επιπέδου. Για το λόγο αυτό, ταυτόχρονα με την ανάπτυξη των σύγχρονων συσκευών FPGA, αναπτύσονται και εργαλεία που εφαρμόζουν την ιδέα της Σύνθεσης Υψηλού Επιπέδου (High Level Synthesis, HLS). Η ιδέα του HLS αφορά την μετατροπή κώδικα γραμμένου σε κάποια γλώσσα υψηλού επιπέδου (π.χ. C/C++) σε γλώσσα περιγραφής υλικού [1]. Πέρα από την ιδέα του HLS, η ευρεία χρήση των FPGAs σε τεχνολογίες αιχμής έχει οδηγήσει στην ανάπτυξη ενός ακόμη σταδίου κατά τη διάρκεια της διαδικασίας σχεδιασμού λογισμικού, την Εξερεύνηση του Χώρου Λύσεων (Design Space Exploration, DSE). Η ιδέα του DSE αφορά την εξερεύνηση και την εξέταση όλων των δυνατών εναλλακτικών πριν την υλοποίηση ενός αλγορίθμου σε κώδικα [2]. Το DSE είναι ιδιαίτερα χρήσιμο στην περίπτωση των FPGAs, καθώς αυτά περιλαμβάνουν περιορισμένους πόρους σε υλικό (hardware resources). Στην παρούσα διπλωματική εξετάζουμε με τη μέθοδο του DSE, την οποία αρχικά εφαρμόζουμε στο επίπεδο της διαχείρισης μνήμης, πέντε αλγορίθμους από τη σουίτα Phoenix MapReduce, τους Histogram, MMUL, PCA, Kmeans, String match. Προκειμένου να εφαρμόσουμε την ιδέα του DSE στο επίπεδο της διαχείρησης μνήμης προτείνουμε τη χρήση δυναμικής δέσμευσης μνήμης στο πλαίσιο της μνήμης που διαθέτει ένα FPGA. Στη συνέχεια εφαρμόζουμε τη μέθοδο του DSE στο επίπεδο του κώδικα των εφαρμογών Histogram και PCA, χρησιμοποιώντας ορισμένα HLS directives (loop unroll, loop pipeline, loop merge, loop flatten). | el |
heal.abstract | Design Space Exploration (DSE) is the process of discovering and evaluating different design alternatives during system development and before the final implementation [2]. DSE is a very useful and important concept in case of designing and implementing different algorithms in embedded systems, as these systems have limited hardware resources.Nowadays, as embedded systems, and more precisely FPGAs, are used to run HPC applications (High Performance Computing), there is a serious performance bottleneck, due to the starvation of on -chip memory. It is worth mentioning that we have to use a High Level Synthesis (HLS) tool to transform the high -level algorithmic description of these applications to hardware description language in order to be implemented on a FPGA board.In this thesis we introduce the use of a Dynamic Memory Management (DMM) library and we apply the concept of DSE to memory structures that we allocate through this library. The DSE in case of memory is related with two features of the library, the inline and the width of the freelist array, and examines time and hardware metrics such as simulation time, block RAMs in use, etc.DSE of DMM library is accomplished using several algorithms of Phoenix MapReduce suite [7]. Furthermore, using the same set of algorithms, we apply DSE to the implementation of these algorithms using some loop optimizations, as loop unroll, loop pipeline etc., provided by Vivado HLS, the HLS tool that we use. We analyze the same time and hardware metrics, as before, to evaluate the results of the optimizations. | en |
heal.advisorName | Σούντρης, Δημήτριος | el |
heal.committeeMemberName | Πεκμεστζή, Κιαμάλ | el |
heal.committeeMemberName | Οικονομάκος, Γεώργιος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 146 σ. | |
heal.fullTextAvailability | true |
The following license files are associated with this item: