Διπλωματικές εργασίες 2013-2014 (Καθ. Δημήτριος Σούντρης)

ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ 2013-2014
Επικ. Καθηγητής Δημήτριος Σούντρης
Θεματική Ενότητα: Ενσωματωμένα Συστήματα
Development of Dynamic Memory Management for Multi-Accelerator FPGA Design
Brief Description:
This diploma thesis targets the field of multiple-accelerator FPGA synthesis. It has been
foreseen that Cloud computing services can be benefited from the incorporation of FPGAs to
accelerate the computation and memory intensive tasks. Multiple heterogeneous
accelerators with differing memory demands are expected to be dynamically mapped onto
FPGA devices incorporated within the cloud datacenter infrastructures.
The scope of this thesis is to target the memory wall problem faced at FPGA devices serving
multiple accelerator instantiations through the development of a dynamic memory
management infrastructure that will enable higher accelerator densities to be achieved
within the FPGA’s specific area and power constraints
Prerequisites:
Good knowledge of C/HDL programming & and FPGA design; perception of HW/SW codesign principles.
Keywords:
FPGA accelerators, Dynamic Memory Management, High Level Synthesis.
Contact Information:
Dr. Sotirios Xydis ([email protected])
Dionysios Diamantopoulos ([email protected])
Dr. Kostas Siozios ([email protected])
Prof. Dimitrios Soudris ([email protected])
---------------------------------------------------------------------------------------------------------------Dark Silicon Runtime Allocation for Power Constrained Manycore Systems
Brief Description:
Exponentially increasing transistor density with each processor generation, along with
constant chip-level power budgets and a slower rate of improvement in transistor power
dissipation, exponentially decreases the percentage of transistors that can switch on
simultaneously. This unavailability of enough power supply to fully utilize the underlying
hardware resources, so called Dark Silicon, forms a major design problem modern system
architects will face in future generation manycore systems.
The scope of this diploma thesis is to develop efficient management techniques to
intelligently allocate dark silicon during runtime to minimize performance loss and maximize
power efficiency of the underlying manycore platform.
Prerequisites:
Good knowledge of system programming and scripting; perception of power aware design
principles.
Keywords:
Dark silicon, runtime management, manycore platforms
Contact Information:
Dr. Sotirios Xydis ([email protected])
Prof. Dimitrios Soudris ([email protected])
---------------------------------------------------------------------------------------------------------------Workload Monitoring/Analysis Mechanisms for Cloud-based and Big-Data applications on
the Single Cloud Chip Manycore Platform
Brief Description:
Cloud computing is emerging as a dominant computing platform for providing scalable
online services to a global client base. Today's popular online services are characterized by
massive working sets, high degrees of parallelism, and real-time constraints, also known as
Big-Data applications. Big Data applications exhibits differing characteristics in respect to
desktop and parallel workloads usually studied in computer architecture.
The scope of this diploma thesis is to port Big Data applications in the innovative Intel’s
manycore platform, Single Cloud Chip (SCC) platform, and to develop the corresponding
monitoring infrastructure to characterize the runtime behavior of scale-out applications as
well as its correlation with the micro-architectural features found in SCC.
Prerequisites:
Good knowledge of system programming and scripting; perception of multi-core computer
architecture and network-on-chip design principles.
Keywords:
Cloud applications, Big-Data, manycore platforms
Contact Information:
Dr. Sotirios Xydis ([email protected])
Prof. Dimitrios Soudris ([email protected])
---------------------------------------------------------------------------------------------------------------Adaptive Dynamic Thermal Management for the Single Cloud Chip Manycore Platform
Brief Description:
As result of technology scaling, single-chip multi-/many-core power density increases and its
spatial and temporal workload variation leads to temperature hot-spots, which may cause
timing violations and accelerated chip failure. Conventional Dynamic Thermal Management
(DTM) techniques are reactive in nature, starting to control the temperature after the
current temperature reaches at the critical temperature threshold. Recently, closed-loop
approaches for dynamic thermal management have been proposed to tackle temperature
induced on-chip emergencies In a proactive manner.
The scope of this diploma thesis is the development of a control theoretic framework tuned
for dynamic thermal management of the Intel’s manycore platform, Single Cloud Chip (SCC)
platform. The scalability and efficiency of existing thermal management techniques as well
as their tuning knobs will be analyzed and evaluated, providing material for the
development of a customized thermal management infrastructure for SCC platform.
Prerequisites:
Good knowledge of Matlab, system programming and scripting; perception of control
mechanisms and low-power design principles.
Keywords:
Dynamic thermal management, control theory, power management policies, manycore
platforms
Contact Information:
Dr. Sotirios Xydis ([email protected])
Prof. Dimitrios Soudris ([email protected])
---------------------------------------------------------------------------------------------------------------Application Adaptive Resource and DVFS Management for Manycore Platforms
Power consumption has become a major issue in the design of computing systems. Dynamic
power management (DPM) has proven to be an effective technique for power reduction at
system level. Up to now DPM techniques are mostly workload based, thus trying to control
the voltage and frequency considering single and firm instances of the application. Moving
the paradigm from single instance applications to run-time adaptable applications exposes a
new design space to be explored under the context of dynamic power management.
The scope of this diploma thesis is to develop a power management framework for multi/many-core architectures that takes into account both conventional DVFS tuning knobs as
well as their interaction with application specific tuning parameters and resource
management knobs, for reduced power consumption under performance constraints.
Prerequisites:
Good knowledge of system programming, scripting, multi-core simulators; perception of
low-power design principles.
Keywords:
Dynamic power management, manycore platforms
Contact Information:
Dr. Sotirios Xydis ([email protected])
Prof. Dimitrios Soudris ([email protected])
---------------------------------------------------------------------------------------------------------------Ανίχνευση Δυναμικών Σεναρίων Συστήματος Σε Ασύρματες Εφαρμογές Με χρήση
Νευρωνικών Δικτύων
Yλοποίηση ανίχνευσης (detection) των σεναρίων συστήματος σε μία ασύρματη εφαρμογή
και πιο συγκεκριμένα του πρωτοκόλλου 802.11ac. Η υλοποίηση θα αφορά ένα Νευρωνικό
δίκτυο σε VHDL το οποίο θα υλοποιηθεί σε FPGA με εξαγωγή μετρήσεων. Στόχος είναι να
μετρηθεί το detection overhead. Ο λόγος που προτείνεται το Νευρωνικό δίκτυο είναι η
υψηλή παραλληλοποίηση που προσφέρει για την ανίχνευση των καταστάσεων λειτουργίας.
Επιθυμητά προσόντα φοιτητή
-Γνώση VHDL
-Εμπειρία σe Xilinx tools Synthesis
-Βασικές γνώσεις τηλεποικοινωνιακών συστημάτων
-Βασικές Γνώσεις Νευρωνικών Δικτύων
Πληροφορίες:
Νικ.
Ζομπακης
[email protected]
[email protected],
Δημήτριος
Σούντρης
---------------------------------------------------------------------------------------------------------------Μεθοδολογία εκτίμησης επιδόσεων ιεραρχιών σκιώδους μνήμης εντολών σε
ενσωματωμένα συστήματα πολλαπλών επεξεργαστών
Περιγραφή θέματος: Τις τελευταίες δεκαετίες έχει παρατηρηθεί αλματώδης αύξηση της
παραγωγής ενσωματωμένων συστημάτων. Τα ενσωματωμένα συστήματα παίζουν πλέον
κυρίαρχο ρόλο σε πάρα πολλούς τομείς της τεχνολογίας και της βιομηχανίας. Το γεγονός
αυτό κάνει επιτακτική την ανάγκη ύπαρξης μεθόδων που διευκολύνουν και επιταχύνουν τη
σχεδίαση των ενσωματωμένων συστημάτων αλλά και τον έλεγχο της επίδοσης τους από τα
πρώτα στάδια σχεδίασης. Σε αυτή τη διπλωματική εργασία θα αναπτυχθεί μία μεθοδολογία
που στοχεύει στην πολύ γρήγορη αλλά και με καλή ακρίβεια εκτίμηση της επίδοσης
ενσωματωμένων συστημάτων. Στόχος της εργασίας αυτής είναι η ανάπτυξη ενός πλήρους
parser του κώδικα μηχανής ενσωματωμένων επεξεργαστων (π.χ. ARM, MIPS, κτλ). Ο parser
θα πρέπει να αναγνωρίζει ολόκληρο το σετ εντολών και τα βασικά μπλοκ εντολών. Το κύριο
σημείο είναι η ανάπτυξη ενός αλγορίθμου διερεύνησης της ροής εκτέλεσης του CFG για
εφαρμογές που έχουν πολλαπλά νήματα εκτέλεσης (multi-threaded applications). Τα
εργαλεία που θα αναπτυχθούν (οι parsers) θα ενσωματωθούν στον GCC ή LLVM (με τη
μορφή compiler passes) και θα αλληλεπιδρούν με τα διάφορα ενδιάμεσα αρχεία που
παράγονται κατά τη διάρκεια μεταγλώττισης (IR dumps). Για την πλήρη υποστήριξη πολυνηματικών εφαρμογών, τα νέα εργαλεία θα είναι συμβατά με προγραμματιστικά
περιβάλλοντα αιχμής του κλάδου της παράλληλης επεξεργασίας (π.χ. OpenMP, MPI και
pthreads).
Σκοπός – αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η
ανάπτυξη μεθοδολογίας καθώς και των κατάλληλων εργαλείων για την αποδοτική εκτίμηση
των επιδόσεων διαφορετικών ιεραρχιών σκιώδους μνήμης εντολών σε ενσωματωμένα
συστήματα πολλαπλών επεξεργαστών.
Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C/C++, μεταγλωττιστές
(compilers) και κώδικα μηχανής (assembly).
Πληροφορίες: Διονύσης Διαμαντόπουλος, Δημήτριος Σούντρης
________________________________________________________
Διαχείριση πόρων μνήμης σε ετερογενείς πλατφόρμες και εφαρμογές γραμμένες σε
OpenCL
Περιγραφή θέματος: Η Open Compute Language (OpenCL) γρήγορα γίνεται αποδεκτή ως το
επόμενο βιομηχανικό στάνταρ στον προγραμματισμό ετερογενών πλατφορμών. Είναι
γνωστό ότι εξειδικευμένες επεξεργαστικές μονάδες, όπως κάρτες γραφικών (GPUs) και
επιταχυντές (accelerators), μπορούν να εκτελέσουν συγκεκριμένες διεργασίες γρηγορότερα
από επεξεργαστές γενικού σκοπού (GPPs). Όμως, τα απαραίτητα δεδομένα προς
επεξεργασία πρέπει να μεταφερθούν από τον host στην πλευρά του επιταχυντή και τα
αποτελέσματα να σταλούν πίσω. Όλη αυτή η διαδικασία κοστίζει τόσο σε χρόνο όσο και σε
πόρους μνήμης, καθώς πρέπει να γίνουν οι ανάλογες μεταφορές δεδομένων (memory
transfers). Σε αυτή τη Διπλωματική Εργασία θα αναπτυχθεί μια μεθοδολογία διαχείρισης
των πόρων μνήμης ετερογενών ενσωματωμένων πλατφορμών που εκτελούν εφαρμογές
γραμμένες σε OpenCL. Βασικό βήμα είναι η εξοικίωση με τις εφαρμογές και το OpenCL API.
Σκοπός – αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η
ανάπτυξη μεθοδολογίας καθώς και των κατάλληλων εργαλείων λογισμικού για την
αποδοτική διαχείριση πόρων μνήμης σε ετερογενή συστήματα που εκτελούν εφαρμογές
OpenCL.
Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C.
Πληροφορίες: Ιωάννης Κούτρας, Δημήτριος Σούντρης
________________________________________________________
Δυναμική διαχείριση μνήμης σε επίπεδο συστήματος
Περιγραφή θέματος: Η διαχείριση μνήμης στα σύγχρονα ενσωματωμένα συστήματα έχει
γίνει πλέον περισσότερο κρίσιμη λόγω του δυναμικού φόρτου εργασίας που καλούνται να
εκτελέσουν τα περισσότερα. Είναι πολύ πιθανό περισσότερες από μία εφαρμογές να
χρειάζεται να τρέξουν ταυτόχρονα και να ζητήσουν πρόσβαση στους περιορισμένους
πόρους του συστήματος. Το τελευταίο επίπεδο διαχείρισης μνήμης πριν το υλικό ανήκει
στο λειτουργικό σύστημα και θα πρέπει να λειτουργεί με ιδιαίτερα έξυπνο τρόπο έτσι, ώστε
να εκμεταλλεύεται σωστά και με φειδώ τους πόρους του συστήματος (ιεραρχία μνήμης,
χρήση μνημών cache), αλλά και να προστατεύει τις εφαρμογές που τρέχουν παράλληλα
(χρήση εικονικών διευθύνσεων) χωρίς να προκαλεί πτώση στις επιδόσεις τους.
Σκοπός - Αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η μελέτη
των εσωτερικών μηχανισμών διαχείρισης μνήμης του Linux πυρήνα και η τροποποίηση της
υλοποίησης της mmap(). Κύριος στόχος θα είναι η βελτιστοποίησή της όσον αφορά την
ταχύτητα εκτέλεσης πολλαπλών, μνημοβόρων, εφαρμογών ταυτόχρονα και την
ελαχιστοποίηση της συνολικής χρήσης μνήμης στο σύστημα.
Προαπαιτούμενες γνώσεις: Πολύ καλή γνώση προγραμματισμού C.
Πληροφορίες: Ιωάννης Κούτρας, Δημήτριος Σούντρης
_______________________________________________________
Σχεδιασμός και ανάπτυξη ενός run-time διαχειριστή πόρων πολυπύρηνων
αρχιτεκτονικών
Περιγραφή θέματος: Η χρήση αρχιτεκτονικών πολλαπλών επεξεργαστών μέσα στο ίδιο
ολοκληρωμένο κύκλωμα από ενσωματωμένα συστήματα των προσωπικών υπολογιστών
και εξυπηρετητών είναι ήδη πραγματικότητα. Ο σχεδιασμός του καταλληλότερου
συστήματος (επιλογή αρχιτεκτονικής, χαρακτηριστικών, υπηερσιών κ.α.) παραμένη μια
πρόκληση για τον σχεδιαστή/μηχανικό. Σκοπός της διπλωματικής εργσίας είναι η μελέτη,
ο σχεδιασμός και η ανάπτυξη ενός run-time manager ο οποίος θα είναι υπεύθυνος για
τη διαχείριση των διαθέσιμων πόρων πλατφόρμας πολλαπλών επεξεργαστών. Παράλληλα
θα αναπτυχθεί και αντίστοιχη μεθοδολογία η οποία θα επιτρέπει τη βέλτιστη επιλογή runtime αποφάσεων. Πιο συγκεκριμένα ο run-time manager θα ελέγχει: 1) πολλαπλά clock
domain, 2) διαφορετικές τάσεις τροφοδοσίας, 3) κατάσταση λειτουργίας αρθρωμάτων
μνήμης (memory module), 4) ενσωμάτωση του run-time manager σε πραγματικό NoC
σύστημα. Σημαντικό βήμα για την δημιουργία του διαχειριστή πόρων είναι η
πραγματοποίηση εξερεύνησης σεναρίων χρήσης κατά τη διάρκεια του χρόνου σχεδιασμού
και εκμετάλλευσή τους κατά τη διάρκεια της εκτέλεσης.
Ολοκληρώνοντας την εργασία ο φοιτητής θα έχει μια καλή εικόνα του state-of-art
πολυπήρυνων αρχιτεκτονικών NoC καθώς επίσης και γνώσεις για διαχείριση πόρων κατα το
χρόνο εκτέλεσης. Θα έρθει σε επαφή με πραγματικές NoC αρχιτεκτονικές και βιομηχανικά
εργαλεία.
Σκοπός – αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η
ανάπτυξη ενός διαχειριστή πόρων συστήματος ο οποίος θα προσφέρει ευελιξία στο
πολυπύρηνο σύστημα καθιστώντας δυνατή την αλλαγή χρήσης των πόρων κατά τη
διάρκεια της εκτέλεσης.
Προαπαιτούμενες γνώσεις: C/C++ και λειτουργικά συστήματα.
Πληροφορίες: Ηρακλής Αναγνωστόπουλος, Δημήτριος Σούντρης
________________________________________________________
Ανάπτυξη τεχνικών προστασίας δυναμικών δεδομένων σε ασφαλή (trusted computing)
υπολογιστικά περιβάλλοντα
Περιγραφή θέματος: Οι εφαρμογές που εκτελούνται σε ενσωματωμένα συστήματα
γίνονται ολοένα και πολυπολοκότερες. Συνήθως τέτοιες εφαρμογές χρησιμοποιούν
δυναμικά δεδομένα (dynamically allocated data in the system heap) καθώς οι απαιτήσεις
αλλάζουν σύμφωνα με την είσοδο και κατά τη διάρκεια του χρόνου εκτέλεσης. Παράλληλα
οι απαιτήσεις για ασφάλεια γίνονται ολοένα και μεγαλύτερες καθιστώντας της ανάπτυξη
τεχνικών προστασίας στα ευαίσθητα προς πρόσβαση δυναμικά δεδομένα επιτακτική. Στη
Διπλωματική Εργασία θα πραγματοποιηθεί μια μελέτη υπάρχουσων τεχνικών προστασίας
του heap (hardware ή software) από επιθέσεις. Θα επιλεγούν οι καταλληλότερες από αυτές
και θα υλοποιηθούν μέσα σε ένα ολοκληρωμένο υπολογιστικό περιβάλλον
(Linux/FreeRTOS).
Σκοπός – αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η μελέτη
και ανάπτυξη τεχνικών προστασίας του heap καθώς και η ενσωμάτωσή τους σε ήδη
υπάρχουσα βιβλιοθήκη διαχείρισης δυναμικών δεδομένων.
Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C, δομών δεδομένων και
λειτουργικών συστημάτων.
Πληροφορίες: Ηρακλής Αναγνωστόπουλος, Ιωάννης Κούτρας, Δημήτριος Σούντρης
________________________________________________________
Αυτόματη διαχείριση μνήμης σε ενσωματωμένα συστήματα που εκτελούν εφαρμογές
γραμμένες σε C (application-specific garbage collection)
Περιγραφή θέματος: Την αυτόματη διαχείριση μνήμης (garbage collection) μπορούμε να τη
δούμε σε αντιδιαστολή με την manual διαχείριση μνήμης, η οποία απαιτει από τον
προγραμματιστή να δηλώσει ρητά τα αντικείμενα που θέλει να αποδεσμεύσει (de-allocate)
από την μνήμη και έτσι να ελευθερώσει τους αντίστοιχους πόρους. Πολλά συστήματα όμως
χρησιμοποιούν και τις δυο προσεγγίσεις. Στόχος της Διπλωματικής Εργασίας είναι η
αυτόματη διαχείριση μνήμης ενσωματωμένων συστημάτων ώστε οι αποδεσμεύσεις των
δεδομένων να γίνονται με ασφάλεια χωρίς την επέμβαση του προγραμματιστή (transparent
to developer). Σημαντικό βήμα είναι η μελέτη της βιβλιογραφίας για την εύρεση των
υπάρχοντων τεχνικών και η οργάνωσή τους σε ένα χώρο σχεδιασμού ο οποίος θα
αποτελείται από ανεξάρτητα δένδρα αποφάσεων. Η εξερεύνηση του χώρου σχεδιασμού
(επιλογές φύλων μεταξύ των δένδρων αποφάσεων) θα οδηγεί σε ένα πλήρως λειτουργικό
garbage collector. Τα δένδρα αποφάσεων αντιστοιχούν σε διακριτά λειτουργικά
χαρακτηριστικά των διάφορων garbage collector της βιβλιογραφίας. Θα αναπτυχθεί η
μεθοδολογία εξερεύνησης του χώρου σχεδιασμού, θα υλοποιηθεί ο χώρος σχεδιασμού (C
modules) και θα ενσωματωθεί σε ήδη υπάρχουσα βιβλιοθήκη διαχείρισης δυναμικών
δεδομένων.
Σκοπός – αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι
λεπτομερής μελέτη του χώρου σχεδιασμού garbage collectors, η μοντελοποίησή του σε
δένδρα αποφάσεων και η ενσωμάτωσή του σε ήδη υπάρχουσα βιβλιοθήκη διαχείρισης
δυναμικών δεδομένων.
Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C, δομών δεδομένων και
λειτουργικών συστημάτων.
Πληροφορίες: Ηρακλής Αναγνωστόπουλος, Ιωάννης Κούτρας, Δημήτριος Σούντρης,
________________________________________________________
Ανάπτυξη μεθοδολογίας μετασχηματισμού δυναμικών τύπων δεδομένων κατά τη
διάρκεια εκτέλεσης εφαρμογών σε ενσωματωμένα συστήματα
(adaptive dynamic data type transformations)
Περιγραφή θέματος: Οι εφαρμογές λογισμικού που εκτελούνται σε σύγχρονα
ενσωματωμένα συστήματα πρέπει να καλύπτουν τις ανάγκες του χρήστη αλλά και να
προσαρμόζονται στις περιβάλλον λειτουργίας του ενσωματωμένου συστήματος. Όμως οι
ανάγκες αλλά και οι συνθήκες λειτουργίας αλλάζουν δυναμικά κατά τη διάρκεια
λειτουργίας του συστήματος (π.χ. αλλαγές στην στάθμη της μπαταρίας του συστήματος,
αλλαγή στη διαθεσιμότητα πόρων, κτλ.) Στο επίπεδο της εφαρμογής αυτή η δυναμικότητα
υποστηρίζεται και με τη χρησιμοποίηση δυναμικών τύπων δεδομένων (π.χ. λίστες, δένδρα,
ουρές, κτλ.) για την αποθύκευση των δεδομένων και την πρόσβαση σε αυτά. Είναι
σημαντικό οι εφαρμογές λογισμικού να μπορούν να προσαρμόζονται αυτόματα στις νέες
συνθήκες λειτουργίας χωρίς να μεταβάλλεται η λειτουργικότητά τους. Ένας τρόπος
προσαρμογής είναι ο μετασχηματισμός των δυναμικών τύπων δεδομένων κατά τη διάρκεια
εκτέλεσης (at run-time) από τον ένα τύπο στον άλλο ώστε να επιτευχθούν κέρδη σχετικά: α)
με την ταχύτητα πρόσβασης στα δεδομένα, β) την κατανάλωση ενέργειας, και γ) με το
μέγεθος της απαιτούμενης μνήμης. Στόχος της Διπλωματικής Εργασίας είναι η ανάπτυξη
της μεθοδολογίας, υλοποίηση της λογικής υπεύθυνης για τον μετασχηματισμό των
δυναμικών τύπων δεδομένων και η ενσωμάτωσή της σε ήδη υπάρχουσα βιβλιοθήκη
δυναμικών τύπων δεδομένων.
Σκοπός – αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η
ανάπτυξη μεθοδολογίας καθώς και των κατάλληλων εργαλείων για την πραγματοποίηση
μετασχηματισμών δυναμικών τύπων δεδομένων κατά τη διάρκεια εκτέλεσης εφαρμογών
σε ενσωματωμένα συστήματα.
Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C/C++, STL και δομών
δεδομένων.
Πληροφορίες: Δημήτριος Σούντρης, Λάζαρος Παπαδόπουλος
----------------------------------------------------------------------------------------------------------------
Reconfigurable Architectures and Systems
Υλοποίηση αλγορίθμων ρομποτικής όρασης σε FPGA
Περιγραφή θέματος: Οι αλγόριθμοι ρομποτικής όρασης χαρακτηρίζονται από αυξημένα
επίπεδα πολυπλοκότητας, τα οποία καθιστούν την εκτέλεση τους μη ικανοποιητική σε
επεξεργαστές γενικού σκοπού (π.χ. Pentium, AMD, κτλ). Χαρακτηριστικά παραδείγματα
εφαρμογής τέτοιων αλγορίθμων αποτελούν τα αυτοκινούμενα ρομποτικά οχήματα
διαστημικού ενδιαφέροντος.
Σκοπός – αναμενόμενα αποτελέσματα: Στα πλαίσια της συγκεκριμένης διπλωματικής
εργασίας θα γίνει υλοποίηση ενός τέτοιου αλγορίθμου (ρομποτικής όρασης) σε
επαναδιαμορφούμενο υλικό (FPGA). Για τους σκοπούς της εργασίας θα χρησιμοποιηθεί ως
πλατφόρμα υλοποίησης το Xilinx Virtex-6.
Το πλάνο εργασίας στη συγκεκριμένη διπλωματική περιλαμβάνει αρχικά την μελέτη και
διερεύνηση του επιλεγμένου αλγορίθμου προκειμένου να εντοπιστούν τα κρίσιμα τμήματα
που πρέπει να υλοποιηθούν σε υλικό, ενώ όπου αυτό κρίνεται απαραίτητο, θα
χρησιμοποιηθούν τεχνικές συν-σχεδιασμού υλικού και λογισμικού.
Σημείωση: Στα πλαίσια του συγκεκριμένου θέματος θα δοθούν έως πέντε διπλωματικές
εργασίες.
Προαπαιτούμενες γνώσεις: VHDL, Matlab, Λειτουργικά Συστήματα (Linux)
Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Διονύσης Διαμαντόπουλος
________________________________________________________
Σχεδιασμός και υλοποίηση μιας 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
Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Χάρης Σιδηρόπουλος
____________________________________________
Σχεδιασμός και υλοποίηση 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
Σημείωση: Στα πλαίσια του συγκεκριμένου θέματος θα δοθούν έως δυο διπλωματικές
εργασίες.
Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Χάρης Σιδηρόπουλος
__________________________________________
Βελτιστοποίηση Σχεδίασης Ενσωματωμένων Συστημάτων Πολλαπλών Επεξεργαστών σε
Τεχνολογίες Πυριτίου τριών διαστάσεων(3-D) με χρήση Εξελικτικών Αλγορίθμων
Περιγραφή θέματος: Οι αυξανόμενες απαιτήσεις των σύγχρονων εφαρμογών έχουν
οδηγήσει την βιομηχανία ημιαγωγών σε νέες κατευθύνσεις τόσο σε επίπεδο αρχιτεκτονικής,
όσο και σε επίπεδο τεχνολογιών πυριτίου. Οι πολυ-επεξεργαστικές αρχιτεκτονικές
αποτελούν πρότυπο υλοποίησης για την βέλτιστη απόδοση των πολυ-νηματικών
εφαρμογών. Αντίστοιχα στο πεδίο υλικού, οι τεχνολογίες 3-D (κάθετα διασυνδεδεμένα
επίπεδα πυριτίου) υπόσχονται να μειώσουν το χάσμα παραγωγής (productivity gap) που
επιφέρει η κλιμάκωση τεχνολογίας ολοκλήρωσης (process scaling). Οι παραπάνω
τεχνολογίες παρέχουν σχεδιαστικές λύσεις που ικανοποιούν ένα αντικρουόμενο σύνολο
αυστηρών λειτουργικών περιορισμών.
Σκοπός – αναμενόμενα αποτελέσματα: Στα πλαίσια της συγκεκριμένης διπλωματικής
εργασίας θα αναπτυχθεί μεθοδολογία σχεδίασης που επιτρέπει εξερεύνηση του χώρου
λύσεων κάνοντας χρήση γενετικών αλγορίθμων. Παράλληλα θα αναπτυχθούν εργαλεία
σχεδίασης για αυτοματοποίηση αυτής της μεθοδολογίας. Σκοπός της Διπλωματικής
Εργασίας είναι η υλοποίηση ενός αλγορίθμου βελτιστοποίησης με πολλαπλά κριτήρια, σε
γλώσσα C/C++ και εφαρμογή αυτού του αλγορίθμου στο πρόβλημα 3-D χωροθέτησης των
λειτουργικών συστημάτων πολλαπλών επεξεργαστών (MPSoC) και της ανάθεσης
χαρακτηριστικών λειτουργίας σε αυτά. Ως αρχιτεκτονική πλατφόρμα μελέτης θα
χρησιμοποιηθεί ο ανοικτού κώδικα επεξεργαστής OpenSparc (8 πυρήνες των 8 νημάτων
εκτέλεσης).
Σημείωση: Στα πλαίσια του συγκεκριμένου θέματος θα δοθούν έως δυο διπλωματικές
εργασίες.
Προαπαιτούμενες γνώσεις:



