dc.contributor.author |
Φυτάς, Παναγιώτης
|
el |
dc.contributor.author |
Fytas, Panagiotis
|
en |
dc.date.accessioned |
2020-04-26T20:11:19Z |
|
dc.date.available |
2020-04-26T20:11:19Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/50269 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.17967 |
|
dc.rights |
Default License |
|
dc.subject |
Συστηματικός Έλεγχος Ταυτοχρονισμού |
el |
dc.subject |
Αναγωγή σε Δυναμι- κές Σχέσεις Μερικής Διάταξης |
el |
dc.subject |
Παραλληλοποίηση |
el |
dc.subject |
Ταυτοχρονισμός |
|
dc.subject |
Stateless Model Checking |
en |
dc.subject |
Systematic Concurrency Testing |
en |
dc.subject |
Dynamic Partial Order Reduction |
en |
dc.subject |
Parallelization |
en |
dc.subject |
Concurrency |
en |
dc.subject |
Erlang |
en |
dc.title |
Παραλληλοποίηση των Dynamic Partial Order Reduction Αλγορίθμων στον Concuerror |
el |
dc.contributor.department |
Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.type |
bachelorThesis |
|
heal.classification |
Τεχνολογία Λογισμικού |
el |
heal.language |
el |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2019-07-12 |
|
heal.abstract |
Ο έλεγχος και η επαλήθευση των ταυτόχρονων προγραμμάτων είναι μία πολύπλοκη
εργασία. Λόγω του μη ντετερμινιστικού τρόπου με τον οποίο δουλεύει ο scheduler ενός
συστήματος, μπορεί μόνο μερικά interleavings από διεργασίες να οδηγούν σε σφάλματα
και συνεπώς, για να ελεγχθεί η ορθότητα ενός προγράμματος, πρέπει να εξεταστούν όλα
τα πιθανά interleavings. Ο αριθμός, όμως, αυτών των interleavings είναι εκθετικός ως
προς το μέγεθος του προγράμματος και τον αριθμό των νημάτων. Η πιο αποτελεσματική
μέθοδος για να λυθεί αυτό το πρόβλημα είναι το stateless model checking με τη χρήση
αναγωγής σε δυναμικές σχέσεις μερική διάταξης (Dynamic Partial Order Reduction ή
DPOR). Καθώς τα παράλληλα συστήματα επεξεργασίας έχουν γίνει το κυρίαρχο πρότυπο
των σύγχρονων υπολογιστικών συστημάτων, η παραλληλοποίηση των διαφόρων DPOR
αλγορίθμων είναι αναγκαία για την κλιμάκωση αυτών των αλγορίθμων στους σύγχρονους
υπολογιστές.
Αυτή η διπλωματική εργασία ασχολείται με τη παραλληλοποίηση του Concuerror, ενός
stateless model checking εργαλείου που χρησιμοποιεί διάφορους DPOR αλγόριθμους για
να ελέγξει ταυτόχρονα προγράμματα γραμμένα σε Erlang. Συγκεκριμένα, εστιάσαμε
στο να σχεδιάσουμε παράλληλες εκδοχές για τα τους δύο βασικούς αλγορίθμους του
Concuerror: τον source-DPOR και τον optimal-DPOR και στο να καταστήσουμε εφικτή
την παράλληλη εξερεύνηση διαφορετικών interleavings απο τον Concuerror. Επίσης, αξιολογήσαμε την επιτάχυνση και την κλιμακωσιμότητα των υλοποιήσεων μας σε διάφορα
benchmarks που χρησιμοποιούνται ευρέως για την αξιολόγηση DPOR αλγορίθμων. Συγκεκριμένα, η υλοποίηση μας επιτυγχάνει σημαντική επιτάχυνση και καταφέρνει να διατηρήσει κλιμακωσιμότητα για 32 παράλληλους schedulers. |
el |
heal.abstract |
Testing and verifying concurrent programs is quite a daunting task. Due to the nondeterminism of the scheduler, errors can occur only on specific process interleaving sequences and therefore, all possible different schedulings should be examined. Currently,
one of the most practical methods of dealing with the combinatorial state space explosion
of this problem is a technique called Dynamic Partial Order Reduction (DPOR). As parallel
processing has become the dominant paradigm in modern computer systems, developing
parallel versions of DPOR algorithms is essential for scaling those algorithms to modern
platforms.
This diploma thesis is concerned with the parallelization of Concuerror, a stateless
model checking tool that uses various DPOR techniques for testing and verifying concurrent
Erlang programs. Specifically, we have focused on developing parallel versions for the
main DPOR algorithms implemented in Concuerror: source-DPOR and optimal-DPOR,
and on modifying Concuerror, in order to be able to explore different interleavings in
parallel. Also, we have evaluated the speedup and scalability of our implementation on
certain benchmarks that are widely used for evaluating DPOR algorithms. Specifically, our
implementation manages to achieve significant speedups, and, depending on the test case,
scale up to 32 parallel workers. |
el |
heal.advisorName |
Σαγώνας, Κωστής |
el |
heal.advisorName |
Σαγώνας, Κωστής |
el |
heal.advisorName |
Σαγώνας, Κωστής |
el |
heal.advisorName |
Σαγώνας, Κωστής |
el |
heal.advisorName |
Σαγώνας, Κωστής |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
74 σ. |
el |
heal.fullTextAvailability |
true |
|