ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ 2011-2012



Σχετικά έγγραφα
ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ Επικ. Καθηγητής Δημήτριος Σούντρης

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ Επικ. Καθηγητής Δημ. Σούντρης

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Διαφορές single-processor αρχιτεκτονικών και SoCs

Αρχιτεκτονική Υπολογιστών

Εισαγωγή Συμβόλαιο Μαθήματος

Αρχιτεκτονική Υπολογιστών

Προτεινόμενα Θέματα Διπλωματικών Εργασιών

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2012

Αρχιτεκτονικές Υπολογιστών

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια)

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Κυκλωμάτων» Χειμερινό εξάμηνο

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

Σχεδιαστικά Προγράμματα Επίπλου

Προγραµµατισµός Συστηµάτων Πραγµατικού Χρόνου

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Αρχιτεκτονική Λογισμικού

Ελαχιστοποίηση της Καταναλισκόμενης Ενέργειας σε Φορητές Συσκευές

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Εικονικοποίηση. Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο,

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ

ΑΠΟΤΕΛΕΣΜΑΤΑ ΔΙΑΒΟΥΛΕΥΣΗΣ. Προκήρυξη Διαγωνισμού για την «Προμήθεια Εξοπλισμού Κόμβου Μηχανικής Μάθησης» /

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Αρχιτεκτονική Η/Υ Το chipset ενός υπολογιστικού συστήματος. Δρ. Μηνάς Δασυγένης

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

215 Μηχανικών Η/Υ και Πληροφορικής Πάτρας

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

RobotArmy Περίληψη έργου

Chapter 4 ( ή 1 στο βιβλίο σας)

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

ΑΕΠΠ Ερωτήσεις θεωρίας

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Αντικειμενοστρεφής Προγραμματισμός

Πανεπιστήμιο Κύπρου. Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ)

ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Νέες τεχνολογίες εισάγονται ή χρησιµοποιούνται

ΛΟΓΙΣΜΙΚΟ (software)

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

Αναπτύσσοντας developer tools στην Αpple. Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ


Ψηφιακή Επεξεργασία Σήματος

Προγραμματισμός Υπολογιστών

219 Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Θεσσαλονίκης

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

κεφάλαιο Βασικές Έννοιες Επιστήμη των Υπολογιστών

Don t hire us if you want average. We only do exceptional.

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

Υπολογιστική Νέφους Cloud computing

1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών

Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να:

Εισαγωγή στην Πληροφορική

Λειτουργικά Συστήματα. Εισαγωγή

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε

Αρχιτεκτονική Υπολογιστών

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Ο Δρόμος προς την Αυτόματη Κυκλοφορία

Α. Ερωτήσεις Ανάπτυξης

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Αρχιτεκτονική Υπολογιστών. ηµήτρης Γκιζόπουλος Καθηγητής

Λειτουργικά Συστήματα Η/Υ

Εισαγωγή στη Σχεδίαση Λογισμικού

Συστήματα σε Ολοκληρωμένα Κυκλώματα

2018 / 19 ΜΕΤΑΠΤΥΧΙΑΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ & ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

ΕΠΙΣΤΗΜΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΜΟΙ: Μια ενδιαφέρουσα σταδιοδρομία

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος

Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΥΝΕΡΓΑΣΤΗΚΑΝ ΡΟΚΑ ΑΦΡΟΔΙΤΗ ΣΩΤΗΡΑΚΟΥ ΣΤΑΜΑΤΙΑ ΦΕΒΡΟΥΑΡΙΟΣ 2006

Transcript:

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ 2011-2012 Επικ. Καθηγητής Δημήτριος Σούντρης Θεματική Ενότητα: Ενσωματωμένα Συστήματα Θέμα 1 Μεθοδολογία εκτίμησης επιδόσεων ιεραρχιών σκιώδους μνήμης εντολών σε ενσωματωμένα συστήματα πολλαπλών επεξεργαστών Περιγραφή θέματος: Τις τελευταίες δεκαετίες έχει παρατηρηθεί αλματώδης αύξηση της παραγωγής ενσωματωμένων συστημάτων. Τα ενσωματωμένα συστήματα παίζουν πλέον κυρίαρχο ρόλο σε πάρα πολλούς τομείς της τεχνολογίας και της βιομηχανίας. Το γεγονός αυτό κάνει επιτακτική την ανάγκη ύπαρξης μεθόδων που διευκολύνουν και επιταχύνουν τη σχεδίαση των ενσωματωμένων συστημάτων αλλά και τον έλεγχο της επίδοσης τους από τα πρώτα στάδια σχεδίασης. Σε αυτή τη διπλωματική εργασία θα αναπτυχθεί μία μεθοδολογία που στοχεύει στην πολύ γρήγορη αλλά και με καλή ακρίβεια εκτίμηση της επίδοσης ενσωματωμένων συστημάτων. Στόχος της εργασίας αυτής είναι η ανάπτυξη ενός πλήρους parser του κώδικα μηχανής ενσωματωμένων επεξεργαστων (π.χ. ARM, MIPS, κτλ). Ο parser θα πρέπει να αναγνωρίζει ολόκληρο το σετ εντολών και τα βασικά μπλοκ εντολών. Το κύριο σημείο είναι η ανάπτυξη ενός αλγορίθμου διερεύνησης της ροής εκτέλεσης του CFG για εφαρμογές που έχουν πολλαπλά νήματα εκτέλεσης (multi-threaded applications). Τα εργαλεία που θα αναπτυχθούν (οι parsers) θα ενσωματωθούν στον GCC ή LLVM (με τη μορφή compiler passes) και θα αλληλεπιδρούν με τα διάφορα ενδιάμεσα αρχεία που παράγονται κατά τη διάρκεια μεταγλώττισης (IR dumps). Για την πλήρη υποστήριξη πολυ-νηματικών εφαρμογών, τα νέα εργαλεία θα είναι συμβατά με προγραμματιστικά περιβάλλοντα αιχμής του κλάδου της παράλληλης επεξεργασίας (π.χ. OpenMP, MPI και pthreads). ανάπτυξη μεθοδολογίας καθώς και των κατάλληλων εργαλείων για την αποδοτική εκτίμηση των επιδόσεων διαφορετικών ιεραρχιών σκιώδους μνήμης εντολών σε ενσωματωμένα συστήματα πολλαπλών επεξεργαστών. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C/C++, μεταγλωττιστές (compilers) και κώδικα μηχανής (assembly). Πληροφορίες: Δημήτριος Σούντρης, Αλέξανδρος Μπάρτζας, Διονύσης Διαμαντόπουλος

