Αντικείμενο της παρούσας διπλωματικής εργασίας αποτελεί η μελέτη και η ανάπτυξη ενός διαχειριστή των πόρων, για ένα εξειδικευμένο είδος παράλληλων εφαρμογών που αποκαλούνται εύπλαστες (malleable), για Πολυ-Πύρηνα Συστήματα-σε-Ψηφίδα (Multi-Processor-System-on-Chip, MPSoC) που χρησιμοποιούν Αρχιτεκτονική Δικτύου-σε-Ψηφίδα (Network-on-Chip, NoC). Παρουσιάζεται ένα πλαίσιο (framework) κατανομής πόρων το οποίο κατασκευάζει μια αρχική χαρτογράφηση (mapping) για τις εφαρμογές αυτές και έπειτα τις διαχειρίζεται καθ’ όλη την διάρκεια ζωής τους, παρέχοντας τους τρόπους για να μεγιστοποιήσουν την επιτάχυνση τους (speedup). Ο στόχος του αλγορίθμου κατανομής πόρων είναι να μεγιστοποιήσει την χρήση των πόρων, αποφεύγοντας κυριαρχικά (dominating) αποτελέσματα και λαμβάνοντας υπόψη τους τύπους των επεξεργαστών υποστηρίζοντας την ετερογένεια (heterogeneity) της πλατφόρμας. Όλα αυτά επιτυγχάνονται έχοντας συνολικά μικρή επιβάρυνση στην επικοινωνία μεταξύ των πυρήνων. Η εν λόγω δουλειά παρουσιάστηκε στο συνέδριο DAC 2013. (www.dac.com/dac+2013.aspx)
Στο κεφάλαιο 1, γίνεται μια γενική εισαγωγή καλύπτοντας τα βασικά χαρακτηριστικά ενός Δικτύου-σε-Ψηφίδα. Παρουσιάζεται η έννοια της χαρτογράφησης εφαρμογών και βασικοί ορισμοί για την πλατφόρμα και το μοντέλο εφαρμογών που χρησιμοποιήθηκαν.
Στο κεφάλαιο 2, παρουσιάζονται έξι δημοσιευμένες εργασίες οι οποίες περιλαμβάνουν θέματα πάνω σε σύγχρονους αλγορίθμους χαρτογράφησης κατά την ώρα εκτέλεσης ή αυξάνουν την διορατικότητα μας πάνω στις εύπλαστες εφαρμογές. Ερευνούμε τις βασικές ιδέες των εργασιών και δίνουμε έμφαση στις καινοτόμες συνεισφορές τους.
Στο κεφάλαιο 3, περιγράφεται το πλαίσιο κατανομής πόρων κατά την διάρκεια εκτέλεσης που αναπτύχθηκε στα πλαίσια αυτής της διπλωματικής εργασίας. Εστιάζουμε στα βασικά δομικά του στοιχεία και εξηγούμε πως λειτουργεί ο αλγόριθμος κατανομής πόρων. Επιπρόσθετα αναλύεται η αλληλεπίδραση και επικοινωνία των επί μέρους κομματιών του πλαισίου.
Στο κεφάλαιο 4, αναλύονται οι επιλογές σχεδιασμού που έγιναν για να κατασκευαστεί το εν λόγω πλαίσιο. Έπειτα, εξηγούμε πως αυτές οι επιλογές μοντελοποιήθηκαν σε κομμάτια ενός προσομοιωτή πλατφόρμας δικτύου-σε-ψηφίδα και εν τέλει σε υπηρεσία για πραγματική πλατφόρμα δικτύου-σε-ψηφίδα.
Στο κεφάλαιο 5, παρουσιάζουμε, αξιολογούμε και αναλύουμε τα αποτελέσματα των πειραμάτων που διεξήγαμε συγκρίνοντας το προτεινόμενο πλαίσιο κατανομής πόρων με ένα άλλο αντίστοιχο, τελευταίας τεχνολογίας που και τα δύο απευθύνεται σε εύπλαστες εφαρμογές.
Στο κεφάλαιο 6, συνοψίζουμε τα συμπεράσματα της διπλωματικής εργασίας και προτείνουμε τρόπους και ιδέες για περαιτέρω ανάπτυξη της δουλειάς που παρουσιάστηκε.
The purpose of this diploma thesis is the design and implementation of a run-time resource manager, for a special kind of parallel applications called the malleable ones, for a Multi-Processor System-on-Chip (MPSoC) that utilizes the Network-on-Chip (NoC) architecture. A framework is presented that creates an initial mapping for these applications and then manages them throughout their entire life cycle providing ways for them to maximize their speedup. The goal of the resource management algorithm is to maximize resource utilization, avoiding dominating effects and taking into account the type of processors supporting platform heterogeneity. All these are achieved having a small overhead in overall inter-core communication. This work was presented in DAC 2013. (www.dac.com/dac+2013.aspx)
In chapter 1, an introduction is made, covering the basic characteristics of a Network-on-Chip. The concept of application mapping is presented and basic definitions about the NoC platform and the application model used.
In chapter 2, six published works are presented which either involve topics on state-of-the-art run-time mapping algorithms or they give an insight on parallel applications. We investigate the outline of these works giving emphasis on their novel contribution.
In chapter 3, the run-time resource management framework that was developed as part of this thesis is described. We highlight its major components and explain how the algorithm for allocating the resources functions. Additionally, we analyze the interplay and intercommunication of the components of the framework.
In chapter 4, we analyze the design choices that had to be made in order for our framework to be constructed. Then, we explain how these design choices were modeled into components of simulator of NoC platforms and ultimately as a run-time service for an actual NoC platform.
In chapter 5, we present, evaluate and analyze the results of the experiments we conducted comparing our proposed resource management framework to another state-of-the-art resource management framework, both for malleable applications.
Finally in chapter 6, we summarize the conclusions of the diploma thesis and introduce ways and ideas for further development of the work we presented.