ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

Σχετικά έγγραφα
ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ. Τεχνολογίες Υπολογιστικού Νέφους

ΜΑΘΗΜΑ: Υπολογιστικά Νέφη

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών

Παράλληλη Επεξεργασία Κεφάλαιο 1 Γιατί Παράλληλος Προγραμματισμός;

Αρχιτεκτονική Υπολογιστών

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Λειτουργικά συστήματα πραγματικού χρόνου

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κεφάλαιο 3. Διδακτικοί Στόχοι

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Η ΤΑΞΙΝΟΜΗΣΗ ΤΟΥ FLYNN!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας

Αμοιβαίος αποκλεισμός

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Καθολικέςκαταστάσεις. Ορισµοί Κατασκευή καθολικών καταστάσεων Παθητική στρατηγική Ενεργητική στρατηγική. Κατανεµηµένα Συστήµατα 04-1

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

2. Στοιχεία Αρχιτεκτονικής Παράλληλων Υπολογιστών... 45

Αµοιβαίοςαποκλεισµός. Κατανεµηµένα Συστήµατα 03-1

Κατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Αρχιτεκτονική υπολογιστών

Πρωτόκολλα Ελέγχου προσπέλασης μέσου

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Ειδικά Θέματα Δικτύων Ι

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Λειτουργικά Συστήματα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Παραλληλισμός σε επίπεδο εντολών

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Αρχιτεκτονική Υπολογιστών

Επικοινωνία Client/Server

Κατανεμημένα Συστήματα

Οργάνωση Υπολογιστών (IΙI)

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αξιόπιστη μεταφορά δεδομένων πάνω από αναξιόπιστο δίκτυο. Κατανεμημένα Συστήματα 1

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

Πολυπύρηνοι επεξεργαστές Multicore processors

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Συστήματα πολυμέσων. Εισαγωγή Υλικό συστημάτων πολυμέσων Λογισμικό συστημάτων πολυμέσων Συστήματα πραγματικού χρόνου Χρονοπρογραμματισμός

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Ενότητα 3. Στρώµα Ζεύξης: Αρχές Λειτουργίας & Το Υπόδειγµα του Ethernet

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 4: Λογισμικό Συστήματος

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Λειτουργικά Συστήματα. Ενότητα # 6: Αδιέξοδα Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Κατανεμημένα Συστήματα Ι

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εισαγωγή στην Πληροφορική

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

Κατανεμημένα Συστήματα με Java. Ενότητα # 2: Διάταξη συμβάντων, καθολικές καταστάσεις Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Λιβανός Γιώργος Εξάμηνο 2017Β

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος

Αναπαραγωγή με αρχεία ήχου

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

Ειδικά Θέματα Δικτύων Ι

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

Λειτουργικά Συστήματα Η/Υ

Κεφάλαιο 5: Τοπικά ίκτυα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 6 : Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Δρ.

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Μετακινούμενος Κώδικας (Mobile Code) Κατανεμημένα Συστήματα 1

Transcript:

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Τεχνολογίες Υπολογιστικού Νέφους ΔΙΑΛΕΞΗ 2: ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΥΠΟΛΟΓΙΣΤΙΚΟΥ ΝΕΦΟΥΣ ΒΑΣΙΛΕΙΟΣ Δ. ΤΣΑΚΑΝΙΚΑΣ

Σκοπός της Ενότητας Σκοπός της ενότητας είναι η περιγραφή των βασικών ζητημάτων της υπολογιστικής νέφους

Περιεχόμενa Ο δρόμος για την υπολογιστική νέφους. Πρωτόκολλα επικοινωνίας Συντονισμός Παράλληλη επεξεργασία. Χρόνος και χρονικά διαστήματα. Ταυτοχρονισμός: Λειτουργία και αδιέξοδα. Προκλήσεις. Λογικά ρολόγια. Παραλληλισμός. Κανόνες παράδοσης μηνυμάτων. Επίπεδα παραλληλισμού. Εκτελέσεις και τεμάχια. Αρχιτεκτονική παράλληλων υπολογιστών Συνεπής και ασυνεπής τεμάχια κι εκτελέσεις. Κατανεμημένα συστήματα. Το πρωτόκολλο στιγμιότυπων Chandy & Lamport Επιθυμητές ιδιότητες ενός κατανεμημένου συστήματος. Ταυτοχρονισμός. Διεργασίες, νήματα και συμβάντα. Μηνύματα και κανάλια επικοινωνίας Παγκόσμια κατάσταση μίας ομάδας διεργασιών, Ατομικές δράσεις. Ατομικότητα "όλα ή τίποτα' Μοντέλα αποθήκευσης. Ατομικότητα

Ο δρόμος για την υπολογιστική νέφους (1/2) Η υπολογιστική νέφους βασίζεται στις ιδέες και την εμπειρία στο αντικείμενο των παράλληλων και κατανεμημένων συστημάτων. Οι εφαρμογές νέφους βασίζονται στο μοντέλο client-server με ένα σχετικά απλό λογισμικό, έναν thin-client, να εκτελείται στο σύστημα του χρήστη, ενώ οι υπολογισμοί πραγματοποιούνται στο νέφος. Ο ταυτοχρονισμός είναι σημαντικός: Πολλές εφαρμογές νέφους χρησιμοποιούν μεγάλες ποσότητες δεδομένων και χρειάζονται έναν μεγάλο αριθμό από instances που εκτελούνται ταυτόχρονα.

Ο δρόμος για την υπολογιστική νέφους (2/2) Χρήση διαδικασιών επανεκκίνησης όσο πολλοί υπολογισμοί εκτελούνται για μία μεγάλη χρονική περίοδο σε πολλαπλούς servers. Σημεία ελέγχου λαμβάνονται περιοδικά εν αναμονή της ανάγκης για επανεκκίνηση μίας διεργασίας όταν ένα ή περισσότερα συστήματα αποτυγχάνουν. Η επικοινωνία είναι η καρδιά της υπολογιστικής νέφους. Τα πρωτόκολλα επικοινωνίας που υποστηρίζουν συνεργασία μεταξύ κατανεμημένων διεργασιών εκτελούνται πάνω από αναξιόπιστα κανάλια, όπου μπορούν να συμβούν απώλειες πακέτων, εμφάνιση διπλότυπων, αλλαγή της σειράς των μηνυμάτων κτλ.

Παράλληλη επεξεργασία (1/2) Τα παράλληλα συστήματα υλικού και λογισμικού επιτρέπουν τα παρακάτω: Την επίλυση του προβλήματος της απαίτησης πόρων που δεν είναι διαθέσιμοι σε ένα απλό σύστημα. Τη μείωση του απαιτούμενου χρόνου για την g εύρεση μίας λύσης. Το S υπολογίζει την αποτελεσματικότητα του παραλληλισμού: S(N) = T(1) / T(N) T(1): Ο χρόνος εκτέλεσης ενός σειριακού υπολογισμού. T(N): Ο χρόνος εκτέλεσης όταν εκτελούνται N παράλληλοι υπολογισμοί.

Παράλληλη επεξεργασία (2/2) Amdahl's Law: Αν α είναι το ποσοστό του χρόνου εκτέλεσης ενός σειριακού προγράμματος, τότε: S = 1/a Gustafson's Law: Η κλιμακούμενη αύξηση της απόδοσης με N παράλληλες διεργασίες: S(N) = N - α( N-1)

Ταυτοχρονισμός: Λειτουργία και αδιέξοδα (1/2) Η ταυτόχρονη εκτέλεση διεργασιών αποτελεί μία πρόκληση. Θα μπορούσε να οδηγήσει σε συνθήκες αγώνα, ένα ανεπιθύμητο αποτέλεσμα, όταν τα αποτελέσματα της ταυτόχρονης εκτέλεσης εξαρτώνται από την αλληλουχία των γεγονότων. Οι κοινόχρηστοι πόροι πρέπει να προστατεύονται με χρήση κλειδαριών/ σημαφόρων/ ελεγκτών ώστε να εξασφαλίζεται σειριακή πρόσβαση σε αυτούς. Deadlocks και livelocks είναι πιθανά.

Ταυτοχρονισμός: Λειτουργία και αδιέξοδα (2/2) Οι τέσσερεις συνθήκες του Coffman για ένα deadlock: Αμοιβαίος αποκλεισμός: Τουλάχιστον ένας πόρος είναι μη-κοινόχρηστος και μόνο μία διεργασία / νήμα μπορεί να χρησιμοποιήσει τον πόρο σε κάθε δεδομένη στιγμή. Σταμάτημα κι αναμονή: Τουλάχιστον μία διεργασία / νήμα κατέχει έναν ή περισσότερους πόρους και περιμένει για τους υπόλοιπους αναγκαίους πόρους Καμία προτίμηση: Ο χρονοπρογραμματιστής ή ο ελεγκτής δεν είναι σε θέση να αναγκάσει μία διαδικασία / νήμα που κατέχει έναν πόρο να τον παραχωρήσει. Κυκλική αναμονή: Δωθέντος του συνόλου n διεργασιών / νημάτων {PI, P2, P3,...,Pn } μία S διεργασία P1 αναμένει για έναν πόρο που κρατείται από την P2, η P2 αναμένει για έναν πόρο που κρατείται από την P3 κτλ., και η Pn αναμένει για έναν πόρο που κρατείται από την P1.

Προκλήσεις (1/3) Κατάσταση Livelock: Δύο ή περισσότερες διεργασίες / νήματα συνεχώς αλλάζουν την κατάστασή τους σε απόκριση μεταβολών στις άλλες διεργασίες. Καμία από τις διεργασίες δεν μπορεί να ολοκληρώσει την εκτέλεσή της. Πολύ συχνά διεργασίες / νήματα που εκτελούνται ταυτόχρονα διαθέτουν προτεραιότητες και χρονοπρογραμματίζονται σύμφωνα με αυτές. Η αντιστροφή μίας προτεραιότητας, ορίζει ότι μία υψηλότερης προτεραιότητας διεργασία / νήμα έμμεσα προσπερνιέται από μία χαμηλότερης Ι προτεραιότητας διεργασία / νήμα. Η επίτευξη παραλληλισμού είναι συχνά δύσκολη και η ανάπτυξη των παράλληλων αλγορίθμων απαιτεί σημαντική προσπάθεια. Για παράδειγμα, πολλά προβλήματα αριθμητικής sανάλυσης, όπως η επίλυση μεγάλων συστημάτων γραμμικών εξισώσεων ή συστημάτων του ΜΔΕ (Μερικές Διαφορικές Εξισώσεις), απαιτεί αλγόριθμους που βασίζονται σε μεθόδους αποσύνθεσης (decomposition methods).

Παραλληλισμός (1/2) Παραλληλισμός fine-grain Σχετικά μικρά τμήματα του κώδικα μπορούν να εκτελεστούν παράλληλα, χωρίς την ανάγκη επικοινωνίας ή να συγχρονισμού με άλλα νήματα ή διεργασίες. Παραλληλισμός coarse-grain Μεγάλα τμήματα του κώδικα μπορούν να εκτελεστούν παράλληλα Η επιτάχυνση των εφαρμογών με παραλληλισμό fine-grain είναι σημαντικά μικρότερη από τις εφαρμογές όπου εφαρμόζεται παραλληλισμός coarsegrain. Η ταχύτητα του επεξεργαστή είναι τάξεις μεγέθους μεγαλύτερη από την ταχύτητα επικοινωνίας ακόμη και σε συστήματα με γρήγορες διασυνδέσεις

Παραλληλισμός (2/2) Παραλληλισμός δεδομένων. Τα δεδομένα χωρίζονται σε διάφορα μπλοκ και I τα μπλοκ επεξεργάζονται παράλληλα. Ίδιο πρόγραμμα πολλαπλά δεδομένων. Same Program Multiple Data (SPMD). Παραλληλισμός δεδομένων όταν πολλαπλά αντίγραφα του ίδιου προγράμματος εκτελούνται ταυτόχρονα, κάθε ένα με διαφορετικό μπλοκ δεδομένων

Επίπεδα Παραλληλισμού Παραλληλισμός επιπέδου bit Ο αριθμός των bits που βρίσκονται σε επεξεργασία ανά κύκλο ρολογιού, που συχνά χαρακτηρίζεται ως μέγεθος λέξης (word size), αυξήθηκε σταδιακά από 4-bit, σε 8-bit, 16-bit, 32-bit και 64-bit. Το γεγονός αυτό μείωσε τον αριθμό των οδηγιών που απαιτούνται για την επεξεργασία τελεστών μεγαλύτερου μεγέθους και επέτρεψε μία σημαντική βελτίωση των επιδόσεων Κατά τη διάρκεια αυτής της εξελικτικής διαδικασίας, ο αριθμός των bits προσδιορισμού των διευθύνσεων της μνήμης έχει αυξήθηκε επίσης, επιτρέποντας στις οδηγίες να αναφέρονται σε ένα μεγαλύτερο χώρο διευθύνσεων και κατ επέκταση να μπορούν να χρησιμοποιούν μεγαλύτερες ποσότητες μνήμης. Παραλληλισμός επιπέδου οδηγίας. Οι σημερινοί υπολογιστές χρησιμοποιούν αγωγούς (pipelines) επεξεργασίας πολλαπλών σταδίων (multi stage) για την επιτάχυνση της εκτέλεσης. Παραλληλισμός δεδομένων ή παραλληλισμός βρόχου επανάληψης. Οι βρόχοι του προγράμματος μπορούν να υποβάλλονται σε επεξεργασία παράλληλα. Παραλληλισμός εργασιών. Το πρόβλημα μπορεί να αποσυντεθεί σε εργασίες που μπορούν να εκτελεσθούν ταυτόχρονα (π.χ. SPMD). Σημειώνουμε ότι εξαρτήσεις δεδομένων προκαλούν διαφορετικές ροές ελέγχου σε επιμέρους εργασίες.

Αρχιτεκτονική παράλληλων υπολογιστών (1/2) Η ταξινόμηση Michael Flynn των αρχιτεκτονικών υπολογιστών βασίζεται στον αριθμό των ταυτόχρονων ρευμάτων ελέγχου / εντολών και I δεδομένων. Απλή εντολή απλά δεδομένα. Single Instruction Single Data (SISD). Κλιμακωτή αρχιτεκτονική με έναν επεξεργαστή / πυρήνα επεξεργασίας. Απλή εντολή πολλαπλά δεδομένα. Single Instruction, Multiple Data (SIMD). Υποστηρίζει την επεξεργασία διανυσμάτων. Όταν πραγματοποιείται μία εντολή SIMD, οιεργασίες σχετικά με τα επιμέρους συστατικά του διανύσματος πραγματοποιούνται ταυτόχρονα

Αρχιτεκτονική παράλληλων υπολογιστών (2/2) Πολλαπλές εντολές πολλαπλά δεδομένα. Multiple Instructions, Multiple Data (MIMD). Ένα σύστημα με πολλούς επεξεργαστές ή/και πυρήνες που λειτουργούν ασύγχρονα και ανεξάρτητα. Διαφορετικοί επεξεργαστές/πυρήνες μπορούν να εκτελούν διαφορετικές οδηγίες για διαφορετικά δεδομένα, ταυτόχρονα. Διακρίνουμε διάφορους τύπους συστημάτων. Ενιαία πρόσβαση στη μνήμη (Uniform Memory Access - UMA). Πρόσβαση μόνο στην κρυφή μνήμη (Cache Only Memory Access - COMA). Μη-ενιαία πρόσβαση στη μνήμη (Non-Uniform Memory Access - NUMA).

