Υλοποίηση συστήματος τύπων για την αποφυγή αδιεξόδων σε C/Pthreads

DSpace/Manakin Repository

Show simple item record

dc.contributor.advisor Παπασπύρου, Νικόλαος el
dc.contributor.author Βεκρής, Παναγιώτης Π. el
dc.contributor.author Vekris, Panagiotis P. en
dc.date.accessioned 2011-07-21T09:37:38Z
dc.date.available 2011-07-21T09:37:38Z
dc.date.copyright 2011-07-19 -
dc.date.issued 2011-07-21
dc.date.submitted 2011-07-19 -
dc.identifier.uri http://hdl.handle.net/123456789/4816
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.8179
dc.description 86 σ. el
dc.description.abstract Τα συστήματα παράλληλης επεξεργασίας έχουν γνωρίσει ραγδαία ανάπτυξη τις τελευταίες δεκαετίες, η οποία έχει επιδράσει πολλαπλασιαστικά στην υπολογιστική τους ισχύ, αλλά παράλληλα έχει εισαγάγει αρκετές προκλήσεις στον προγραμματισμό τους, μία από τις οποίες είναι η απουσία των αδιεξόδων που οφείλονται στη χρήση κλειδωμάτων. Σε αυτή τη διπλωματική αρχικά εκθέτουμε στατιστικά στοιχεία σχετικά με τη χρήση των προτύπων κλειδώματος σε μια βάση πραγματικών προγραμμάτων που συγκεντρώσαμε. Εν συνεχεία παρουσιάζουμε την υλοποίηση ενός συστήματος τύπων για την αποφυγή αδιεξόδων, όπου η έρευνα μέχρι στιγμής έχει αποδώσει περιορισμένα αποτελέσματα σε σχέση με την πρόληψη αδιεξόδων. Η υλοποίησή μας έχει ως στόχο προγράμματα σε C που χρησιμοποιούν το πρότυπο των Pthreads. Οι καινοτομίες του εργαλείου που αναπτύξαμε είναι ότι μπορεί να αντιμετωπίσει περιπτώσεις μη δομημένου κλειδώματος μεταβλητών, δεν επιβάλει αυστηρή σειρά στο κλείδωμα μεταβλητών, όπως οι περισσότερες προσεγγίσεις στην πρόληψη αδιεξόδων, και δεν απαιτεί από το χρήστη να επισημειώσει με οποιονδήποτε τρόπο το αρχικό πρόγραμμα. Το εργαλείο αποτελείται τόσο από ένα τμήμα στατικής ανάλυσης των προγραμμάτων εισόδου, το οποίο συγκεντρώνει πληροφορίες σχετικά με το κλείδωμα μεταβλητών, όσο και από μια βιβλιοθήκη χρόνου εκτέλεσης που χρησιμοποιώντας την στατικά συγκεντρωμένη πληροφορία αποφαίνεται κατά πόσο είναι ασφαλές να γίνει ένα κλείδωμα, ώστε το σύστημα να μην περιέλθει σε αδιέξοδο. Τέλος, παρουσιάζουμε μια σειρά από παραδείγματα εκτέλεσης όπου καταδεικνύεται η ορθότητα λειτουργίας του εργαλείου και αξιολογούνται οι επιδόσεις του σε σχέση με την αρχική έκδοση των προγραμμάτων. el
dc.description.abstract The last few decades have seen great rise in the development of parallel systems, which has multiplied their computational power, but at the same time has introduced several challenges in their programming, deadlock freedom being one of the most important. In this thesis, we begin with presenting statistics concerning the usage of lock primitives that were gathered from a code base of real world programs. We then introduce the implementation of a type and effect system for deadlock avoidance, which is a field where research results so far have been limited compared to deadlock prevention. Our approach targets C programs that use the Pthreads specifications. The novelties of our tool include its ability to handle non block-structured locking, the fact that it does not impose a strict lock acquisition order, like most deadlock prevention approaches, and that it does not require the user to provide any annotation on the original source code. The tool comprises both a static analysis part, which collects information regarding locking, and a runtime library which uses this gathered information and decides whether it is safe to grant a lock, in order to avoid deadlocks. We finally present a series of benchmarks that manifest the correctness of our tool and demonstrate its performance in terms of the original program. en
dc.description.statementofresponsibility Παναγιώτης Π. Βεκρής el
dc.language.iso el en
dc.rights ETDFree-policy.xml en
dc.subject Αποφυγή αδιεξόδων el
dc.subject Ταυτόχρονος προγραμματισμός el
dc.subject Σύστημα τύπων el
dc.subject C Ptheads el
dc.subject Deadlock avoidance en
dc.subject Concurrent programming en
dc.subject Type and effect system en
dc.title Υλοποίηση συστήματος τύπων για την αποφυγή αδιεξόδων σε C/Pthreads el
dc.title.alternative Implementation of a type and effect system for deadlock avoidance in C/Pthreads en
dc.type bachelorThesis el (en)
dc.date.accepted 2011-07-18 -
dc.date.modified 2011-07-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 2011-07-21 -
dc.date.recordmanipulation.recordmodified 2011-07-21 -

Files in this item

This item appears in the following Collection(s)

Show simple item record