HEAL DSpace

Επέκταση των τεχνικών δρομολόγησης του προγραμματιστικού μοντέλου OpenMP

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Γαλανόπουλος, Δημήτρης el
dc.contributor.author Galanopoulos, Dimitris en
dc.date.accessioned 2020-09-08T11:01:16Z
dc.date.available 2020-09-08T11:01:16Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/51069
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.18767
dc.rights Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ *
dc.subject Κοινή μνήμη el
dc.subject Shared memory en
dc.subject OpenMP en
dc.subject Δρομολόγηση el
dc.subject Scheduling en
dc.subject Τοπικότητα el
dc.subject Locality en
dc.subject NUMA en
dc.subject OpenMP en
dc.title Επέκταση των τεχνικών δρομολόγησης του προγραμματιστικού μοντέλου OpenMP el
heal.type bachelorThesis
heal.classification Παράλληλη επεξεργασία el
heal.classification Parallel processing en
heal.language el
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2020-02-18
heal.abstract Στην εποχή της ανάλυσης ‘Μεγάλων Δεδομένων’ (Big Data) και των νευρωνικών δικτύων αναδεικνύεται όλο και πιο έντονα η ανάγκη ενίσχυσης της τοπικότητας των δεδομένων και της εύρεσης μεγαλύτερης παραλληλίας στα σύγχρονα προγράμματα. Παράλληλα, η συνεχόμενη αύξηση των επεξεργαστικών μονάδων των υπολογιστών και η ένταση των φαινομένων μη ομοιόμορφης προσπέλασης της μνήμης (NUMA) καθιστούν τον άμεσο χειρισμό των νημάτων (threads) από τους ίδιους τους προγραμματιστές μία αρκετά δύσκολη και χρονοβόρα εργασία. Πάνω σε αυτήν τη βάση, προτείνεται το “hierarchical schedule” (ή ιεραρχική δρομολόγηση), μια μέθοδος αυτοματοποίησης της οργάνωση των νημάτων (threads) σε οριζόμενες από το χρήστη ομάδες (groups), αλλά και διαμοιρασμού της εργασίας σε αυτές. Είναι βασισμένο στην ευρέως διαδεδομένη πλατφόρμα ανάπτυξης παράλληλων προγραμμάτων OpenMP [1] και αποτελεί επέκταση της λειτουργικότητας της. Συγκεκριμένα, προσθέτει μία επιπλέον πολιτική δρομολόγησης (scheduling) δυναμικού διαμοιρασμού της εργασίας των παράλληλων for βρόχων του OpenMP (omp parallel for), η οποία λαμβάνει υπόψιν τα NUMA χαρακτηριστικά του μηχανήματος και διατηρεί την τοπικότητα του κώδικα, ενώ παράλληλα προσφέρει στο χρήστη περισσότερες δυνατότητες ελέγχου των threads. Η υλοποίηση έγινε επεκτείνοντας τον κώδικα του μεταγλωττιστή gcc (στην έκδοση 8.3.0). Στο τέλος μελετάται η συμπεριφορά του hierarchical schedule σε ένα σύνολο διαφόρων ειδών φόρτου εργασίας, και συγκρίνεται η επίδοσή του σε σχέση με τα άλλα schedules του OpenMP. Οι μετρήσεις έγιναν σε ένα intel μηχάνημα τεσσάρων Xeon E5-4620 επεξεργαστών, όπου κάθε ένας ανήκε σε έναν διαφορετικό NUMA κόμβο μνήμης των 64GB (ώστε συνολικά να έχουμε 256GB μνήμης). el
heal.abstract In the era of Big Data analysis and neural networks, the need for greater data locality and finer-grained parallelism becomes increasingly important. Due to the constant rise in the number of cores per processor and the intensity of NUMA effects, manual handling of threads has become a lot more demanding and time consuming. Based on these facts, we propose “hierarchical schedule”, a method of automating the organization of threads into groups and the act of work sharing between them. This work is based on the OpenMP library [1], a widely used platform for shared memory parallel programming. More specifically, it adds a new dynamic scheduling policy for the “parallel for” constructs, which takes into account the NUMA characteristics of the machine and retains the locality of the code as much as possible, while giving the user finer-grained control over the threads. The actual implementation was done by extending the gcc compiler (version 8.3.0). We conclude by studying the behavior of hierarchical schedule over a variety of work loads, and compare it’s performance to that of the other OpenMP schedules. All our measurements were taken on an intel machine with four Xeon E5-4620 cpus, each one belonging to a different 64GB NUMA memory node (for a total of 256GB of memory). en
heal.advisorName Γκούμας, Γεώργιος el
heal.committeeMemberName Γκούμας, Γεώργιος el
heal.committeeMemberName Κοζύρης, Νεκτάριος el
heal.committeeMemberName Πνευματικάτος, Διονύσιος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 82 σ.
heal.fullTextAvailability false


Αρχεία σε αυτό το τεκμήριο

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα