HEAL DSpace

Μελέτη αλγορίθμων εκτέλεσης και χρονοδρομολόγησης παράλληλων εργασιών

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

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

dc.contributor.advisor Κοζύρης, Νεκτάριος el
dc.contributor.author Παλαιολόγος, Ευστράτιος Π. el
dc.contributor.author Palaiologos, Eystratios P. en
dc.date.accessioned 2014-07-14T09:36:02Z
dc.date.available 2014-07-14T09:36:02Z
dc.date.copyright 2014-03-21 -
dc.date.issued 2014-07-14
dc.date.submitted 2014-03-21 -
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/38726
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.7311
dc.description 113 σ. el
dc.description.abstract Μια διαδεδομένη τεχνική για την αξιοποίηση πολυεπεξεργαστικών συστημάτων είναι η δόμηση μιας εφαρμογής σε ανεξάρτητες εργασίες που μπορούν να εκτελούνται ταυτόχρονα, γνωστή ως multithreading. Τα περισσότερα εργαλεία παράλληλου προγραμματισμού φροντίζουν αυτές οι εργασίες να κατανέμονται και να εκτελούνται στους επεξεργαστές αυτόματα, χωρίς την παρέμβαση του προγραμματιστή. Αυτό κάνει τον παράλληλο προγραμματισμό αφενός πιο εύκολο, καθώς ο προγραμματιστής ασχολείται μόνο με τον τρόπο που θα δομήσει την εφαρμογή του σε ανεξάρτητες εργασίες, και αφετέρου πιο αποδοτικό, αφού οι εργασίες δρομολογούνται από ένα σύστημα που εγγυημένα δουλεύει σωστά και γρήγορα. Στόχος αυτής της εργασίας είναι η μελέτη του τρόπου που μπορούμε να διαχειριστούμε παράλληλες εργασίες -πώς να τις δημιουργήσουμε, να τις τερματίσουμε και να τις συγχρονίσουμε μεταξύ τους- καθώς και το πώς μπορούν να δρομολογηθούν αυτές σε ένα πλήθος επεξεργαστών. Η μελέτη γίνεται σε εργαλεία παράλληλου προγραμματισμού που παρέχουν τέτοιες δυνατότητες, κυρίως τα Posix Threads και η Cilk. Κατόπιν, αναλύουμε δυο κύριες τεχνικές χρονοδρομολόγησης παράλληλων εργασιών, το work sharing και το work stealing. Μελετούμε αλγορίθμους που βασίζονται σε αυτές τις φιλοσοφίες και την επίδοση που έχουν βάσει θεωρητικών μοντέλων. Τέλος, για εκπαιδευτικούς λόγους, εμπνεόμενοι από τα εργαλεία που εξετάστηκαν, υλοποιούμε σε γλώσσα C μια βιβλιοθήκη διαχείρισης tasks και ένα δρομολογητή. Ο δρομολογητής εκτελεί απλοποιημένες εκδοχές αλγορίθμων work sharing και work stealing el
dc.description.abstract A common technique for exploiting SMP systems is the division of an application into independent tasks that can be performed simultaneously, known as multithreading. Most parallel programming tools ensure these tasks are distributed and executed on processors automatically, without intervention by the programmer. This makes parallel programming easier, as the programmer only deals with how to structure the application into independent tasks, and also more efficient, since the work initiated by a system is guaranteed to work correctly and quickly. The aim of this work is the study of how we can manage parallel work - how to create, terminate and synchronize them - and how they can be scheduled to a set of processors. The study is using parallel programming tools that provide such capabilities, particularly the Posix Threads and Cilk. Then, we analyze two main techniques of scheduling parallel tasks, work sharing and work stealing. We study algorithms based on these philosophies and their performance based on theoretical models. Finally, for educational purposes, inspired from the examined tools, we implement a library management tasks and a scheduler using C language. The scheduler performs simplified versions of work sharing and work stealing algorithms. en
dc.description.statementofresponsibility Ευστράτιος Π. Παλαιολόγος el
dc.language.iso el en
dc.rights ETDFree-policy.xml en
dc.subject Αλγόριθμοι δρομολόγησης el
dc.subject Παράλληλος προγραμματισμός el
dc.subject RTS el
dc.subject Pthreads el
dc.subject Cilk en
dc.subject Multitasking en
dc.subject Work sharing en
dc.subject Work stealing en
dc.subject Scheduling algorithms en
dc.subject Parallel programming en
dc.title Μελέτη αλγορίθμων εκτέλεσης και χρονοδρομολόγησης παράλληλων εργασιών el
dc.title.alternative Study on algorithms for executing and scheduling parallel tasks en
dc.type bachelorThesis el (en)
dc.date.accepted 2014-01-31 -
dc.date.modified 2014-03-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-07-14 -
dc.date.recordmanipulation.recordmodified 2014-07-14 -


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

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

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