HEAL DSpace

Dynamic memory management exploration σε συστήματα πολλών accelerators με χρήση Vivado HLS

DSpace/Manakin Repository

Show simple item record

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


Files in this item

The following license files are associated with this item:

This item appears in the following Collection(s)

Show simple item record

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα Except where otherwise noted, this item's license is described as Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα