Ταυτοχρονισμός: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μΧωρίς σύνοψη επεξεργασίας
μ Μορφοποίηση πηγών
Γραμμή 6:
 
== Προβλήματα ==
Επειδή οι υπολογισμοί σε ένα ταυτόχρονο σύστημα μπορεί να αλληλεπιδρούν καθώς εκτελούνται, ο αριθμός των πιθανών μονοπατιών εκτέλεσης στο σύστημα μπορεί να είναι πολύ μεγάλος και το τελικό αποτέλεσμα να μην προσδιορίζεται. Η ταυτόχρονη χρήση κοινόχρηστων πόρων μπορεί να προκαλεί αυτήν την απροσδιοριστία, με αποτέλεσμα να προκύπτουν αδιέξοδα (deadlocks) και η λιμοκτονία πόρων (resource starvation).<ref name="cleaveland1996">{{cite journal|lastlast1=Cleaveland|firstfirst1=Rance|coauthorslast2=Smolka|first2=Scott SmolkaA.|title=Strategic Directions in Concurrency Research|journal=ACM Computing Surveys|volume=28|issue=4|date=December, 1996|url=http://doi.acm.org/10.1145/242223.242252|pages=607|doi=10.1145/242223.242252}}</ref>
 
Η σχεδίαση ταυτόχρονων συστημάτων συχνά απαιτεί τεχνικές συντονισμού της εκτέλεσής τους, ανταλλαγής δεδομένων, δέσμευσης μνήμης και χρονοπρογραμματισμού της εκτέλεσης, ώστε να ελαχιστοποιείται ο χρόνος απόκρισης και να μεγιστοποιείται η απόδοση του συστήματος.
Γραμμή 14:
 
=== Μοντέλα ===
Έχουν αναπτυχθεί αρκετοί φορμαλισμοί για τη μοντελοποίηση και την κατανόηση των ταυτόχρονων συστημάτων, κάποιοι από αυτούς είναι:<ref>{{cite book|lastlast1=Filman|firstfirst1=Robert|coauthorslast2=Daniel Friedman|first2=Daniel|title=Coordinated Computing - Tools and Techniques for Distributed Software|year=1984|publisher=McGraw-Hill|isbn=0-07-022439-0|url=http://ic.arc.nasa.gov/people/filman/text/dpl/dpl.html|location=|page=|accessdate=2011-05-02|archiveurl=https://web.archive.org/web/20070516135233/http://ic.arc.nasa.gov/people/filman/text/dpl/dpl.html|archivedate=2007-05-16|url-status=dead}}</ref>
* Η Παράλληλη Μηχανή Τυχαίας Προσπέλασης (Parallel Random Access Machine)<ref>{{cite book | firstfirst1=Jörg | lastlast1=Keller | coauthorslast2=Christoph Keßler | first2=Christoph, Jesper Träff | title=Practical PRAM Programming | publisher=John Wiley and Sons | year=2001}}</ref>
* Το [[μοντέλο Actor]]
* Μοντέλα υπολογιστικής γεφύρωσης (computational bridging models) όπως το [[Bulk Synchronous Parallel|BSP]]
Γραμμή 25:
Κάποια από αυτά τα μοντέλο ταυτοχρονισμού έχουν σαν κύριο σκοπό τους να υποστηρίξουν τη συλλογιστική και τον ορισμό ταυτόχρονων συστημάτων, ενώ άλλα μπορούν να χρησιμοποιηθούν σε ολόκληρο τον κύκλο ανάπτυξης, συμπεριλαμβανομένης της σχεδίασης, της υλοποίησης, της απόδειξης, της δοκιμής και της εξομοίωσης των ταυτόχρονων συστημάτων.
 
Η ποικιλία διαφορετικών μοντέλων για τον ταυτοχρονισμό έκανε κάποιους ερευνητές να αναπτύξουν τρόπους να ενοποιήσουν αυτά τα διαφορετικά θεωρητικά μοντέλα. Για παράδειγμα, οι Lee και Sangiovanni-Vincentelli έδειξαν ότι ένα μοντέλο "tagged-signal" μπορεί να είναι ένα κοινό πλαίσιο για τον ορισμό [[δηλωτική σημασιολογία|δηλωτικής σημασιολογίας]] για αρκετά μοντέλα ταυτοχρονισμού,<ref>{{cite journal|unused_data=A|lastlast1=Lee|firstfirst1=Edward|coauthorslast2=Alberto Sangiovanni-Vincentelli|first2=Alberto| title= A Framework for Comparing Models of Computation|journal=[[IEEE Transactions on CAD]]|volume=17|issue=12|pages=1217–1229|date=December, 1998|doi=10.1109/43.736561}}</ref> ενώ οι Nielsen, Sassone και Winskel έδειξαν ότι η [[θεωρία κατηγοριών]] μπορεί να χρησιμοποιηθεί για να παρέχει μια παρόμοια ενοποιημένη θεώρηση διαφορετικών μοντέλων.<ref>{{cite conference|author last1= Mogens Nielsen|coauthorsfirst1=Mogens|last2= Vladimiro Sassone and Glynn |first2=Vladimiro|last3=Winskel|first3=Glynn| title = Relationships Between Models of Concurrency |booktitle = REX School/Symposium|year = 1993|url = http://citeseer.ist.psu.edu/article/nielsen94relationships.html}}</ref>
 
Το Θεώρημα Αναπαράστασης του Ταυτοχρονισμού (Concurrency Representation Theorem) στο μοντέλο Actor παρέχει έναν αρκετά γενικό τρόπο να αναπαριστώνται ταυτόχρονα συστήματα που είναι κλειστά και δε λαμβάνουν μηνύματα επικοινωνίας από τον εξωτερικό κόσμο. (Άλλα συστήματα ταυτοχρονισμού, όπως οι [[λογισμοί διεργασιών]], μπορούν να μοντελοποιηθούν στο μοντέλο Actor χρησιμοποιώντας το [[two-phase commit protocol]].<ref>Frederick Knabe. A Distributed Protocol for Channel-Based Communication with Choice PARLE 1992.</ref>) Η μαθηματική σημασία που δηλώνεται από ένα κλειστό σύστημα <tt>S</tt> κατασκευάζεται από διαδοχικές βελτιωμένες προσεγγίσεις από μια αρχική συμπεριφορά που αποκαλείται <tt>⊥<sub>S</sub></tt>, με τη χρήση μιας συνάρτησης εκτίμησης συμπεριφοράς <tt>'''progression'''<sub>S</sub></tt> για την κατασκευή μιας σημασίας για το <tt>S</tt> ως εξής:<ref name="clinger1981">{{Cite journal|author=William Clinger|title=Foundations of Actor Semantics|url=https://dspace.mit.edu/handle/1721.1/6935|publisher=MIT|version=Mathematics Doctoral Dissertation|date=June 1981}}</ref>
Γραμμή 64:
}}
* {{ cite book
| lastlast1 = Tanenbaum
| firstfirst1 = Andrew S.
| coauthorslast2 = Van Steen, Maarten
| first2 = Maarten
| title = Distributed Systems: Principles and Paradigms
| url = https://archive.org/details/distributedsyste0000tane
Γραμμή 90 ⟶ 91 :
}}
* {{ cite book
| lastlast1 = Magee, Jeff;
| firstfirst1 = Kramer, Jeff
| last2 = Kramer
| first2 = Jeff
| title = Concurrency: State Models and Java Programming
| publisher = Wiley