Κατανεμημένα συστήματα (1/2) Μία συλλογή αυτόνομων υπολογιστικών συστημάτων, που συνδέονται μέσω ενός δικτύου κι ενός λογισμικού που ονομάζεται middleware και τους να συντονίσουν τις δραστηριότητές τους και να μοιράζονται τους πόρους του συστήματος. Χαρακτηριστικά: Οι χρήστες αντιλαμβάνονται το σύστημα ως μία ενιαία, ολοκληρωμένη εγκατάσταση υπολογιστών. Τα συστατικά είναι αυτόνομα. Οι πόροι μπορεί να μην είναι προσβάσιμοι ανά πάσα στιγμή.

Κατανεμημένα συστήματα (2/2) Οι πολιτικές χρονοπρογραμματισμού, διαχείρισης των πόρων και ασφάλειας υλοποιούνται από κάθε επιμέρους σύστημα. Υπάρχουν πολλαπλά σημεία ελέγχου και πολλαπλά σημεία αποτυχίας (multiple points of failure). Μπορεί να κλιμακωθεί με την προσθήκη πρόσθετων πόρων. Μπορεί να σχεδιαστεί για να διατηρηθεί η διαθεσιμότητα ακόμη και με υλικό / λογισμικό / δίκτυο με χαμηλά επίπεδα αξιοπιστίας.

Επιθυμητές ιδιότητες ενός κατανεμημένου συστήματος (1/2) Διαφάνεια πρόσβασης. Οι τοπικές και οι απομακρυσμένες πληροφορίες είναι πρόσβασιμες με τον ίδιο τρόπο. Διαφάνεια τοποθεσίας. Οι πληροφορίες αντικείμενα πρόσβαση χωρίς γνώση της θέσης τους. Διαφάνεια ταυτοχρονισμού. Πολλές διεργασίες εκτελούνται ταυτόχρονα με τη χρήση κοινόχρηστων πληροφοριών χωρίς να επηρεάζει η μία την άλλη. Διαφάνεια αντιγραφής. Η ύπαρξη πολλαπλών αντιγράφων της ίδιας πληροφορίας αυξάνει την αξιοπιστία του συστήματος. Οι χρήστες και οι εφαρμογές δεν αντιλαμβάνονται την I ύπαρξη των πολλαπλών αντιγράφων.

Επιθυμητές ιδιότητες ενός κατανεμημένου συστήματος (2/2) Διαφάνεια αποτυχίας Η συγκάλυψη των βλαβών των υποσυστημάτων, ώστε αυτές να μην γίνονται αντιληπτές από τους χρήστες ή τις εφαρμογές. Διαφάνεια μετανάστευσης Οι πληροφορίες στο σύστημα μετακινούνται χωρίς να επηρεάζονται οι διεργασίες που τις χρησιμοποιούν. Διαφάνεια απόδοσης Το σύστημα μπορεί να επαναρυθμιστεί με βάση το φορτίο και τις απαιτήσεις ποιότητας της υπηρεσίας. Διαφάνεια κλιμάκωσης Το σύστημα και οι εφαρμογές μπορούν να κλιμακωθούν χωρίς αλλαγή στη δομή του συστήματος και χωρίς να επηρεάζονται οι εφαρμογές.

Διεργασίες, νήματα και συμβάντα (1/2) Κατανεμόμενες μονάδες: Διεργασία: Ένα πρόγραμμα σε εκτέλεση. Νήμα: Μία ελαφριά (light-weight) διεργασία. Κατάσταση μίας διεργασίας / νήματος: Το σύνολο 1 των πληροφοριών που θα πρέπει να ξαναξεκινήσει μια διεργασία / νήμα ύστερα από αναστολή της. Συμβάν: Είναι μία αλλαγή της κατάστασης μίας διεργασίας. Τοπικά συμβάντα. Συμβάντα επικοινωνίας.

Διεργασίες, νήματα και συμβάντα (2/2) Ομάδα διεργασιών. Μία συλλογή συνεργαζόμενων διεργασιών. Οι διαδικασίες επικοινωνούν μεταξύ τους και λειτουργούν σε συνεννόηση, προκειμένου να επιτευχθεί ένας κοινός στόχος. Η παγκόσμια κατάσταση ενός κατανεμημένου συστήματος που αποτελείται από πολλές διεργασίες και κανάλια επικοινωνίας, είναι ο συνδυασμός των καταστάσεων αυτών των διεργασιών και καναλιών.

Μηνύματα και κανάλια Επικοινωνίας (1/4) Μήνυμα Μία δομημένη μονάδα πληροφοριών. Κανάλι επικοινωνίας Παρέχει τα μέσα για τις διεργασίες ή τα νήματα ώστε να επικοινωνούν μεταξύ τους ανταλλάσσοντας μηνύματα και να συντονίζουν τις ενέργειές τους. Η επικοινωνία γίνεται μόνο με τη βοήθεια των συμβάντων αποστολής send(m) και της λήψης receive(m), με όπου m είναι ένα μήνυμα Η κατάσταση ενός καναλιού επικοινωνίας: Δοθέντων δύο διεργασιών pi και pj, η κατάσταση του καναλιού ci,j, από την pi στην pj αποτελείται από τα μηνύματα που έχουν αποσταλεί από την pi αλλά δεν έχουν ακόμη παραληφθεί από την pj. Πρωτόκολλο Ένα πεπερασμένο σύνολο μηνυμάτων που ανταλλάσσονται μεταξύ των διεργασιών ώστε να τις βοηθήσουν να συντονίσουν τις ενέργειές τους.

