HEAL DSpace

Hardware/Software Design Exploration Towards Resource Isolation and Performance Improvement in SoC FPGAs

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

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

dc.contributor.author Χατζηστυλιανός, Αλέξης el
dc.contributor.author Chatzistylianos, Alexis en
dc.date.accessioned 2019-09-12T07:24:26Z
dc.date.available 2019-09-12T07:24:26Z
dc.date.issued 2019-09-12
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/49208
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.15880
dc.rights Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ *
dc.subject SoC FPGA el
dc.subject Απομόνωση el
dc.subject Επίδοση el
dc.subject Συμμετρική και ασύμμετρη πολυεπεξεργασία el
dc.subject Σχεδίαση υλισμικού/λογισμικού el
dc.subject SoC FPGA en
dc.subject Isolation en
dc.subject Performance en
dc.subject Symmetric and asymmetric multiprocessing en
dc.subject Hardware/software design el
dc.title Hardware/Software Design Exploration Towards Resource Isolation and Performance Improvement in SoC FPGAs en
heal.type bachelorThesis
heal.classification Προγραμματισμός υλισμικού/λογισμικού el
heal.classification Hardware/software programming en
heal.language en
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2019-04-18
heal.abstract Στις μέρες μας, ένας μεγάλος αριθμός εφαρμογών πρέπει να διαχειρίζεται μία συνεχή ροή δεδομένων και να την επεξεργάζεται κατάλληλα ώστε να ικανοποιούνται οι επιθυμητές απαιτήσεις. Είτε η ροή αυτή αντιστοιχεί σε πληροφορία που μεταδίδεται μέσω μίας τηλεπικοινωνιακής υποδομής, σε μετρήσεις που παράγονται από έναν αισθητήρα ή σε δεδομένα που δημιουργούνται από οποιαδήποτε άλλη πηγή, απαιτείται συχνά να την επεξεργαζόμαστε αποτελεσματικά και αδιάλειπτα, ενώ πολλαπλές κρίσιμες εργασίες πραγματικού χρόνου εκτελούνται ανεξάρτητα μεταξύ τους. Όταν το πρόβλημα που περιγράφεται παραπάνω αντιμετωπίζεται με χρήση παραδοσιακών συστημάτων επεξεργασίας, εμφανίζονται διάφοροι περιορισμοί ως προς την απομόνωση των εργασιών και την επίδοση του συστήματος. Σε περίπτωση που εμπλέκεται ένα ενσωματωμένο σύστημα, ενδέχεται να εμφανιστούν και θέματα όπως η κατανάλωση ισχύος και η φορητότητα. Κατά συνέπεια, άλλες τεχνολογίες θα πρέπει να εξεταστούν για την υλοποίηση τέτοιων εφαρμογών. Τα SoC FPGAs φαίνονται ως μία ιδανική λύση, δεδομένου ότι παρέχουν ισχυρή ψηφιακή επεξεργασία σήματος στο υλισμικό, σε συνδυασμό με την ευελιξία και τη δυνατότητα πολλαπλής επεξεργασίας ενός πολυπύρηνου επεξεργαστή, καθώς και ένα ευρύ σύνολο περιφερειακών για λειτουργίες υψηλού επιπέδου. Ωστόσο, προκειμένου να καταλήξουμε σε μία ικανοποιητική λύση, πρέπει σαφώς να λάβουμε υπόψη την απομόνωση των πόρων και τη βελτιστοποίηση της απόδοσης. Σε αυτή τη διπλωματική εργασία, σχεδιάζεται και υλοποιείται σε ένα διπύρηνο SoC FPGA μία δοκιμαστική υποδομή κατάλληλη για μία τηλεπικοινωνιακή εφαρμογή. Αποτελείται από έναν πομπό και έναν δέκτη δεδομένων, καθένας εκ των οποίων τρέχει σε ξεχωριστή CPU. Μία ροή δεδομένων υπόκειται σε επεξεργασία στο FPGA και μεταφέρεται από τη μία πλευρά στην άλλη, ενώ κάθε πυρήνας είναι υπεύθυνος για την εκτέλεση των δικών του ανεξάρτητων εργασιών στα δεδομένα. Το σύστημα αναπτύσσεται στην αναπτυξιακή πλακέτα Zybo, η οποία βασίζεται στo Zynq-7000 All Programmable SoC. Επιχειρούνται βελτιστοποιήσεις τόσο από την πλευρά του υλισμικού όσο και του λογισμικού, ώστε να ικανοποιούνται οι απαιτήσεις μίας πιθανής πραγματικής εφαρμογής. Πρώτον, διερευνάται η σχεδίαση του υλισμικού, με στόχο τη μεγιστοποίηση του ρυθμού μεταφοράς των δεδομένων. Στη συνέχεια, υλοποιούνται δύο διαφορετικά σχήματα, από άποψη λειτουργικών συστημάτων: ένα ενιαίο περιβάλλον Linux που εφαρμόζεται και στους δύο πυρήνες και μία αρχιτεκτονική Linux/FreeRTOS, όπου κάθε πυρήνας τρέχει το δικό του ξεχωριστό λειτουργικό σύστημα. Τέλος, και τα δύο σχήματα δοκιμάζονται στην αναπτυγμένη εφαρμογή και συγκρίνονται σχετικά με την απομόνωση και την απόδοση. Πραγματοποιείται μία σειρά από πειράματα που τοποθετούν το σύστημα σε διαφορετικά σενάρια. Οι μετρήσεις και τα συμπεράσματα που προκύπτουν παρουσιάζονται για την αξιολόγηση του συστήματος και στις δύο περιπτώσεις. el
heal.abstract Nowadays, a vast number of applications need to manage a continuous stream of data and process it appropriately to meet the desired requirements. Whether this stream corresponds to information transmitted through a telecom infrastructure, measurements generated by a sensor or data created by any other source, it is often required to process it efficiently and uninterruptedly, while multiple critical real-time tasks are executed independently. When dealing with the problem described above in traditional processing systems, engineers are faced with various limitations in terms of task isolation and performance. In case an embedded system is involved, issues like power consumption and portability may also appear. Consequently, other technologies should be considered as target platforms for such applications. Multicore SoC FPGAs, in particular, seem to be an ideal solution, since they provide powerful Digital Signal Processing (DSP) in hardware, combined with the flexibility and multiprocessing features of a multicore processor, as well as a rich set of peripherals for high-level functions. However, in order to end up with a satisfying solution, resource isolation and performance optimization still need to be taken into consideration. In this thesis, a testbed suitable for a telecom application is designed and implemented on a dual-core SoC FPGA. It consists of a transmitter and a receiver of data, each one running on a separate CPU core. A stream of data is processed in the FPGA and transferred from one side to another, while each core is responsible for executing its own independent tasks on data. The system is deployed on the Zybo development board, which is built around the Zynq-7000 All Programmable SoC device. Optimizations are attempted both from hardware and software perspectives, to satisfy the requirements of a potential real-life application. First, an exploration is done on the hardware design, aiming to maximize the throughput of the data transfers. Then, two different configurations are implemented, in terms of operating systems: a single Linux environment running on both cores and a Linux/FreeRTOS architecture, where each core runs its own separate operating system. Finally, both configurations are tested on the developed application and compared, with respect to isolation and performance. A number of experiments are conducted to place the system in different scenarios. The resulting measurements and conclusions are presented in order to evaluate the system in both cases. en
heal.advisorName Σούντρης, Δημήτριος el
heal.committeeMemberName Πεκμεστζή, Κιαμάλ el
heal.committeeMemberName Γκούμας, Γεώργιος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Μικροϋπολογιστών και Ψηφιακών Συστημάτων VLSI el
heal.academicPublisherID ntua
heal.numberOfPages 76 σ.
heal.fullTextAvailability true


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

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

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

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

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα