Στατικές εγγυήσεις ασφάλειας για γλώσσες με ταυτόχρονο προγραμματισμό

Περίληψη

Τα σύγχρονα υπολογιστικά συστήματα από επιτραπέζιους υπολογιστές μέχρι υπερυπολογιστές φέρουν πολυπύρηνους (multicore) επεξεργαστές. Οι πολυπύρηνοι επεξεργαστές αποδίδουν περισσότερη υπολογιστική ισχύ σε ένα τσιπ και το λογισμικό διαδραματίζει καθοριστικό ρόλο στην αξιοποίηση της. Ο πολυνηματικός προγραμματισμός είναι ένα ευρέως χρησιμοποιούμενο πρότυπο προγραμματισμού για την αξιοποίηση του ταυτοχρονισμού σε πολυπύρηνα συστήματα. Μια εγγενής παρενέργεια αυτού του προτύπου είναι η μη ντετερμινιστική εκτέλεση των νημάτων, η οποία επιτρέπει να συμβούν ανεπιθύμητες νηματικές διεμπλοκές (thread interleavings). Τέτοιες διεμπλοκές δεν μπορούν να αναπαραχθούν εύκολα αφού εξαρτώνται από τον χρόνο, καθιστώντας δύσκολη την αξιόπιστη ανάπτυξη ταυτόχρονου λογισμικού. Οι συνθήκες ανταγωνισμού (data races) και τα αδιέξοδα (deadlocks) είναι δύο γνωστές συνέπειες της μη ντετερμινιστικής εκτέλεσης. Η συνθήκη ανταγωνισμού είναι μία κατάσταση κατά την οποία πολλαπλά νήματα έχουν ταυτόχρονη πρόσβαση στην ...
περισσότερα

Περίληψη σε άλλη γλώσσα

Modern computers ranging from desktop PC to supercomputers have multicore processors. Multi-core processors bring more computing power into a chip and software plays an essential role in utilizing this power. Multithreaded programming is a widely used paradigm for exploiting concurrency in multicore systems. An inherent side-effect of this paradigm is non-determinism of execution, which allows for invalid execution interleavings to occur. Such interleavings cannot be easily reproduced, thereby making the development of reliable concurrent software a hard task. Data races and deadlocks are two wellknown consequences of non-deterministic execution. Informally, a data race occurs when multiple threads concurrently access the same memory location without synchronization. A set of threads reaches a deadlocked state, when each thread in that set is waiting for a lock in cyclic order. This dissertation shows that it is possible to increase the reliability of concurrent programs, by eliminatin ...
περισσότερα

Όλα τα τεκμήρια στο ΕΑΔΔ προστατεύονται από πνευματικά δικαιώματα.

DOI
10.12681/eadd/28178
Διεύθυνση Handle
http://hdl.handle.net/10442/hedi/28178
ND
28178
Εναλλακτικός τίτλος
Static safety guarantees for concurrent programming languages
Συγγραφέας
Γερακιός, Πρόδρομος (Πατρώνυμο: Εμμανουήλ)
Ημερομηνία
2012
Ίδρυμα
Εθνικό Μετσόβιο Πολυτεχνείο (ΕΜΠ). Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών
Εξεταστική επιτροπή
Παπασπύρου Νικόλαος
Σαγώνας Κωνσταντίνος
Ζάχος Στάθης
Κοζύρης Νεκτάριος
Ροντογιάννης Πάνος
Σμαραγδάκης Γιάννης
Δροσοπούλου Σοφία
Επιστημονικό πεδίο
Φυσικές ΕπιστήμεςΜαθηματικά
Φυσικές ΕπιστήμεςΕπιστήμες Ηλεκτρονικών Υπολογιστών & Πληροφορικής
Λέξεις-κλειδιά
Συστήματα τύπων; Ορθότητα; Ταυτοχρονισμός; Γλώσσες προγραμματισμού; Μεταγλωττιστές; Αδιέξοδα; Διαχείριση μνήμης; Σύστημα χρόνου εκτέλεσης
Χώρα
Ελλάδα
Γλώσσα
Ελληνικά
Άλλα στοιχεία
64 σ., γραφ.
Στατιστικά χρήσης
ΠΡΟΒΟΛΕΣ
Αφορά στις μοναδικές επισκέψεις της διδακτορικής διατριβής για την χρονική περίοδο 07/2018 - 07/2023.
Πηγή: Google Analytics.
ΞΕΦΥΛΛΙΣΜΑΤΑ
Αφορά στο άνοιγμα του online αναγνώστη για την χρονική περίοδο 07/2018 - 07/2023.
Πηγή: Google Analytics.
ΜΕΤΑΦΟΡΤΩΣΕΙΣ
Αφορά στο σύνολο των μεταφορτώσων του αρχείου της διδακτορικής διατριβής.
Πηγή: Εθνικό Αρχείο Διδακτορικών Διατριβών.
ΧΡΗΣΤΕΣ
Αφορά στους συνδεδεμένους στο σύστημα χρήστες οι οποίοι έχουν αλληλεπιδράσει με τη διδακτορική διατριβή. Ως επί το πλείστον, αφορά τις μεταφορτώσεις.
Πηγή: Εθνικό Αρχείο Διδακτορικών Διατριβών.