Θέμα 2 Διαχείριση πόρων μνήμης σε ετερογενείς πλατφόρμες και εφαρμογές γραμμένες σε OpenCL Περιγραφή θέματος: Η Open Compute Language (OpenCL) γρήγορα γίνεται αποδεκτή ως το επόμενο βιομηχανικό στάνταρ στον προγραμματισμό ετερογενών πλατφόρμων. Είναι γνωστό ότι εξειδικευμένες επεξεργαστικές μονάδες, όπως κάρτες γραφικών (GPUs) και επιταχυντές (accelerators), μπορούν να εκτελέσουν συγκεκριμένες διεργασίες γρηγορότερα από επεξεργαστές γενικού σκοπού (CPUs). Όμως, τα κατάλληλα δεδομένα πρέπει να μεταφερθούν από τον host στην πλευρά του επιταχυντή και τα αποτελέσματα να σταλούν πίσω. Όλη αυτή η διαδικασία κοστίζει τόσο σε χρόνο όσο και σε πόρους μνήμης, καθώς πρέπει να γίνουν οι ανάλογες μεταφορές δεδομένων (memory transfers). Σε αυτή τη Διπλωματική Εργασία θα αναπτυχθεί μια μεθοδολογία διαχείρισης των πόρων μνήμης ετερογενών ενσωματωμένων πλατφόρμων που εκτελούν εφαρμογές γραμμένες σε OpenCL. Βασικό βήμα είναι η εξοικίωση με τις εφαρμογές και το OpenCL API. ανάπτυξη μεθοδολογίας καθώς και των κατάλληλων εργαλείων λογισμικού για την αποδοτική διαχείριση πόρων μνήμης σε ετερογενή συστήματα που εκτελούν εφαρμογές OpenCL. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C. Πληροφορίες: Δημήτριος Σούντρης, Αλέξανδρος Μπάρτζας, Ιωάννης Κούτρας Θέμα 3 Προσαρμοστική (adaptive) διαχείριση μνήμης σε ενσωματωμένα συστήματα πολλαπλών επεξεργαστών Περιγραφή θέματος: Οι εφαρμογές που εκτελούνται σε ενσωματωμένα συστήματα γίνονται ολοένα και πολυπολοκότερες. Συνήθως τέτοιες εφαρμογές χρησιμοποιούν δυναμικά δεδομένα (dynamically allocated data in the system heap) καθώς οι απαιτήσεις αλλάζουν σύμφωνα με την είσοδο και κατά τη διάρκεια του χρόνου εκτέλεσης. Επιπλέον η κατάσταση του ενσωματωμένου συστήματος μπορεί να απαιτεί αλλαγή του διαχειριστή μνήμης (π.χ. χαμηλή στάθμη της μπαταρίας οδηγεί στην απόφαση για ελαχιστοποίηση της κατανάλωσης ενέργειας ακόμα και στο επίπεδο του διαχειριστή μνήμης). Βασική εργασία είναι η ανάλυση (profiling) της συμπεριφοράς δυναμικών εφαρμογών κάτω από διαφορετικές συνθήκες. Το επόμενο βήμα είναι η ανάπτυξη ενός διαχειριστή δυναμικής μνήμης ικανού να αλλάζει τις πολιτικές του κατά τη διάρκεια του χρόνου εκτέλεσης. ανάπτυξη μεθοδολογίας καθώς και των κατάλληλων εργαλείων για την προσαρμοστική διαχείριση μνήμης σε ενσωματωμένα συστήματα πολλαπλών επεξεργαστών. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C. Πληροφορίες: Δημήτριος Σούντρης, Αλέξανδρος Μπάρτζας, Ιωάννης Κούτρας

