Συντάχθηκε 11-09-2015 14:26
από Esthir Gelasaki
Email συντάκτη: egelasaki<στο>tuc.gr
Ενημερώθηκε:
-
Ιδιότητα: υπάλληλος.
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
ΑΝΑΣΤΑΣΙΟΣ ΣΟΥΡΗΣ
με θέμα
Υλοποίηση εξαρτήσεων εργασιών του προτύπου OpenMP 4.0 στον παραλληλοποιητικό μεταφραστή OMPi
Implementation of OpenMP 4.0 Dependent Tasks in the OMPi OpenMP/C Compiler
Tρίτη 15 Σεπτεμβρίου 2015, 11πμ
Αίθουσα 2041, Κτίριο Επιστημών, Πολυτεχνειούπολη
Εξεταστική Επιτροπή
Καθηγητής Διονύσιος Πνευματικάτος (επιβλέπων)
Aναπληρωτής Καθηγητής Αντώνιος Δεληγιαννάκης
Αναπληρωτής Καθηγητής Δημακόπουλος Βασίλειος (Τμήμα Μηχανικών Η/Υ & Πληροφορικής,
Πανεπιστήμιο Ιωαννίνων)
Περίληψη
Στην διπλωματική μου εργασία υλοποίησα το μοντέλο εξαρτήσεων εργασιών του προτύπου OpenMP 4.0 για παράλληλες αρχιτεκτονικές κοινόχρηστης μνήμης με συνεκτικότητα κρυφής μνήμης στον παραλληλοποιητικό μεταφραστή OMPi. Αρχικά, υλοποίησα την προτεινόμενη από την βιβλιογραφία μέθοδο λίστας η οποία βασίζεται σε locks. Στη συνέχεια, σχεδίασα και υλοποίησα μια lock-free εκδοχή της μεθόδου λίστας με σκοπό της αξιολόγηση των lock-free τεχνικών στο συγκεκριμένο πρόβλημα. Χρησιμοποιώντας συνθετικά benchmarks συγκρίνω τις επιδόσεις των δύο αυτών μεθόδων. Πειράματα σε πραγματικές εφαρμογές (παραγοντοποίηση LU, πολλαπλασιασμός πινάκων με τον αλγόριθμο Strassen, και δύο διαστάσεων επανάληψη) αξιολογούν την υλοποίηση εξαρτήσεων εργασιών έναντι του απλού μοντέλου εργασιών (χωρίς εξαρτήσεις) στον OMPi. Τέλος, συγκρίνω την υλοποίηση εξαρτήσεων εργασιών στον OMPi με άλλες υλοποιήσεις τoυ OpenMP 4.0 μοντέλου εξαρτήσεων εργασιών.
Abstract
In my diploma thesis I have implemented the OpenMP 4.0 task dataflow programming model for cache-coherent shared-memory parallel systems in the runtime of the open source OMPi OpenMP/C compiler. To begin with, I have implemented the lock-based list scheme as presented in the bibliography. Then, I have developed a lock-free variant of the list scheme for the purpose of evaluating the effectiveness of lock-free techniques in this problem. With micro-benchmarks I compare the lock-based and lock-free methods. Experiments on real-world applications (LU decomposition, Strassen multiplication and 2D Recurrence) evaluate the implementation of the task dataflow model against the task model in OMPi. Finally, I compare the task dataflow implementation in OMPi against other OpenMP 4.0 task dataflow runtimes.