HEAL DSpace

Δρομολόγηση παράλληλων εφαρμογών σε πολυπύρηνα συστήματα

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

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

dc.contributor.advisor Κοζύρης, Νεκτάριος el
dc.contributor.author Χαλιός, Χαράλαμπος Κ. el
dc.contributor.author Chalios, Charalampos K. en
dc.date.accessioned 2013-07-02T09:16:55Z
dc.date.available 2013-07-02T09:16:55Z
dc.date.copyright 2013-06-19 -
dc.date.issued 2013-07-02
dc.date.submitted 2013-06-19 -
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/8279
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.12873
dc.description 88 σ. el
dc.description.abstract Η στροφή σε πολυπύρηνα συστήματα, τα οποία παρέχουν αφθονία υπολογιστικών πό- ρων, έχουν οδηγήσει τους προγραμματιστές στην υιοθέτηση μοντέλων παράλληλου προγραμματισμού έτσι, ώστε να μπορέσουν αναπτύξουν αποδοτικές εφαρμογές. Ο πα- ράλληλος προγραμματισμός υπόσχεται επίδοση που κλιμακώνει με την αύξηση του πλήθους των υπολογιστικών πόρων. Παρ’ όλα αυτά, περιορισμοί που έχουν να κάνουν, κυρίως, με την ιεραρχία μνήμης δεν επιτρέπουν στις παράλληλες εφαρμογές να επιτύ- χουν την αναμενόμενη επίδοση. Σαν αποτέλεσμα οι εφαρμογές αυτές δεν είναι ικανές να αξιοποιήσουν τους διαθέσιμους πόρους. Για να μη μείνουν ανεκμετάλλευτοι αυτοί οι πόροι, υπάρχει η ανάγκη για ταυτόχρονη εκτέλεση για παραπάνω απο μία παράλληλες εφαρμογές. Σ’ αυτή την περίπτωση όμως, ο ανταγωνισμός για πόρους απο διαφορετικές εφαρμογές οδηγεί σε απρόβλεπτη συμπεριφορά και επιπλέον μείωση τις επίδοσής τους. Υπάρχει, λοιπόν, η ανάγκη για αποδοτική δρομολόγηση των εφαρμογών και διανομή των πόρων του συστήματος μνήμης. Στη διπλωματική αυτή, μελετάμε τους λόγους για τους οποίους οι υπάρχοντες schedulers των λειτουργικών συστημάτων δε βοηθάνε στην εκτέλεση παράλληλων εφαρμογών στα τρέχοντα υπολογιστικά συστήματα. Εξετάζουμε τους περιορισμούς του συστήματος μνήμης που οδηγεί σε κακή επίδοση των παράλλη- λων εφαρμογών. Στη συνέχεια μελετάμε κάποιες απ’ τις μεθόδους που έχουν προταθεί στη βιβλιογραφία για αντιμετώπιση των προβλημάτων των state-of-the-art schedulers σχετικά με τη δρομολόγηση παράλληλων εφαρμογών, καθώς και υλοποιούμε δικές μας τεχνικές δρομολόγησης. Τέλος, εξετάζουμε το θέμα της τοποθέτησης των νημάτων των πολυνηματικών εφαρμογών στους πυρήνες ενός πολυπύρηνου συστήματος. Συνοψίζο- ντας, τονίζουμε την αδυναμία των παράλληλων εφαρμογών να κλιμακώσουν ικανο- ποιητικά στα σημερινά πολυεπεξεργαστικά συστήματα και ως συνέπεια τη σημασία ανάπτυξης τεχνικών δρομολόγησης παράλληλων εφαρμογών που λαμβάνουν υπ’ όψιν τους την οργάνωση τους συστήματος μνήμης της υπολογιστικής πλατφόρμας και εφαρ- μόζουν τεχνικές που περιορίζουν τις επιπτώσεις του ανταγωνισμού των παράλληλων εφαρμογών για μοιραζόμενους πόρους του συστήματος μνήμης. Επισημαίνουμε τη ση- μασία της τοποθέτησης των νημάτων μια πολυνηματικής εφαρμογής στους επεξεργα- στές ενός πολυπύρηνου συστήματος και εξετάζουμε το πως διαφορετικές αποφάσεις, μπορούν να προσδώσουν διαφορετικά χαρακτηριστικά εκτέλεσης. el
dc.description.abstract The proliferation of Chip Multiprocessors (CMPs) has caused a noticeable stir in the current programming paradigm. Developers turn to parallel programming in order to take advantage of the multiple processing units found in todays computing systems. Multithreaded applications distribute the computational load in many threads that use shared memory to communicate. e shift, however, from Symmetric Multiprocessors (SMPs) to CMPs has brought up challenges concerning contention in resources that are shared among cores of the CMP which do not allow applications to achieve the expected performance. Computing systems, from their side have been developed to adapt to the new platforms. With the advent of SMPs task schedulers have been extended to load balance the system workload to the multiple identical cpus in order to exploit parallelism. Schedulers are now obliged to use space-sharing in order to achieve maximum utilization of the system resources, since applications are incapable to exploit them on their own. e hierarchical organization of the CMPs, however, with cores sharing resources such as cache memory, memory bus, DRAM controllers etc, require much more elaborate scheduler implementations. In this thesis, we explore the factors that lead to poor performance in cases where multiple multithreaded applications are executed on a CMP. Knowing that memory constraints are the primary reason for which multithreaded applications fail to scale with many cpus, we can expect that this phenomenon will be more intense when those applications will contend for resources of the memory subsystem. First, we investigate what effect has the limited memory bandwidth in the execution of multithreaded applications and most importantly when they are co-scheduled with other applications and extract information that could be used from a scheduler in order to make more efficient decisions. Second we study how decisions on thread affinity of multithreaded applications can affect their execution profile. e hierarchical organization of CMPs has made thread affinity an important aspect. Whereas in SMPs placement of threads is not important, since the only resource they share is the memory bus, in CMPs where cores share multiple resources, affinity of threads determine the amount of resources applications contend for. Finally we compare some scheduler implementations found in previous work, as well as, a scheduler that we implemented and the Linux scheduler. en
dc.description.statementofresponsibility Χαράλαμπος K. Χαλιός el
dc.language.iso el en
dc.rights ETDFree-policy.xml en
dc.subject Πολυεπεξεργαστικά συστήματα el
dc.subject Πολυνηματικές εφαρμογές el
dc.subject Δρομολόγηση el
dc.subject Τοποθέτηση νημάτων el
dc.subject Εύρος ζώνης διαδρόμου μνήμης el
dc.subject CMPs en
dc.subject Multithreaded applications en
dc.subject Gang scheduling en
dc.subject Contention-aware scheduling en
dc.subject Memory bus bandwidth en
dc.subject Thread placement en
dc.title Δρομολόγηση παράλληλων εφαρμογών σε πολυπύρηνα συστήματα el
dc.title.alternative Scheduling multithreaded applications in multicore systems en
dc.type bachelorThesis el (en)
dc.date.accepted 2013-06-17 -
dc.date.modified 2013-06-19 -
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 2013-07-02 -
dc.date.recordmanipulation.recordmodified 2013-07-02 -


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

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

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