Θέμα 4 Διαχείριση πόρων στην πολυπύρηνη πλατφόρμα Single-Chip Cloud Computer (SCC) της INTEL Περιγραφή θέματος: Σημαντικές προκλήσεις οδηγούν τον κόσμο των υπολογιστών σε νέα παραδείγματα. Οι σημαντικότερες από αυτές είναι: α) ο μεγάλος βαθμός παραλληλίας ως ο τρόπος παροχής επεξεργαστικής ισχύς με ρεαλιστικό κόστος κατανάλωσης ισχύος, β) τα προβλήματα αξιοπιστίας και διαθεσιμότητας των πόρων, γ) οι συνεχώς αυξανόμενες απαιτήσεις των εφαρμογών και δ) η ανάγκη για ικανοποιητική παροχή υπηρεσιών προς τον χρήστη. Μια αποδοτική υπολογιστική πλατφόρμα θα πρέπει να αντιμετωπίσει αυτές τις προκλήσεις υιοθετόντας μια αποδοτική διαχείριση των πόρων που βρίσκονται σε μια πολυπύρηνη πλατφόρμα. Σε αυτήν τη Διπλωματική Εργασία θα μελετηθούν υπάρχουσες λύσεις διαχείρισης πόρων, θα αναπτυχθεί μια νέα τεχνική η οποία θα λαμβάνει τις προαναφερόμενες προκλήσεις υπόψιν της, και θα δοκιμαστεί σε μια σύγχρονη πλατφόρμα πολλαπλών επεξεργαστών. ανάπτυξη μεθοδολογίας διαχείρισης πόρων σε πολύ παράλληλα συστήματα (48 πυρήνες). Η μεθοδολογία θα λαμβάνει υπόψιν θέματα αξιοπιστίας και διαθεσιμότητας των πόρων παράλληλα με προθεσμίες και προτεραιότητες των εφαρμογών. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C και λειτουργικά συστήματα. Πληροφορίες: Δημήτριος Σούντρης, Αντώνης Παπανικολάου, Αλέξανδρος Μπάρτζας Θέμα 5 Σχεδιασμός και ανάπτυξη ενός run-time διαχειριστή πόρων πολυπύρηνων αρχιτεκτονικών Περιγραφή θέματος: Η χρήση αρχιτεκτονικών πολλαπλών επεξεργαστών μέσα στο ίδιο ολοκληρωμένο κύκλωμα από ενσωματωμένα συστήματα των προσωπικών υπολογιστών και εξυπηρετητών είναι ήδη πραγματικότητα. Ο σχεδιασμός του καταλληλότερου συστήματος (επιλογή αρχιτεκτονικής, χαρακτηριστικών, υπηερσιών κ.α.) παραμένη μια πρόκληση για τον σχεδιαστή/μηχανικό. Σκοπός της διπλωματικής εργσίας είναι η μελέτη, ο σχεδιασμός και η ανάπτυξη ενός run-time manager ο οποίος θα είναι υπεύθυνος για τη διαχείριση των διαθέσιμων πόρων πλατφόρμας πολλαπλών επεξεργαστών. Παράλληλα θα αναπτυχθεί και αντίστοιχη μεθοδολογία η οποία θα επιτρέπει τη βέλτιστη επιλογή run-time αποφάσεων. Πιο συγκεκριμένα ο run-time manager θα ελέγχει: 1) πολλαπλά clock domain, 2) διαφορετικές τάσεις τροφοδοσίας, 3) κατάσταση λειτουργίας αρθρωμάτων μνήμης (memory module), 4) ενσωμάτωση του run-time manager σε πραγματικό NoC σύστημα. Σημαντικό βήμα για την δημιουργία του διαχειριστή πόρων είναι η πραγματοποίηση εξερεύνησης σεναρίων χρήσης κατά τη διάρκεια του χρόνου σχεδιασμού και εκμετάλλευσή τους κατά τη διάρκεια της εκτέλεσης. Ολοκληρώνοντας την εργασία ο φοιτητής θα έχει μια καλή εικόνα του state-of-art πολυπήρυνων αρχιτεκτονικών NoC καθώς επίσης και γνώσεις για διαχείριση πόρων

κατα το χρόνο εκτέλεσης. Θα έρθει σε επαφή με πραγματικές NoC αρχιτεκτονικές και βιομηχανικά εργαλεία. ανάπτυξη ενός διαχειριστή πόρων συστήματος ο οποίος θα προσφέρει ευελιξία στο πολυπύρηνο σύστημα καθιστώντας δυνατή την αλλαγή χρήσης των πόρων κατά τη διάρκεια της εκτέλεσης. Προαπαιτούμενες γνώσεις: C/C++ και λειτουργικά συστήματα. Πληροφορίες: Δημήτριος Σούντρης, Αλέξανδρος Μπάρτζας, Ηρακλής Αναγνωστόπουλος Θέμα 6 Ανάπτυξη τεχνικών προστασίας δυναμικών δεδομένων σε ασφαλή (trusted computing) υπολογιστικά περιβάλλοντα Περιγραφή θέματος: Οι εφαρμογές που εκτελούνται σε ενσωματωμένα συστήματα γίνονται ολοένα και πολυπολοκότερες. Συνήθως τέτοιες εφαρμογές χρησιμοποιούν δυναμικά δεδομένα (dynamically allocated data in the system heap) καθώς οι απαιτήσεις αλλάζουν σύμφωνα με την είσοδο και κατά τη διάρκεια του χρόνου εκτέλεσης. Παράλληλα οι απαιτήσεις για ασφάλεια γίνονται ολοένα και μεγαλύτερες καθιστώντας της ανάπτυξη τεχνικών προστασίας στα ευαίσθητα προς πρόσβαση δυναμικά δεδομένα επιτακτική. Στη Διπλωματική Εργασία θα πραγματοποιηθεί μια μελέτη υπάρχουσων τεχνικών προστασίας του heap (hardware ή software) από επιθέσεις. Θα επιλεγούν οι καταλληλότερες από αυτές και θα υλοποιηθούν μέσα σε ένα ολοκληρωμένο υπολογιστικό περιβάλλον (Linux/FreeRTOS). μελέτη και ανάπτυξη τεχνικών προστασίας του heap καθώς και η ενσωμάτωσή τους σε ήδη υπάρχουσα βιβλιοθήκη διαχείρισης δυναμικών δεδομένων. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C, δομών δεδομένων και λειτουργικών συστημάτων. Πληροφορίες: Δημήτριος Σούντρης, Αλέξανδρος Μπάρτζας, Ηρακλής Αναγνωστόπουλος, Ιωάννης Κούτρας Θέμα 7 Αυτόματη διαχείριση μνήμης σε ενσωματωμένα συστήματα που εκτελούν εφαρμογές γραμμένες σε C (application-specific garbage collection) Περιγραφή θέματος: Την αυτόματη διαχείριση μνήμης (garbage collection) μπορούμε να τη δούμε σε αντιδιαστολή με την manual διαχείριση μνήμης, η οποία απαιτει από τον προγραμματιστή να δηλώσει ρητά τα αντικείμενα που θέλει να αποδεσμεύσει (de-allocate) από την μνήμη και έτσι να ελευθερώσει τους αντίστοιχους πόρους. Πολλά συστήματα όμως χρησιμοποιούν και τις δυο προσεγγίσεις. Στόχος της Διπλωματικής Εργασίας είναι η αυτόματη διαχείριση μνήμης ενσωματωμένων συστημάτων ώστε οι αποδεσμεύσεις των δεδομένων να γίνονται με ασφάλεια χωρίς την επέμβαση του προγραμματιστή (transparent to developer). Σημαντικό βήμα είναι η μελέτη της βιβλιογραφίας για την εύρεση των