Καλή γνώση προγραμματισμού C/C++
Γνώση γλωσσών HDL (VHDL/Verilog)
Γνώση ψηφιακών κυκλωμάτων

Εξοικείωση με το λειτουργικό σύστημα GNU/Linux
Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Διονύσης Διαμαντόπουλος
________________________________________________________
Επιτάχυνση αλγορίθμων μηχανικής όρασης με χρήση τεχνικών Ηigh-level Synthesis σε
FPGA
Περιγραφή θέματος: Οι αλγόριθμοι μηχανικής όρασης χαρακτηρίζονται από αυξημένα
επίπεδα πολυπλοκότητας, τα οποία καθιστούν την εκτέλεσή τους μη ικανοποιητική σε
επεξεργαστές γενικού σκοπού. Η χρήση επαναδιαμορφούμενων αρχιτεκτονικών (FPGAs)
καθιστά δυνατή την επιτάχυνση των αλγορίθμων αυτών προκειμένου να γίνει
αποτελεσματική η χρήση τους σε εφαρμογές πραγματικού χρόνου. Προς τη κατεύθυνση
αυτή, τα εργαλεία HLS βοηθούν τη γρήγορη ανάπτυξη των αλγορίθμων σε FPGA καθώς και
τη συν-σχεδίαση Υλικού-Λογισμικού για ενσωματωμένα συστήματα μηχανικής όρασης.
Σκοπός – αναμενόμενα αποτελέσματα
Στα πλαίσια της συγκεκριμένης διπλωματικής εργασίας θα γίνει υλοποίηση ενός
αλγορίθμου μηχανικής όρασης για ανίχνευση χαρακτηριστικών εικόνας σε
επαναδιαμορφούμενη αρχιτεκτονική (FPGA). Για τους σκοπούς της εργασίας θα
χρησιμοποιηθεί ως πλατφόρμα υλοποίησης το Xilinx – Kintex7 καθώς και το εργαλείο Xilinx
Vivado HLS.
Προαπαιτούμενα: C/C++ και VHDL, βασικές γνώσεις FPGA και Linux
Πληροφορίες: Διονύσης Διαμαντόπουλος, [email protected], Γιώργος Λεντάρης,
[email protected], Κώστας Σιώζιος, [email protected], Δημήτριος Σούντρης,
[email protected]
________________________________________________________
EMBEDDED SYSTEMS AND CLOUD COMPUTING
Ανάλυση βέλτιστης Μίκρο-αρχιτεκτονικής για Εφαρμογές Νέφους (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) προκειμένου να βρεθεί η καλύτερη αρχιτεκτονική από κατανάλωση ενέργειας
και απόδοσης.
Προαπαιτούμενες γνώσεις: Αρχιτεκτονική υπολογιστών, συστήματα, Τεχνολογία νέφους,
προγραμματισμός.
Πληροφορίες: Δημήτριος Σούντρης, Χριστόφορος Κάχρης
________________________________________________________
Ενσωματωμένοι επεξεργαστές για Κέντρα Δεδομένων Χαμηλής κατανάλωσης ενέργειας
(Energy-efficient data centers based on embedded processors)
Περιγραφή θέματος: Η ραγδαία αύξηση των υπολογιστών νέφους (cloud computing) έχει
δημιουργήσει την ανάγκη για πιο ισχυρά κέντρα δεδομένων (data centers). Μέχρι τώρα τα
περισσότερα κέντρα δεδομένων υποστηρίζονται από επεξεργαστές γενικού σκοπού υψηλής
απόδοσης αλλά και υψηλής κατανάλωσης ενέργειας οι οποίοι δεν είναι βελτιστοποιημένοι
για τις σύγχρονες εφαρμογές.
Στόχος της εργασίας αυτής είναι να υλοποιηθούν εφαρμογές για κέντρα δεδομένων (e.g.
MapReduce, search engines, etc.) σε πλατφόρμες οι οποίες περιέχουν ενσωματωμένους
επεξεργαστές χαμηλής κατανάλωσης ενέργειας (όπως πχ. ARM processors). Συγκεκριμένα
στην εργασία αυτή θα μετρηθεί η απόδοση σε ταχύτητα και κατανάλωση ενέργειας
συγκεκριμένων αντιπροσωπευτικών εφαρμογών που τρέχουν στα κέντρα δεδομένων (π.χ.
της Google, Facebook, etc.) πάνω σε αναπτυξιακές πλατφόρμες με ενσωματωμένους
επεξεργαστές. Αντίστοιχα οι εφαρμογές αυτές θα μετρηθούν και σε επεξεργαστές γενικού
σκοπού (e.g. Intel processors) με σκοπό να συγκριθούν σε ταχύτητα επεξεργασίας και
κατανάλωσης ενέργειας.
Σκοπός – αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η
σύγκριση της απόδοσης και της κατανάλωσης ενέργειας τυπικών εφαρμογών που τρέχουν
στα κέντρα δεδομένων (π.χ. Google, Facebook data centers) προκειμένου να βρεθεί η
καλύτερη αρχιτεκτονική συστήματος σε σχέση με την κατανάλωση ενέργειας και της
απόδοσης.
Προαπαιτούμενες γνώσεις: Αρχιτεκτονική υπολογιστών, Τεχνολογία νέφους, Linux,
προγραμματισμός.
Πληροφορίες: Δημήτριος Σούντρης, Χριστόφορος Κάχρης
________________________________________________________
Επιταχυντές Υλικού για Διακομιστές Τεχνολογίας Νέφους
(Hardware accelerators for cloud computing servers)
Περιγραφή θέματος: Η ραγδαία αύξηση των υπολογιστών νέφους (cloud computing) έχει
δημιουργήσει την ανάγκη για πιο ισχυρά κέντρα δεδομένων (data centers). Μέχρι τώρα τα
περισσότερα κέντρα δεδομένων υποστηρίζονται από επεξεργαστές γενικού σκοπού υψηλής
απόδοσης αλλά και υψηλής κατανάλωσης ενέργειας οι οποίοι δεν είναι βελτιστοποιημένοι
για τις σύγχρονες εφαρμογές.
Στόχος της εργασίας αυτής είναι να υλοποιηθούν επιταχυντές υλικού (hardware
accelerators) οι οποίοι θα χρησιμοποιηθούν για να βελτιώσουν την απόδοση των
διακομιστών στα κέντρα δεδομένων και παράλληλα θα βοηθήσουν στον περιορισμό της
κατανάλωσης ενέργειας. Οι επιταχυντές αυτοί θα χρησιμοποιηθούν για να προστεθούν σε
αναπτυξιακές πλατφόρμες αναδιατασσομένης λογικής οι οποίοι θα περιέχουν και
ενσωματωμένους επεξεργαστές (e.g. ARM cores). Η συνολική πλατφόρμα με τους
επιταχυντές θα αξιολογηθεί ως προς την απόδοση και την κατανάλωση ενέργειας με σκοπό
την δημιουργία πιο ισχυρών και λιγότερο ενεργοβόρων διακομιστών.
Σκοπός – αναμενόμενα αποτελέσματα: Στόχος της εργασίας αυτής είναι να υλοποιηθούν
επιταχυντές υλικού (hardware accelerators) οι οποίοι θα χρησιμοποιηθούν για να
βελτιώσουν την απόδοση των διακομιστών στα κέντρα δεδομένων και παράλληλα θα
βοηθήσουν στον περιορισμό της κατανάλωσης ενέργειας.
Προαπαιτούμενες γνώσεις: Αρχιτεκτονική υπολογιστών,
Μικροεπεξεργαστες, VHDL/Verilog, Ενσωματωμένα συστήματα.
Ψηφιακή
σχεδίαση,
Πληροφορίες: Δημήτριος Σούντρης, Χριστόφορος Κάχρης
________________________________________________________
Υλοποίηση Επαναδιαμορφούμενου Υπολογιστικού Νέφους
Περιγραφή θέματος:
To υπολογιστικό νέφος (Cloud computing) παρέχει ένα δυναμικό και ελαστικό περιβάλλον
διάθεσης υπηρεσιών το οποίο μπορεί να είναι ανθεκτικό σε ραγδαίες και γιγαντιαίας
κλίμακας μεταβολές των συνθηκών λειτουργίας. Πολυάριθμες υπηρεσίες, όπως τα
κοινωνικά δίκτυα και το ηλεκτρονικό ταχυδρομείο στον Παγκόσμιο Ιστό, χρησιμοποιούν την
τεχνολογία αυτή για την αποθήκευση φωτογραφιών, βίντεο και αρχείων κειμένων. Καθώς
τα υπολογιστικά νέφη κερδίζουν συνεχώς έδαφος στις υποδομές υπολογιστικών κέντρων,
αντίστοιχα κρίνεται απαραίτητη η αύξηση της ενεργειακής απόδοσης των υποδομών
(energy efficiency), η μείωση της απαιτούμενης καταναλωμένης ενέργειας και των
λειτουργικών εξόδων (Free-Cooling), εξασφαλίζοντας ταυτόχρονα υψηλότατη
διαθεσιμότητα.
Οι επαναδιαμορφούμενες αρχιτεκτονικές (FPGA) αποτελούν μια ιδανική λύση για τις
υποδομές υπολογιστικού νέφους μέσω της ικανότητας επαναπρογραμματισμού, της πολύ
χαμηλής κατανάλωσης ισχύος και της ικανότητας κλιμάκωσης στις απαιτήσεις εφαρμογών.
Στα πλαίσια αυτής της διπλωματικής εργασίας θα αναπτυχθεί ένα πρότυπο υπολογιστικό
νέφος κάνοντας χρήση επαναδιαμορφούμενων αρχιτεκτονικών α) ως επιταχυντών υλικού
και β) ως ολοκληρωμένης αντικατάστασης κόμβου με FPGA. Θα χρησιμοποιηθεί
υπάρχουσα υποδομή επικοινωνίας PC-FPGA βασιζόμενη σε Ethernet ενώ ως λογισμικό
νέφους θα επιλεχθεί ένα εκ των Eucalyptus, OpenNebula ή OpenStack.
Σκοπός – αναμενόμενα αποτελέσματα: Σκοπός της Διπλωματικής Εργασίας είναι η
ανάπτυξη επιταχυντών υλικού (VHDL) για υποδομές υπολογιστικού νέφους, καθώς και
κατάλληλου λογισμικού (C) για την αποδοτική χρήση των επιταχυντών.
Προαπαιτούμενες γνώσεις: Καλή γνώση προγραμματισμού C/C++, γνώση VHDL,
εξοικείωση με το λειτουργικό σύστημα GNU/Linux.
Πληροφορίες: Δημήτριος Σούντρης, Κώστας Σιώζιος, Διονύσης Διαμαντόπουλος