dc.contributor.author |
Τζανεττής, Ιωάννης
|
el |
dc.contributor.author |
Tzanettis, Ioannis
|
en |
dc.date.accessioned |
2020-12-11T06:53:21Z |
|
dc.date.available |
2020-12-11T06:53:21Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/52461 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.20159 |
|
dc.rights |
Default License |
|
dc.subject |
Παραλληλοποίηση |
el |
dc.subject |
Βελτιστοποίηση εφαρμογών |
el |
dc.subject |
Επιταχυντές |
el |
dc.subject |
Παράλληλα συστήματα |
el |
dc.subject |
Παράλληλο προγραμματιστικό μοντέλο |
el |
dc.subject |
Parallelization |
en |
dc.subject |
Deployment |
en |
dc.subject |
Optimization |
en |
dc.subject |
Accelerators |
en |
dc.subject |
Parallel systems |
en |
dc.subject |
Parallel programming model |
en |
dc.title |
Μελέτη υποδομής για ανάπτυξη, βελτιστοποίηση και
απεικόνιση εφαρμογών σε παράλληλες αρχιτεκτονικές |
el |
dc.title |
A Study for Application Development, Optimization and
Deployment on Parallel Architectures |
en |
dc.contributor.department |
Τμήμα Τεχνολογίας Πληροφορικής και Υπολογιστών - CSLab |
el |
heal.type |
bachelorThesis |
|
heal.classification |
Computer Engineering |
en |
heal.language |
el |
|
heal.language |
en |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2019-11-11 |
|
heal.abstract |
Recent advancements on computationally intensive algorithms in various fields like Image Processing, Control-Flow-Dynamics and Machine Learning showcase the massively increased need for
computational power. On the other hand, High Performance Computing is under continuous development offering advanced hardware architectures and parallel programming models and protocols that
increase the performance and decrease the cost of such tasks. Still, the exploitation of these technologies is only available to specialized users, while average programmers can only deal with a limited
set of technologies that have been developed enough to include a simple interface able to abstract all
complexity.
In this Diploma Thesis, we studied a series of different technologies that combined can facilitate
the development, optimisation and deployment of a parallel application. Focus was given to the design
of the architecture of a framework, which takes the form of a multi-component toolchain offering a
variety of different functionalities. The utilization of such a framework aims to assist the user to
implement highly efficient applications, able to be deployed on a variety of different architectures and
memory spaces.
A Parallel Programming Model has been designed guiding the user through the application design
procedure. This model abstracts the programmer from the low-level implementation, taking care of
all communication and deployment tasks. The integration and deployment of the application is the
responsibility of the Deployment Manager tool that has been developed to implement the low-level
directives and library inclusions. The Programming Interface is part of the Programming Model and
mainly consists of a set of libraries developed to allow communication between the software components of the application. The Auto-Parallelization tool is the result of an extended study of the
state-of-the-art techniques utilized in the field and exploits the design of the Programming Model to
automatically parallelize parts of the application that can be computationally intensive. The Technique
Selection decision tool exploits user directives for assigning parts of the application on the different
hardware components and selects the corresponding technologies to implement the low-level communication and deployment functionalities.
The main objectives of this thesis can be summarized into three parts namely chapters 3, 4 και 5. At
the first part, we discuss current parallelization technologies, focusing specifically on the performance
evaluation of the PLuTo parallelizer and the ROSE Compiler, while also extending relevant work to
cover more cases and optimize performance. At the second part, we describe in detail the parallel
programming model that is used for the integration of the different tools. Finally, at the third part, we
discuss the integration details of such a framework (AEOLUS) and how their interaction can provide
the outcome in the form of an integrated and optimised parallel application. |
en |
heal.abstract |
Πρόσφατες εξελίξεις σε αλγορίθμους με υψηλό υπολογιστικό φόρτο σε διάφορους τομείς όπως η
επεξεργασία εικόνας, η δυναμική ελέγχου ροής και η μηχανική μάθηση παρουσιάζουν μαζικά αυξημένη ανάγκη για υπολογιστική ισχύ. Από την άλλη πλευρά, το High Performance Computing βρίσκεται υπό συνεχή ανάπτυξη, προσφέροντας προηγμένες αρχιτεκτονικές υλικού και παράλληλα μοντέλα
προγραμματισμού και πρωτόκολλα που αυξάνουν την απόδοση και μειώνουν το κόστος τέτοιων εργασιών. Ωστόσο, η εκμετάλλευση αυτών των τεχνολογιών είναι διαθέσιμη μόνο σε εξειδικευμένους
χρήστες, ενώ οι μέσοι προγραμματιστές μπορούν να ασχοληθούν μόνο με ένα περιορισμένο αριθμό
τεχνολογιών που έχουν αναπτυχθεί αρκετά ώστε να περιλαμβάνουν μια απλή διεπαφή ικανή να αποκρύπτει την υψηλή πολυπλοκότητα.
Σε αυτή τη διπλωματική εργασία, μελετήσαμε μια σειρά διαφορετικών τεχνολογιών που μπορούν
να συνδυαστούν για να διευκολύνουν την ανάπτυξη, βελτιστοποίηση και εκτέλεση μιας παράλληλης
εφαρμογής. Εστιάσαμε στο σχεδιασμό της αρχιτεκτονικής μιας υποδομής, η οποία παίρνει τη μορφή
μιας εργαλειοθήκης που προσφέρει μια ποικιλία διαφορετικών λειτουργιών. Η χρήση μιας τέτοιας
υποδομής στοχεύει να βοηθήσει τον χρήστη να υλοποιήσει εφαρμογές υψηλής απόδοσης, ικανές να
αναπτυχθούν σε διάφορες αρχιτεκτονικές και χώρους μνήμης.
Ένα παράλληλο Προγραμματιστικό Μοντέλο έχει σχεδιαστεί για την καθοδήγηση του χρήστη
μέσω της διαδικασίας σχεδιασμού εφαρμογής. Αυτό το μοντέλο αποκρύπτει τον προγραμματιστή από
την εφαρμογή χαμηλού επιπέδου, φροντίζοντας όλες τις εργασίες επικοινωνίας και εκτέλεσης. Η ολοκλήρωση και η εκτέλεση της εφαρμογής είναι ευθύνη του εργαλείου Διαχείρισης Εκτέλεσης που έχει
αναπτυχθεί για την εφαρμογή των οδηγιών χαμηλού επιπέδου και τη χρήση εξωτερικών βιβλιοθηκών.
Η Προγραμματιστική Διεπαφή αποτελεί μέρος του μοντέλου προγραμματισμού και αποτελείται κυρίως από ένα σύνολο βιβλιοθηκών που αναπτύχθηκαν για να επιτρέπουν την επικοινωνία μεταξύ των
επιμέρους κομματιών της εφαρμογής. Ένα εργαλείο Αυτόματης Παραλληλοποίησης είναι το αποτέλεσμα μιας εκτεταμένης μελέτης των σύγχρονων τεχνικών που χρησιμοποιούνται στον τομέα και εκμεταλλεύεται το σχεδιασμό του Προγραμματιστικού Μοντέλου για την αυτόματη παραλληλοποίηση
μερών της εφαρμογής που περιλαμβάνουν μεγάλο υπολογιστικό φόρτο. Ένα εργαλείο λήψης αποφάσεων όσον αφορά τις διαθέσιμες τεχνικές που υποστηρίζονται, εκμεταλλεύεται τις οδηγίες του χρήστη
για την ανάθεση τμημάτων της εφαρμογής στα διάφορα στοιχεία υλικού και επιλέγει τις αντίστοιχες
τεχνολογίες για την υλοποίηση των λειτουργιών επικοινωνίας και εκτέλεσης χαμηλού επιπέδου που
απαιτούνται.
Οι κύριοι στόχοι αυτής της εργασίας μπορούν να συνοψιστούν σε τρία μέρη, συγκεκριμένα στα
κεφάλαια 3, 4 και 5. Στο πρώτο μέρος συζητάμε τις τρέχουσες τεχνολογίες παραλληλοποίησης, εστιάζοντας ειδικά στην αξιολόγηση της απόδοσης του παραλληλοποιητή PLuTo και του μεταγλωττιστή
ROSE, εργασία για την κάλυψη περισσότερων περιπτώσεων και βελτιστοποίηση της απόδοσης. Στο
δεύτερο μέρος, περιγράφουμε λεπτομερώς το παράλληλο προγραμματιστικό μοντέλο που χρησιμοποιείται για την χρήση των εργαλείων. Τέλος, στο τρίτο μέρος, συζητάμε τις λεπτομέρειες ολοκλήρωσης μιας τέτοιας υποδομής (AEOLUS) και πώς η αλληλεπίδρασή των μερών της μπορεί να προσφέρει
ως αποτέλεσμα μια ολοκληρωμένη και βελτιστοποιημένη παράλληλη εφαρμογή. |
el |
heal.advisorName |
Γκούμας, Γεώργιος |
el |
heal.committeeMemberName |
Γκούμας, Γεώργιος |
el |
heal.committeeMemberName |
Κοζύρης, Νεκτάριος |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
201 p. |
en |
heal.fullTextAvailability |
false |
|