υπάρχοντων τεχνικών και η οργάνωσή τους σε ένα χώρο σχεδιασμού ο οποίος θα αποτελείται από ανεξάρτητα δένδρα αποφάσεων. Η εξερεύνηση του χώρου σχεδιασμού (επιλογές φύλων μεταξύ των δένδρων αποφάσεων) θα οδηγεί σε ένα πλήρως λειτουργικό garbage collector. Τα δένδρα αποφάσεων αντιστοιχούν σε διακριτά λειτουργικά χαρακτηριστικά των διάφορων garbage collector της βιβλιογραφίας. Θα αναπτυχθεί η μεθοδολογία εξερεύνησης του χώρου σχεδιασμού, θα υλοποιηθεί ο χώρος σχεδιασμού (C modules) και θα ενσωματωθεί σε ήδη υπάρχουσα βιβλιοθήκη διαχείρισης δυναμικών δεδομένων. Σκοπός αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι λεπτομερής μελέτη του χώρου σχεδιασμού garbage collectors, η μοντελοποίησή του σε δένδρα αποφάσεων και η ενσωμάτωσή του σε ήδη υπάρχουσα βιβλιοθήκη διαχείρισης δυναμικών δεδομένων. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C, δομών δεδομένων και λειτουργικών συστημάτων. Πληροφορίες: Δημήτριος Σούντρης, Αλέξανδρος Μπάρτζας, Ηρακλής Αναγνωστόπουλος, Ιωάννης Κούτρας Θέμα 8 Ανάπτυξη μεθοδολογίας μετασχηματισμού δυναμικών τύπων δεδομένων κατά τη διάρκεια εκτέλεσης εφαρμογών σε ενσωματωμένα συστήματα (adaptive dynamic data type transformations) Περιγραφή θέματος: Οι εφαρμογές λογισμικού που εκτελούνται σε σύγχρονα ενσωματωμένα συστήματα πρέπει να καλύπτουν τις ανάγκες του χρήστη αλλά και να προσαρμόζονται στις περιβάλλον λειτουργίας του ενσωματωμένου συστήματος. Όμως οι ανάγκες αλλά και οι συνθήκες λειτουργίας αλλάζουν δυναμικά κατά τη διάρκεια λειτουργίας του συστήματος (π.χ. αλλαγές στην στάθμη της μπαταρίας του συστήματος, αλλαγή στη διαθεσιμότητα πόρων, κτλ.) Στο επίπεδο της εφαρμογής αυτή η δυναμικότητα υποστηρίζεται και με τη χρησιμοποίηση δυναμικών τύπων δεδομένων (π.χ. λίστες, δένδρα, ουρές, κτλ.) για την αποθύκευση των δεδομένων και την πρόσβαση σε αυτά. Είναι σημαντικό οι εφαρμογές λογισμικού να μπορούν να προσαρμόζονται αυτόματα στις νέες συνθήκες λειτουργίας χωρίς να μεταβάλλεται η λειτουργικότητά τους. Ένας τρόπος προσαρμογής είναι ο μετασχηματισμός των δυναμικών τύπων δεδομένων κατά τη διάρκεια εκτέλεσης (at run-time) από τον ένα τύπο στον άλλο ώστε να επιτευχθούν κέρδη σχετικά: α) με την ταχύτητα πρόσβασης στα δεδομένα, β) την κατανάλωση ενέργειας, και γ) με το μέγεθος της απαιτούμενης μνήμης. Στόχος της Διπλωματικής Εργασίας είναι η ανάπτυξη της μεθοδολογίας, υλοποίηση της λογικής υπεύθυνης για τον μετασχηματισμό των δυναμικών τύπων δεδομένων και η ενσωμάτωσή της σε ήδη υπάρχουσα βιβλιοθήκη δυναμικών τύπων δεδομένων. ανάπτυξη μεθοδολογίας καθώς και των κατάλληλων εργαλείων για την πραγματοποίηση μετασχηματισμών δυναμικών τύπων δεδομένων κατά τη διάρκεια εκτέλεσης εφαρμογών σε ενσωματωμένα συστήματα. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C/C++, STL και δομών δεδομένων.