Μηνύματα και κανάλια Επικοινωνίας (2/4) Τα χωροχρονικά διαγράμματα απεικονίζουν τοπικά συμβάντα και συμβάντα επικοινωνίας κατά τη διάρκεια εκτέλεσης μίας διεργασίας. Τα τοπικά συμβάντα απεικονίζονται ως μικροί μαύροι κύκλοι. Τα συμβάντα επικοινωνίας μεταξύ διαφορετικών διαδικασιών απεικονίζονται ως με γραμμές από το συμβάν αποστολής μέχρι το συμβάν λήψης. Όλα τα συμβάντα στη διεργασία p1 είναι τοπικά. Η διεργασία είναι σε κατάσταση s1 αμέσως μετά την επέλευση του συμβάντος e11 και παραμένει σε αυτή την κατάσταση μέχρι την επέλευση του ο συμβάντος e12

Μηνύματα και κανάλια Επικοινωνίας (3/4) Δύο διεργασίες p1 και p2. Το συμβάν e12 είναι ένα συμβάν επικοινωνίας, όπου η διεργασία p1 στέλνει ένα μήνυμα στην p2. Το συμβάν e23 είναι ένα συμβάν επικοινωνίας, όπου η διεργασία p2 λαμβάνει το μήνυμα που απέστειλε η p1.

Μηνύματα και κανάλια Επικοινωνίας (4/4) Τρείς διεργασίες αλληλεπιδρούν μέσω συμβάντων επικοινωνίας

Παγκόσμια κατάσταση μιας ομάδας διεργασιών (1/2) Οι παγκόσμιες καταστάσεις ενός κατανεμημένου υπολογισμού με n διεργασίες σχηματίζουν ένα η-διάστατο πλέγμα. Πόσες διαδρομές υπάρχουν ώστε να φθάσουμε μία παγκόσμια υπαρκτή κατάσταση; Όσο περισσότερες είναι οι διαδρομές, τόσο πιο δύσκολο είναι να εντοπιστούν τα γεγονότα που οδήγησαν σε μια δεδομένη κατάσταση Ένας μεγάλος αριθμός διαδρομών αυξάνει τις δυσκολίες αποσφαλμάτωσης του συστήματος. Σε περίπτωση δύο νημάτων, ο αριθμός των διαδρομών από την αρχική κατάσταση Σ(0,0) στην κατάσταση Σ(m, n) είναι: N(m, n) = (m + n) / (m!n!) Στην περίπτωση που έχουμε δύο διαστάσεις, η παγκόσμια κατάσταση Σ(m, n) μπορεί να επιτευχθεί μόνο από δύο καταστείς, Z(m-1, n) και Σ(m, n-1)

Πρωτόκολλα επικοινωνίας - Συντονισμός (1/3) Η ορθή επικοινωνία όταν υπάρχουν σφάλμα καναλιού, είναι ξ μια σημαντική ανησυχία. Είναι αδύνατο να εγγυηθεί ότι δύο διαδικασίες θα καταλήξουν σε συμφωνία σε περίπτωση ύπαρξης σφαλμάτων στο κανάλι. Στην πράξη, η ανίχνευση και οι κώδικες διόρθωσης Ι σφαλμάτων επιτρέπουν σε διαδικασίες να επικοινωνούν ο αξιόπιστα πάνω από θορυβώδη κανάλια. Η αξιοπιστία της μεταφοράς ενός μηνύματος αυξάνεται προσθέτοντας περισσότερα bits και πακετάροντας το μήνυμα ως κωδική λέξη (codeword).

Πρωτόκολλα επικοινωνίας - Συντονισμός (2/3) Τα πρωτόκολλα επικοινωνίας εφαρμόζουν: Μηχανισμών ελέγχου σφάλματων. Με τη χρήση αλγορίθμων ανίχνευσης και διόρθωσης σφαλμάτων. Έλεγχος ροής. Παρέχει ανατροφοδότηση από το δέκτη και αναγκάζει τον αποστολέα να μεταδίδει μόνο το ποσό των δεδομένων που ο δέκτης μπορεί να χειριστεί. Έλεγχος συμφόρησης Διασφαλίζει ότι το προσφερόμενο φορτίο του δικτύου δεν υπερβαίνει τη χωρητικότητα του δικτύου.

Πρωτόκολλα επικοινωνίας - Συντονισμός (2/3) Διαδικασία συντονισμού με την παρουσία σφαλμάτων στο κανάλι. Η πιθανότητα απώλειας κάθε μηνύματος εκφράζεται με ε. Ένα πρωτόκολλο που περιλαμβάνει n μηνύματα, θα πρέπει να είναι σε θέση να λειτουργήσει σωστά αν n-1 μηνύματα φθάσουν στον προορισμό τους και 1 χαθεί.

