HEAL DSpace

Optimization Techniques for Task-based Parallel Programming Models

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

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

dc.contributor.advisor Κοζύρης, Νεκτάριος el
dc.contributor.author Χασάπης, Αθανάσιος-Άκανθος Μ. el
dc.contributor.author Chasapis, Athanasios-Akanthos M. en
dc.date.accessioned 2014-11-20T08:41:39Z
dc.date.available 2014-11-20T08:41:39Z
dc.date.copyright 2014-07-21 -
dc.date.issued 2014-11-20
dc.date.submitted 2014-07-21 -
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/39692
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.6643
dc.description 126 σ. el
dc.description.abstract Ένα από τα πιο απαιτητικά προβλήματα στα σύγχρονα παράλληλα υπολογιστικά συστήματα είναι η εκμετάλλευση του μεγάλου αριθμού των νημάτων/πυρήνων που προσφέρει το σύγχρονο υλικό, με σκοπό την βελτίωση της αποδοτικότητας εφαρμογών που εκτελούν κομμάτια κώδικα παράλληλα. Στην βιβλιογραφία και την βιομηχανία έχουν προταθεί διάφορα προγραμματιστικά μοντέλα για αυτό τον σκοπό, στα οποία περιλαμβάνεται και το μοντέλο με παράλληλες εργασίες. Στο συγκεκριμένο μοντέλο, που έχει σκοπό την απλοποίηση του παράλληλου προγραμματισμού, ο προγραμματιστής εκφράζει τον παραλληλισμό της εφαρμογής ως εργασίες που μπορούν να εκτελεστούν παράλληλα και το σύστημα εκτέλεσης αποφασίζει πως αυτές οι εργασίες θα ανατεθούν σε νήματα του λειτουργικού συστήματος προς εκτέλεση. Στόχος της παρούσας εργασίας είναι να εξερευνήσει και να βελτιστοποιήσει τους εσωτερικούς μηχανισμούς της βιβλιοθήκης Intel TBB κάτω από συγκεκριμένους αρχιτεκτονικούς περιορισμούς. Αρχικά εξετάζουμε τον scheduler εργασιών της βιβλιοθήκης, με έμφαση στον μηχανισμό «κλοπής εργασιών», ώστε να αναγνωριστούν οι βασικές λειτουργίες του και εκτελούμε profiling για να μετρήσουμε την επιβάρυνση που επιφέρει η καθεμία. Εν συνεχεία, γίνεται προσπάθεια να βελτιστοποιήσουμε τον μηχανισμό τυχαίας κλοπής προσθέτοντας πληροφορίες που αφορούν την αρχιτεκτονική, κυρίως την ιεραρχία κρυφών μνημών και την διαμόρφωση των packages. Υλοποιούμε έναν μηχανισμό κλοπής εργασιών που ακολουθεί δύο πολιτικές: 1) κλοπή από τους κοντινότερους πυρήνες (σε απόσταση ιεραρχίας μνήμης), 2) κλοπή από τον πιο φορτωμένο με εργασίες πυρήνα. Η πρώτη πολιτική έχει στόχο να μεγιστοποιήσει την επαναχρησιμοποίηση δεδομένων που μοιράζονται πυρήνες στην ιεραρχία μνήμης, μείωση της μόλυνσης της κρυφής μνήμης με μη σχετικά δεδομένα (μείωση των conflict/coherence misses), ενθαρρύνοντας την πρόσβαση δεδομένων σε τοπικό αρχιτεκτονικό επίπεδο. Η δεύτερη πολιτική έχει στόχο την βελτίωση της εξισορρόπησης φορτίου μεταξύ των πυρήνων. Για την αξιολόγηση των παραπάνω παρουσιάζουμε πειραματικά αποτελέσματα που αφορούν την βελτίωση της απόδοσης διάφορων εφαρμογών σε μία SMP πλατφόρμα 24 πυρήνων, μία NUMA πλατφόρμα 12 πυρήνων και μία NUMA πλατφόρμα 32 πυρήνων (με πολυνηματισμό). el
dc.description.abstract One of the most challenging problems in modern parallel processing systems is to exploit the large number of cores/threads available in modern hardware, in order to improve the efficiency of applications by executing pieces of code in parallel. Various programming models have been proposed for this purpose, among which the task programming model. This model aims at simplifying parallel programming. In this model, the programmer expresses parallelism as tasks to be executed in parallel and the runtime system decides how these tasks are assigned to system threads. The goal of this thesis is to explore and optimize the internals of the Intel TBB Library under certain architectural conditions. Initially we examine the library task scheduler, focusing on the task stealing mechanism, in order to identify its basic functions and we run some profiling to verify the task stealing functionality and to measure the overheads of each basic function. Subsequently we attempt to optimize the architecture agnostic random stealing function by adding architecture information, mainly about the cache hierarchy and the socket configuration. We implement a stealing mechanism that adopts certain policies: i) stealing from the closest (in terms of cache/NUMA locality) core, ii) stealing from the most loaded core. The first policy aims to maximize the reuse of data shared between cores, reduce cache pollution due to irrelevant data (i.e. minimize con-flict/coherence misses), and promote data accesses from local NUMA memory nodes. The second policy tries to achieve better load balancing among the cores. To that end, we present experimental results on performance improvement by measuring the speedup of several applications on a 24-core SMP and a 12-core (with hyperthreading) NUMA multicore machine. en
dc.description.statementofresponsibility Αθανάσιος-Άκανθος Μ. Χασάπης el
dc.language.iso en en
dc.rights ETDFree-policy.xml en
dc.subject Παράλληλα προγραμματιστικά μοντέλα βασισμένα σε εργασίες el
dc.subject Εξισορρόπηση φορτίου el
dc.subject Ιεραρχία κρυφών μνημών el
dc.subject Κλοπή εργασιών el
dc.subject Τοπικότητα δεδομένων el
dc.subject Intel TBB en
dc.subject Task-based parallel programming models en
dc.subject Load balancing en
dc.subject Cache hierarchy en
dc.subject Work stealing en
dc.subject Data locality en
dc.title Optimization Techniques for Task-based Parallel Programming Models en
dc.title.alternative Τεχνικές βελτιστοποίησης για παράλληλα προγραμματιστικά μοντέλα βασισμένα σε εργασίες el
dc.type bachelorThesis el (en)
dc.date.accepted 2014-07-18 -
dc.date.modified 2014-07-21 -
dc.contributor.advisorcommitteemember Παγουρτζής, Αριστείδης el
dc.contributor.advisorcommitteemember Γκούμας, Γεώργιος el
dc.contributor.committeemember Κοζύρης, Νεκτάριος el
dc.contributor.committeemember Παγουρτζής, Αριστείδης el
dc.contributor.committeemember Γκούμας, Γεώργιος el
dc.contributor.department Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Υπολογιστικών Συστημάτων. el
dc.date.recordmanipulation.recordcreated 2014-11-20 -
dc.date.recordmanipulation.recordmodified 2014-11-20 -


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

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

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