Πληροφορίες: Δημήτριος Σούντρης, Αλέξανδρος Μπάρτζας, Λάζαρος Παπαδόπουλος Θέμα 9 Επέκταση βιβλιοθήκης γραφικών και γραφικής διεπαφής χρήστη για βιο-ιατρικές συσκευές Περιγραφή θέματος: Οι βιο-ιατρικές συσκευές έχουν αρχίσει να ακολουθούν τα πρότυπα των smartphones και να γίνονται πιο «έξυπνες» σε ότι αφορά τη λειτουργικότητα τους και πιο φιλικές προς τον χρήστη. Αυτά τα στοιχεία είναι απαραίτητα για τις συσκευές νέας γενιάς ούτως ώστε να μπορούν να προσαρμοστούν στις ανάγκες του κάθε χρήστη και να του παρέχουν ένα φιλικό και εύκολο τρόπο να αλληλεπιδρά με τη συσκευή. Παράλληλα όμως έχουν και πολύ αυστηρές απαιτήσεις σε ότι αφορά την κατανάλωση ισχύος και την ασφάλεια των εφαρμογών που τρέχουν. Ο συνδυασμός αυτών των απαιτήσεων οδηγεί στην ανάγκη ανάπτυξης λογισμικού που να είναι προσαρμοσμένο στις ανάγκες και τις απαιτήσεις τέτοιων συσκευών. Ένα από τα βασικά κομμάτια λογισμικού που χρειάζονται είναι μια βιβλιοθήκη γραφικών που θα αποτελέσει τη βάση πάνω στην οποία θα αναπτυχθεί η γραφική διεπαφή χρήστη. Στα πλαίσια προηγούμενης διπλωματικής έχουν αναπτυχθεί οι απαραίτητες προδιαγραφές και η αρχιτεκτονική της βιβλιοθήκης σε συνεργασία με μια εταιρία που παράγει τέτοια προϊόντα. Αυτή η διπλωματική θα πρέπει να επεκτείνει την παρούσα υλοποίηση και να αναπτύξει μια γραφική διεπαφή χρήστη η οποία θα χρησιμοποιηθεί ως πρωτότυπο από την εταιρία για την ανάπτυξη των διεπαφών των εμπορικών προϊόντων της. Αν υπάρξει χρονικό περιθώριο θα μελετηθεί και η ασφάλεια της παραχθείσας βιβλιοθήκης με υπάρχοντα εργαλεία λογισμικού που χρησιμοποιούνται στην ανάπτυξη πραγματικών προϊόντων που πρέπει να τηρούν προϋποθέσεις ασφαλείας των κρατικών αρχών. επέκταση μιας υπάρχουσας βιβλιοθήκης γραφικών με περισσότερη λειτουργικότητα και η ανάπτυξη μιας γραφικής διεπαφής χρήστη για βιο-ιατρικές εφαρμογές (αντλία έγχυσης ινσουλίνης) σε συνεργασία με κορυφαία εταιρία του χώρου. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C/C++, κατανόηση βασικών αρχών ενσωματωμένων συστημάτων. Πληροφορίες: Δημήτριος Σούντρης, Αντώνης Παπανικολάου, Αλέξανδρος Μπάρτζας Θέμα 10 Διερεύνηση τεχνολογιών ολοκλήρωσης για βιο-ιατρικές συσκευές Περιγραφή θέματος: Οι βιο-ιατρικές συσκευές είναι μια ειδική κατηγορία ενσαωματωμένων συστημάτων γιατί έχουν πολύ αυστηρές απαιτήσεις σε ότι αφορά την ασφάλεια τους και την κατανάλωση ισχύος. Οι εταιρίες που παράγουν τέτοιες συσκευές ψάχνουν συνεχώς τρόπους για να κατασκευάσουν προϊόντα με χαμηλότερη κατανάλωση ισχύος είτε μέσω βελτιστοποίησης του λογισμικού είτε μέσω βελτιστοποίησης της πλατφόρμας και της διαδικασίας ολοκλήρωσης του υλικού. Οι σύγχρονες πλατφόρμες αποτελούνται από off-the-shelf components τα οποία συνδυάζονται στο επίπεδο του printed circuit board. Αυτές οι υλοποιήσεις έχουν πλεονεκτήματα σε ότι αφορά το κόστος κατασκευής, αλλά μειονεκτούν αρκετά σε ότι αφορά την κατανάλωση ισχύος. Μια μοντέρνοι τρόποι ολοκλήρωσης

έχουν προταθεί και πρέπει να διερευνηθούν στα πλαίσια των απαιτήσεων για την ανάπτυξη συστημάτων υλικού για βιο-ιατρικές συσκευές. Στα πλαίσια της Διπλωματικής θα καθοριστούν με σαφήνεια οι προδιαγραφές που θα πρέπει να πληρούν οι συσκευές και θα εξερευνηθούν οι διαθέσιμοι τρόποι ολοκλήρωσης της λειτουργικότητας τους. Σε δεύτερη φάση θα γίνει μια ανάλυση του κόστους και του όφελους που προκύπτει από τη χρήση κάθε διαφορετικής τεχνολογίας ούτως ώστε να οδηγηθούν οι σχεδιαστές στη σωστή απόφαση. Αν υπάρχει χρόνος ίσως ξεκινήσει και η διαδικασία σχεδίασης ενός συστήματος. διερέυνηση εναλλακτικών επιλογών για την ολοκλήρωση του hardware βιο-ιατρικών συσκευών προκειμένου να επιτευχθούν οι στόχοι σε κατανάλωση εισχύος και κόστους. Προαπαιτούμενες γνώσεις: Κατανόηση αρχών VLSI, ενδιαφέρον για εκμάθηση τεχνολογιών packaging και printed circuit board. Πληροφορίες: Δημήτριος Σούντρης, Αντώνης Παπανικολάου Θέμα 11 Ανάλυση βέλτιστης Μίκρο-αρχιτεκτονικής για Εφαρμογές Νέφους (Micro-architecture profiling of Cloud applications) Περιγραφή θέματος: Η ραγδαία αύξηση των υπολογιστών νέφους (cloud computing) έχει δημιουργήσει την ανάγκη για πιο ισχυρά κέντρα δεδομένων (data centers). Μέχρι τώρα τα περισσότερα κέντρα δεδομένων υποστηρίζονται από επεξεργαστές γενικού σκοπού υψηλής απόδοσης αλλά και υψηλής κατανάλωσης ενέργειας οι οποίοι δεν είναι βελτιστοποιημένοι για τις σύγχρονες εφαρμογές. Μια από τις πιο κοινές εφαρμογές που τρέχουν στα κέντρα δεομένων είναι το Hadoop και το MapReduce. Το Hadoop MapReduce είναι ένα προγραμματιστικό μοντέλο για κέντρα δεδομένων τα οποία μπορούν να επεξεργαστών τεράστιες ποσότητες πληροφοριών οι οποίες είναι διασκορπισμένες στους διακομιστές των κέντρων δεδομένων. Στόχος αυτής της εργασίας θα είναι να εξερευνήσουμε τα ιδιαίτερα χαρακτηριστικά αυτών των εφαρμογών από άποψη μικρο-αρχιτεκτονικής. Συγκεκριμένα οι εφαρμογές αυτές θα αναλυθούν τόσο σε επεξεργαστές υψηλής απόδοσης για διακομιστές (π.χ. Intel), όσο και σε επεξεργαστές χαμηλής κατανάλωσης για ενσωματωμένα συστήματα. Στην ανάλυση αυτή σκοπός θα είναι να συγκρίνουμε την απόδοση των δυο συστημάτων καθώς και να αναλύσουμε τα πιο επεξεργαστικά πολύπλοκα τμήματα των εφαρμογών αυτών (computational intensive critical tasks). ανάλυση της μικρο-αρχιτεκτονικής (π.χ. ISA, common instructions pairs for Intel and ARM processors) για τις εφαρμογές που τρέχουν στα κέντρα δεδομένων (π.χ. Google, Facebook data centers) προκειμένου να βρεθεί η καλύτερη αρχιτεκτονική από κατανάλωση ενέργειας και απόδοσης. Προαπαιτούμενες γνώσεις: Αρχιτεκτονική υπολογιστών, συστήματα, Τεχνολογία νέφους, προγραμματισμός. Πληροφορίες: Δημήτριος Σούντρης, Χριστόφορος Κάχρης