Χρόνος και χρονικά διαστήματα Ο συντονισμός διεργασιών απαιτεί: Μια σφαιρική αντίληψη των συνεργαζόμενων οντοτήτων για τον κοινόχρηστο χρόνο. Η μέτρηση των χρονικών διαστημάτων (time intervals), εκφράζει ο χρόνος που μεσολάβησε μεταξύ δύο συμβάντων. Δύο συμβάντα στην παγκόσμια ιστορία του 1 συστήματος μπορεί να μη σχετίζονται μεταξύ τους, ούτε το ένα να αποτελεί αιτία του άλλου. Αυτά τα γεγονότα χαρακτηρίζονται ως παράλληλα. Τα τοπικά χρονομετρα παρέχουν σχετικες μετρήσεις του χρονου. Ένα απομονωμένο σύστημα μπορεί να χαρακτηριστεί από την ιστορία του, η οποία εκφράζεται ως μία ακολουθία συμβάντων, κάθε ένα από τα οποία αντιστοιχεί σε μια αλλαγή της κατάστασης του συστήματος. Η Παγκόσμια συμφωνία για τον χρόνο είναι απαραίτητη για να προκαλέσει ενέργειες που θα πρέπει να συμβαίνουν ταυτόχρονα. Οι χρονικές σημάνσεις (timestamps) χρησιμοποιούνται συχνά για την ταξινόμηση συμβάντων χρησιμοποιώντας μία βάση παγκόσμιου χρόνου

Λογικά ρολόγια (1/2) Λογικό ρολόι (logical clock - LC). Μία γενίκευση, η οποία είναι αναγκαία για την εξασφάλιση της κατάσταση του ρολογιού όταν απουσιάζει ένα παγκόσμιο ρολόι Μία διεργασία αντιστοιχίζει γεγονότα σε θετικούς ακέραιους αριθμούς. Η τοπική μεταβλητή που σχετίζεται με το συμβάν e εκφράζεται ως LC(e). Κάθε διεργασία προσθέτει μία χρονοσφραγίδα σε κάθε μήνυμα m που στέλνει με την τιμή του λογικού ρολογιού κατά τη στιγμή της αποστολής: TS(m) = LC(send(m)) Οι κανόνες για την ενημέρωση του λογικού ρολογιού: Αν e είναι ένα τοπικό συμβάν: LC(e) = LC + 1 Αν e είναι ένα συμβάν λήψης: LC(e) = max (LC, (TS(m)+1))

Λογικά ρολόγια (2/2) Τρεις διαδικασίες και τα λογικά ρολόγια τους. 1 2 3 4 5 12

Κανόνες παράδοσης μηνυμάτων(1/3) Η αφαιρετικότητα του καναλιού επικοινωνίας δεν κάνει υποθέσεις σχετικά με τη σειρά των μηνυμάτων Η σειρά των μηνυμάτων μπορεί να αλλάξει σε ένα δίκτυο. Παράδοση First-In-First-Out (FIFO). Τα μηνύματα παραδίδονται στην ίδια σειρά με την οποία αποστέλλονται. Αιτιατή παράδοση. Μία επέκταση της παράδοσης FIFO για την περίπτωση κατά την οποία μία διεργασία λαμβάνει μηνύματα από διαφορετικές πηγές. Ακόμη και αν το κανάλι επικοινωνίας δεν εγγυάται την παράδοση FIFO, η παράδοση FIFO μπορεί να επιβληθεί με την προσάρτηση ενός αύξοντα αριθμού ακολουθίας σε κάθε μήνυμα που αποστέλλεται. Οι αριθμοί ακολουθίας χρησιμοποιούνται επίσης για επανασυναρμολόγηση των μηνυμάτων εκτός από τα μεμονωμένα πακέτα.

Κανόνες παράδοσης μηνυμάτων(2/3) Λήψη μηνύματος και παράδοση μηνύματος είναι δύο διαφορετικές λειτουργίες. Η διεπαφή καναλιού-διεργασίας εφαρμόζει τους κανόνες παράδοσης, π.χ. παράδοση FIFO

Κανόνες παράδοσης μηνυμάτων(3/3) Παραβίαση της αιτιατής παράδοσης όταν εμπλέκονται περισσότερες από δύο διεργασίες. Το μήνυμα m1 παραδίδεται στη διεργασία p2 μετά από το μήνυμα m3, αν και το μήνυμα m1 εστάλη νωρίτερα.

Εκτελέσεις και Τεμάχια Εκτέλεση Τομή Μία συνολική ταξινόμηση όλων των συμβάντων στην παγκόσμια ιστορία ενός κατανεμημένου υπολογισμού σύμφωνα με την τοπική ιστορία της κάθε επιμέρους διεργασίας. Μία εκτέλεση συνεπάγεται μία αλληλουχία συμβάντων, καθώς και μία ακολουθία των παγκόσμιων καταστάσεων. Ένα υποσύνολο της τοπικής ιστορίας όλων των διεργασιών. Όρια της τομής στην παγκόσμια ιστορία του n διεργασιών. Μία n-άδα που αποτελείται από το τελευταίο συμβάν κάθε διεργασίας που περιλαμβάνεται στην τομή. Οι τομές παρέχουν τη διαίσθηση για τη δημιουργία παγκόσμιων καταστάσεων με I βάση την ανταλλαγή των μηνυμάτων μεταξύ ενός ελεγκτή και μίας ομάδας διεργασιών. Μία τομή αντιπροσωπεύει το παράδειγμα, όταν τα μέλη της ομάδας λαμβάνουν αιτήσεις για αναφορά της ατομικής κατάστασης.

Συνεπής και ασυνεπής τεμάχια και εκτελέσεις Συνεπής τομή. Μία τομή που περιορίζεται στο πλαίσιο της αιτιατής σχέσης προτεραιότητα. Μία συνεπής τομή δημιουργεί ένα παράδειγμα ενός κατανεμημένου υπολογισμού. Δοθείσας μίας συνεπούς τομής μπορούμε να καθορίσουμε αν ένα συμβάν e συνέβη πριν από την τομή Συνεπής εκτέλεση Η συνολική ταξινόμηση των γεγονότων που επιβάλλονται από την εκτέλεση είναι σύμφωνη με τη μερική ταξινόμηση που επιβάλλει η αιτιατή σχέση Το συνεπές ιστορικό ενός συμβάντος e είναι η μικρότερη συνεπής τομή της ομάδας διεργασιών που περιλαμβάνει το συμβάν e.

Το πρωτόκολλο στιγμιότυπων Chandy & Lamport Ένα πρωτόκολλο για την κατασκευή συνεπών παγκόσμιων καταστάσεων Το πρωτόκολλο έχει τρία στάδια: Η διεργασία p0 στέλνει στον εαυτό της ένα μήνυμα λήψης στιγμιοτύπου. Έστω pf η διεργασία από την οποία η pi λαμβάνει το μήνυμα λήψης στιγμιοτύπου για πρώτη φορά. Μετά τη λήψη του μηνύματος, η διαδικασία pi καταγράφει την τοπική κατάσταση και αναμεταδίδει το μήνυμα λήψης στιγμιοτύπου κατά μήκος όλων των εξερχόμενων καναλιών χωρίς εκτέλεσης γεγονότα για λογαριασμό του υποκείμενου υπολογισμού του (underlying computation). Η κατάσταση του καναλιού έχει οριστεί σε κενό και η διεργασία pi αρχίζει την καταγραφή των μηνυμάτων που λαμβάνονται από κάθε ένα από τα εισερχόμενα κανάλια. Έστω ps είναι η διεργασία από την οποία η pi λαμβάνει το μήνυμα να λήψης στιγμιοτύπου μετά από την πρώτη φορά. Η διεργασία pi σταματάει την εγγραφή μηνυμάτων από το εισερχόμενο κανάλι από την ps και δηλώνει την κατάσταση αυτού του καναλιού καθώς τα σχετικά μηνύματα έχουν καταγραφεί.

Ταυτοχρονισμός Απαιτείται από το σύστημα και από το λογισμικό εφαρμογής: Τα αντιδραστικά συστήματα (reactive systems) ανταποκρίνονται σε εξωτερικά γεγονότα. Για παράδειγμα, ο πυρήνας ενός λειτουργικού συστήματος, τα ενσωματωμένα συστήματα. Βελτίωση απόδοσης. Παράλληλες εφαρμογές μοιράζουν το φόρτο εργασίας και τον διανείμει σε πολλαπλά νήματα που τρέχουν ταυτόχρονα. Υποστήριξη μεταβλητού φόρτου και μείωση του χρόνου απόκρισης: Κατανεμημένες εφαρμογές, συμπεριλαμβανομένων των συστημάτων διαχείρισης συναλλαγών και εφαρμογών που βασίζονται στο μοντέλο client- server

Ατομικές δράσεις (1/2) Οι παράλληλες και κατανεμημένες εφαρμογές πρέπει να λαμβάνουν ειδικές προφυλάξεις για το χειρισμό κοινών πόρων. Ατομική λειτουργία. Θα πρέπει να επιτραπεί σε μία λειτουργία πολλαπλών σταδίων για να ολοκληρωθεί χωρίς καμία διακοπή. Αποκρύπτοντας την εσωτερική κατάσταση μίας ατομικής λειτουργίας, μειώνεται ο αριθμός των καταστάσεων στις οποίες μπορεί να βρεθεί το σύστημα. Έτσι, απλοποιείται ο σχεδιασμός και η συντήρηση του συστήματος. Η ατομικότητα απαιτεί υποστήριξη από το υλικό (hardware): Δοκιμή και Ρύθμιση (Test-and-Set). Εντολή που εγγράφει σε μία θέση μνήμης και επιστρέφει το < παλιό περιεχόμενο της εν λόγω θέσης ως μη διακοπτόμενο Σύγκριση και Ανταλλαγή (Compare-and-Swap). Εντολή που συγκρίνει τα περιεχόμενα μιας θέσης μνήμης με μία δεδομένη τιμή και μόνο αν οι δύο τιμές είναι ίδιες, τροποποιεί τα περιεχόμενα της εν λόγω θέσης μνήμης καταχωρώντας μία νέα τιμή.

Ατομικότητα "όλα ή τίποτα" (1/3) Είτε πραγματοποιείται η συνολική ατομική λειτουργία. Είτε το σύστημα παραμένει στην ίδια κατάσταση που ήταν πριν από την έναρξη της ατομικής λειτουργίας, μία συναλλαγή. Είτε πραγματοποιείται με επιτυχία. Είτε η εγγραφή που στοχεύεται από τη συναλλαγή επιστρέφει στην αρχική της κατάσταση. Δύο φάσεις: Πριν από τη δέσμευση. Μετά από τη δέσμευση.

Ατομικότητα "όλα ή τίποτα" (2/3) Πριν από τη δέσμευση: Κατά τη διάρκεια αυτής της φάσης θα πρέπει να είναι δυνατό να την σταματήσουμε χωρίς να απομείνει κανένα ίχνος από αυτή. Σημείο δέσμευσης: Το σημείο όπου πραγματοποιείται μετάβαση από την πρώτη στη δεύτερη φάση. Πρέπει να πραγματοποιηθούν όλα τα αναγκαία βήματα για να προετοιμαστεί η φάση «μετά από τη δέσμευση», π.χ., έλεγχος δικαιωμάτων, φόρτωμα στην κύρια μνήμη όλων των σελίδων που μπορεί να χρειαστούν, και προσάρτηση αφαιρούμεων μέσων. Κατά την διάρκεια αυτής της φάσης τα αποτελέσματα δεν θα πρέπει να εκτίθενται και καμία μη αναστρέψιμη δράση δεν πρέπει να πραγματοποιείται. Μετά από τη δέσμευση: Θα πρέπει να μπορεί να ολοκληρωθεί με επιτυχία. Κοινόχρηστοι πόροι που διατίθενται κατά τη διάρκεια της φάσης «πριν από τη δέσμευση» δεν μπορούν να αποδεσμευθούν μέχρι την ολοκλήρωση αυτής της φάσης

Ατομικότητα "όλα ή τίποτα" (3/3) Οι φάσεις της δράσης «Όλα ή τίποτα)

Μοντέλα αποθήκευσης Η κυψελωτή αποθήκευση δεν υποστηρίζει τις δράσεις όλα-ή-τίποτα. Όταν κρατούμε το ιστορικό των εκδόσεων είναι δυνατόν να αποκατασταθεί το αρχικό περιεχόμενο, αλλά θα πρέπει να ενθυλακώνουμε την πρόσβαση σε δεδομένα και να παρέχουμε μηχανισμούς για I την εφαρμογή των δύο φάσεων μίας ατομικής ενέργειας "όλα ή τίποτα". Η περιοδική αποθήκευση κάνει ακριβώς αυτό.

Ατομικότητα Πριν -ή-μετά από την ατομικότητα. Η επίδραση των πολλαπλών δράσεων είναι σαν οι δράσεις αυτές να έχουν εκδηλωθεί η μία μετά από την άλλη. Μια συστηματική προσέγγιση για την ατομικότητα πρέπει να αντιμετωπίσει πολλά ευαίσθητα ζητήματα. Πώς να εγγυηθεί ότι μόνο μία ατομική δράση έχει πρόσβαση σε έναν κοινόχρηστο πόρο σε κάθε δεδομένη στιγμή. Πώς το σύστημα να επιστρέψει στην αρχική του κατάσταση I όταν μία ατομική δράση αποτύχει να ολοκληρωθεί. Πώς να εξασφαλισθεί ότι η σειρά πολλών ατομικών δράσεων οδηγεί σε συνεπή αποτελέσματα

Πρωτόκολλα συναίνεσης (1/2) Συναίνεση Η διαδικασία της επιλογής μίας πρότασης, μέσα από ένα σύνολο προτάσεων που πραγματοποιήθηκαν από πολλούς παράγοντες. Υπηρεσία συναίνεση Σύνολο n διεργασιών. Οι clients στέλνουν αιτήματα, με κάθε ένα από τα οποία, προτείνουν μία τιμή και να περιμένουν για μία απάντηση. Παραδοχές Στόχος είναι, το σύνολο των διεργασιών να συμφωνήσουν σε μία συγκεκριμένη τιμή. Διεργασίες που εκτελούνται σε επεξεργαστές κι επικοινωνούν μεταξύ τους μέσω ενός δικτύου. Ενδέχεται να εμφανιστούν αποτυχίες στους επεξεργαστές ή στο δίκτυο. Επεξεργαστές: Λειτουργούν σε αυθαίρετες ταχύτητες. Έχουν σταθερή αποθήκευση και μπορεί να επανέλθουν μετά από μια αποτυχία. Στέλνουν μηνύματα ο ένας στον άλλο.

Πρωτόκολλα συναίνεσης (2/2) Το δίκτυο: Μπορεί να χάσει, να αλλάξετε τη σειρά, ή να δημιουργήσει διπλότυπα μηνύματα. Τα μηνύματα αποστέλλονται ασύγχρονα και μπορεί να απαιτηθεί μεγάλο χρονικό διάστημα για να φθάσουν στον προορισμό τους

Αναφορές Το παρών υλικό βασίστηκε πάνω στην δράση «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» http://creativecommons.org/licenses/by-nc-sa/4.0/ http://openclass.teiwm.gr/courses/informatic122/