Θέμα 12 Ανάλυση επιδόσεων διαχειριστών δυναμικής μνήμης (heap managers) με χρήση εργαλείων instrumentation Περιγραφή θέματος: Η επίδοση ενός δυναμικού διαχειριστή μνήμης (heap manager) κρίνεται συμβατικά βάσει της ταχύτητας και του μεγέθους της μνήμης που καταλαμβάνει. Με τη χρήση ενός εργαλείου instrumentation μπορούμε να παρακολουθήσουμε και να αξιολογήσουμε κατά την εκτέλεση τα παραπάνω κριτήρια χωρίς να προσθέσουμε επιπλέον υπολογιστικό κόστος (source code modifications) στο διαχειριστή και κατά επέκταση στις εφαρμογές που τον χρησιμοποιούν. Επιπλέον, μπορούμε να πάρουμε σημαντικές πληροφορίες για τη συμπεριφορά των εντολών μνήμης πάνω σε πολυ-επεξεργαστικά συστήματα με διάφορες ιεραρχίες κρυφής μνήμης. Στα πλαίσια της Διπλωματικής Εργασίας θα χρησιμοποιηθεί το εργαλείο instrumentation της Intel, Pin (http://www.pintool.org/) και θα πραγματοποιθεί ενσωμάτωσή του στη βιβλιοθήκη δυναμικών διαχειριστών μνήμης του MicroLab. Η ανάλυση των επιδόσεων θα γίνει με την πραγματοποίηση μίας σειράς πειραμάτων με χρησιμοποίηση πραγματικών εφαρμογών (benchmarks) πάνω σε διαφορετικούς επεξεργαστές και τοπολογίες μνήμης. Σκοπός - Αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η ενσωμάτωση του εργαλείου instrumentation της Intel, Pin στη βιβλιοθήκη διαχείρισης δυναμικής μνήμης του MicroLab. Αυτό θα έχει σαν αποτέλεσμα την καταγραφή των επιδόσεων διαφόρων διαχειριστών δυναμικής μνήμης με εύκολο και γρηγορο τρόπο. Η καταγραφή αυτή θα χρησιμοποιηθεί για την αυτοματοποίηση αναζήτησης διαχειριστών δυναμικής μνήμης ειδικού σκοπού (application-specific heap management). Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C. Πληροφορίες: Δημήτριος Σούντρης, Αλέξανδρος Μπάρτζας, Ιωάννης Κούτρας Θέμα 13 Υλοποίηση αλγορίθμων ρομποτικής όρασης σε FPGA Περιγραφή θέματος: Οι αλγόριθμοι ρομποτικής όρασης χαρακτηρίζονται από αυξημένα επίπεδα πολυπλοκότητας, τα οποία καθιστούν την εκτέλεση τους μη ικανοποιητική σε επεξεργαστές γενικού σκοπού (π.χ. Pentium, AMD, κτλ). Χαρακτηριστικά παραδείγματα εφαρμογής τέτοιων αλγορίθμων αποτελούν τα αυτοκινούμενα ρομποτικά οχήματα διαστημικού ενδιαφέροντος. Σκοπός αναμενόμενα αποτελέσματα: Στα πλαίσια της συγκεκριμένης διπλωματικής εργασίας θα γίνει υλοποίηση ενός τέτοιου αλγορίθμου (ρομποτικής όρασης) σε επαναδιαμορφούμενο υλικό (FPGA). Για τους σκοπούς της εργασίας θα χρησιμοποιηθεί ως πλατφόρμα υλοποίησης το Xilinx Virtex-6. Το πλάνο εργασίας στη συγκεκριμένη διπλωματική περιλαμβάνει αρχικά την μελέτη και διερεύνηση του επιλεγμένου αλγορίθμου προκειμένου να εντοπιστούν τα κρίσιμα τμήματα που πρέπει να υλοποιηθούν σε υλικό, ενώ όπου αυτό κρίνεται απαραίτητο, θα χρησιμοποιηθούν τεχνικές συν-σχεδιασμού υλικού και λογισμικού. Σημείωση: Στα πλαίσια του συγκεκριμένου θέματος θα δοθούν έως πέντε διπλωματικές εργασίες.

Προαπαιτούμενες γνώσεις: VHDL, Matlab Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Διονύσης Διαμαντόπουλος Θέμα 14 Σχεδιασμός και υλοποίηση μιας Virtual Machine σε Hardware Περιγραφή θέματος: To Virtualization είναι μια τεχνική που ουσιαστικά ``αποκολλά το λογισμικό από το πλατφόρμα εκτέλεσης της εφαρμογής. Αναλυτικότερα, το ίδιο το λογισμικό μπορεί να υποστηριχτεί από διαφορετικούς τύπους υλικού, επιτρέποντας κατ αυτό το τρόπο την εικόνα (image) της εφαρμογής να τρέξει σε ένα σύνολο από πλατφόρμες υλικού διαφορετικών μεταξύ τους. Μεταξύ των πλεονεκτημάτων που αντιμετωπίζει το Virtualization είναι το back-ward compatibility, η ασφάλεια συστημάτων, καθώς και η αποτελεσματικότερη φορητότητα του λογισμικού. Πρέπει να σημειωθεί πως ιδιαίτερα το τελευταίο χαρακτηριστικό (φορητοτητα λογισμικού) γίνεται ολοένα και μεγαλύτερο πρόβλημα με την υπάρχουσα τάση σχεδιασμού πολυπύρηνων ετερογενών υπολογιστικών συστημάτων, όπου τα δεδομένα του λογισμικού (εικόνα/βίντεο, (απο- )κρυπτογράφηση, τηλεπικοινωνίες, κ.τ.λ.) για τέτοια συστήματα δεν μπορούν να χρησιμοποιηθούν σε διαφορετικές πλατφόρμες, αν προηγουμένως δεν τροποποιηθούν (κάτι που εισάγει μεγαλύτερο σχεδιαστικό κόστος). H λογική πολλών σύγχρονων Virtual Machines (όπως JAVA Virtual Machine, Microsoft.NET Common Language Runtime, κ.τ.λ.), είναι να δέχονται μία εφαρμογή σε μορφή bytecode και να την μεταφράζουν μέσω ενός JIT compiler ή ενός Interpreter, σε machine code του επεξεργαστή στον οποίο εκτελούνται. Στα πλαίσια της συγκεκριμένης διπλωματικής εργασίας θα πραγματοποιηθεί μελέτη και εξοικείωση με την δομή του LLVM bytecode καθώς και των εργαλείων για απεικόνιση εφαρμογών σε επαναδιαμορφουμενες αρχιτεκτονικές (FPGA). Στόχος είναι η ανάπτυξη αφενός μιας σχεδιαστικής μεθοδολογίας και αφετέρου η υλοποίηση μιας εικονικής μηχανής (virtual machine) σε επίπεδο υλικού, η οποία θα δέχεται bytecode από τον LLVM compiler και θα παράγει machine code για έναν συγκεκριμένο επεξεργαστή (Microblaze, ARM, Sparc, κ.τ.λ.). Σημείωση: Στα πλαίσια του συγκεκριμένου θέματος θα δοθούν έως δυο διπλωματικές εργασίες. Προαπαιτούμενες γνώσεις: C/C++ Βασικές γνώσεις για εργασία σε περιβάλλον Linux Βασικές γνώσεις για επαναδιαμορφούμενες αρχιτεκτονικές (FPGA) Γνώση VHDL Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Χάρης Σιδηρόπουλος Θέμα 15 Σχεδιασμός και υλοποίηση CAD εργαλείων για υποστήριξη ετερογενών FPGA αρχιτεκτονικών

Περιγραφή θέματος: Τα FPGA είναι επαναδιαμορφούμενο hardware το οποίο καλύπτει το κενό ανάμεσα σε επεξεργαστές γενικού σκοπού (CPU) και σε εξειδικευμένο hardware (ASIC) στους τομείς της ευελιξίας, ταχύτητας και κατανάλωσης ενέργειας. Τα τελευταία χρόνια στην έρευνα και στη βιομηχανία το επαναδιαμορφούμενο hardware θεωρείται μέρος ετερογενών επεξεργαστικών συστημάτων αποτελούμενων από επεξεργαστές, μνήμες, ελεγκτές και όχι ως ένας ξεχωριστός επεξεργαστικός πόρος. Αυτή η τάση δημιουργεί την ανάγκη ανάπτυξης CAD εργαλείων που θα μπορούν να διαχειριστούν αποτελεσματικά την ετερογένεια ενός τέτοιου συστήματος. Στα πλαίσια της διπλωματικής εργασίας θα πραγματοποιηθεί μελέτη και ανάπτυξη αλγορίθμων για απεικόνιση αποτελεσματική υλοποίηση εφαρμογών σε επαναδιαμορφούμενες (FPGA) αρχιτεκτονικές. Σκοπός θα είναι να επεκταθούν αυτά τα εργαλεία έτσι ώστε να υποστηρίζουν επαναδιαμορφουμενες αρχιτεκτονικές, οι οποίες θα περιέχουν μεταξύ των άλλων ένα σύνολο ετερογενών στοιχείων υλικού (π.χ. CPUs, RAMs, DSPs, κ.α.). Εν συνεχεία, οι αλγόριθμοι αυτοί θα υλοποιηθούν στη γλώσσα C/C++, προκειμένου τα εργαλεία να είναι διαθέσιμα στην ευρύτερη ερευνητική κοινότητα. Όπου κρίνεται απαραίτητο, θα γίνει χρήση και εμπορικών εργαλείων σχεδιασμού (π.χ. Altera Quartus), τα οποία είναι διαθέσιμα στο εργαστήριο. Προαπαιτούμενες γνώσεις: C/C++ Shell scripting ή κάποια scripting γλώσσα Βασικές γνώσεις για εργασία σε περιβάλλον Linux Βασικές γνώσεις για επαναδιαμορφούμενες αρχιτεκτονικές (FPGA) Βασική Γνώση VHDL Σημείωση: Στα πλαίσια του συγκεκριμένου θέματος θα δοθούν έως δυο διπλωματικές εργασίες. Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Χάρης Σιδηρόπουλος Θέμα 16 Βελτιστοποίηση Σχεδίασης Ενσωματωμένων Συστημάτων Πολλαπλών Επεξεργαστών σε Τεχνολογίες Πυριτίου τριών διαστάσεων (3-D) με χρήση Εξελικτικών Αλγορίθμων Περιγραφή θέματος: Οι αυξανόμενες απαιτήσεις των σύγχρονων εφαρμογών έχουν οδηγήσει την βιομηχανία ημιαγωγών σε νέες κατευθύνσεις τόσο σε επίπεδο αρχιτεκτονικής, όσο και σε επίπεδο τεχνολογιών πυριτίου. Οι πολυ-επεξεργαστικές αρχιτεκτονικές αποτελούν πρότυπο υλοποίησης για την βέλτιστη απόδοση των πολυ-νηματικών εφαρμογών. Αντίστοιχα στο πεδίο υλικού, οι τεχνολογίες 3-D (κάθετα διασυνδεδεμένα επίπεδα πυριτίου) υπόσχονται να μειώσουν το χάσμα παραγωγής (productivity gap) που επιφέρει η κλιμάκωση τεχνολογίας ολοκλήρωσης (process scaling). Οι παραπάνω τεχνολογίες παρέχουν σχεδιαστικές λύσεις που ικανοποιούν ένα αντικρουόμενο σύνολο αυστηρών λειτουργικών περιορισμών.

Σκοπός αναμενόμενα αποτελέσματα: Στα πλαίσια της συγκεκριμένης διπλωματικής εργασίας θα αναπτυχθεί μεθοδολογία σχεδίασης που επιτρέπει εξερεύνηση του χώρου λύσεων κάνοντας χρήση γενετικών αλγορίθμων. Παράλληλα θα αναπτυχθούν εργαλεία σχεδίασης για αυτοματοποίηση αυτής της μεθοδολογίας. Σκοπός της Διπλωματικής Εργασίας είναι η υλοποίηση ενός αλγορίθμου βελτιστοποίησης με πολλαπλά κριτήρια, σε γλώσσα C/C++ και εφαρμογή αυτού του αλγορίθμου στο πρόβλημα 3-D χωροθέτησης των λειτουργικών συστημάτων πολλαπλών επεξεργαστών (MPSoC) και της ανάθεσης χαρακτηριστικών λειτουργίας σε αυτά. Ως αρχιτεκτονική πλατφόρμα μελέτης θα χρησιμοποιηθεί ο ανοικτού κώδικα επεξεργαστής OpenSparc (8 πυρήνες των 8 νημάτων εκτέλεσης). Σημείωση: Στα πλαίσια του συγκεκριμένου θέματος θα δοθούν έως δυο διπλωματικές εργασίες. Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C/C++ Γνώση γλωσσών HDL (VHDL/Verilog) Γνώση ψηφιακών κυκλωμάτων Εξοικείωση με το λειτουργικό σύστημα GNU/Linux Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Διονύσης Διαμαντόπουλος