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

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

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

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

Αποµακρυσµένη κλήση διαδικασιών

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

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

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

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

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

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

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

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

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

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Εισαγωγή στην Επιστήμη των Υπολογιστών

Κατανεµηµένασυστήµατα αρχείων

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

Θέματα Συστημάτων Πολυμέσων. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος K. Πολύζος Τμήμα: Μεταπτυχιακό Πρόγραμμα Σπουδών Επιστήμη των Υπολογιστών

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

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

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

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

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

Ενότητα. Εισαγωγή στη Microsoft Access

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Διαχείριση Χρόνου & Δίκτυα στη Διοίκηση Έργων. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

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

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

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

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

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

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

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

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

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

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

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

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

Εισαγωγή Middleware. Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης. Κατανεμημένα Συστήματα (Ε) Εισαγωγή: Θέματα S/W 1

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Νέες Επικοινωνιακές Τεχνολογίες

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

Παράλληλη Επεξεργασία Κεφάλαιο 7 ο Αρχιτεκτονική Συστημάτων Κατανεμημένης Μνήμης

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 7: Δρομολόγηση κατάστασης ζεύξης (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σχεδίαση Δικτύων Υπολογιστών

Τεχνολογία Λογισμικού

Πρόλογος Εισαγωγή... 21

Ολοκληρωμένος Βιομηχανικός Έλεγχος

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

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

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Βάσεις Δεδομένων Ενότητα 1

Επικοινωνία Ανθρώπου- Υπολογιστή Σχεδίαση Αλληλεπίδρασης Ενότητα: 8 η

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

Επικοινωνία Ανθρώπου- Υπολογιστή Σχεδίαση Αλληλεπίδρασης

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

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

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

Συστήματα Πληροφοριών Διοίκησης

Προχωρημένα Θέματα Προγραμματισμού Δικτύων Ενότητα 13: QoS Policy, Παραδείγματα QoS, Επισκόπηση μαθήματος Φώτης Βαρζιώτης

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

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

Σχεδίαση Δικτύων Υπολογιστών

Σχεδίαση Δικτύων Υπολογιστών. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 1 ο ) Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ

Μαθησιακές δραστηριότητες με υπολογιστή

Σχεδίαση Δικτύων Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Πληροφορική. Εργαστηριακή Ενότητα 8 η : Γραφήματα

Ενδεικτικές λύσεις ασκήσεων

ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή

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

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

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής

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

Transcript:

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

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Οικονομικό Πανεπιστήμιο Αθηνών» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Οι εικόνες προέρχονται από το βιβλίο «Κατανεμημένα Συστήματα με Java», Ι. Κάβουρας, Ι. Μήλης, Γ. Ξυλωμένος, Α. Ρουκουνάκη, 3 η έκδοση, 2011, Εκδόσεις Κλειδάριθμος. 3

Σκοποί ενότητας Κατανόηση των διαφόρων τύπων συστημάτων πολλών επεξεργαστών και του λογισμικού συστήματος που χρησιμοποιούν. Εξοικείωση με τις αρχές σχεδίασης και τις παρεχόμενες υπηρεσίες των κατανεμημένων συστημάτων. Κατανόηση των βασικών μοντέλων οργάνωσης κατανεμημένων συστημάτων (μοντέλο πελάτηεξυπηρετητή και μοντέλο ομοτίμων). 4

Περιεχόμενα ενότητας Συστήματα πολλών επεξεργαστών Λογισμικό πολλών επεξεργαστών Αρχές σχεδίασης Παρεχόμενες υπηρεσίες Μοντέλο πελάτη-εξυπηρετητή Μοντέλο ομοτίμων Υπολογισμοί και αλγόριθμοι 5

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

Συστήματα πολυεπεξεργαστών Γιατί κατανεμημένα συστήματα; Εξελίξεις στα δίκτυα υπολογιστών Δυνατότητα σύνδεσης πολλών επεξεργαστών Συστήματα πολυεπεξεργαστών Πολλοί επεξεργαστές με κοινή μνήμη Κατάλληλοι για παράλληλη επεξεργασία Επεξεργαστής 1 Επεξεργαστής 2 Επεξεργαστής 3 Λεωφόρος Συστήματος Κοινή μνήμη 7

Συστήματα πολύ-υπολογιστών Μνήμη 1 Μνήμη 2 Μνήμη 3 Επεξεργαστής 1 Επεξεργαστής 2 Επεξεργαστής 3 Δίκτυο Συστήματα πολύ-υπολογιστών Αυτόνομοι υπολογιστές Διασύνδεση μέσω δικτύου Υβριδικοί πολύ-υπολογιστές Πολύ-υπολογιστές με πολυεπεξεργαστές Σύνηθες λόγω των πολυπύρηνων επεξεργαστών 8

Κατανεμημένα συστήματα υπολογιστών Επεξεργαστής 1 Πυρήνας 1 Πυρήνας 2 Επεξεργαστής 1 Πυρήνας 1 Πυρήνας 2 Λεωφόρος Συστήματος Λεωφόρος Συστήματος Κοινή μνήμη Κοινή μνήμη Δίκτυο Κατανεμημένα συστήματα Χαρακτηρίζονται από το λογισμικό, όχι το υλικό Ανεξάρτητοι υπολογιστές Ομοιογενείς ή ετερογενείς μηχανές 9

Λογισμικό πολυεπεξεργαστών Λειτουργικά συστήματα πολυεπεξεργαστών Κοινός χώρος διευθύνσεων και κοινό ρολόι Υποστήριξη συγχρονισμού μέσω υλισμικού Κατάλληλα για παράλληλη επεξεργασία Περιορισμένη κλιμάκωση Σημείο συνωστισμού η κοινή λεωφόρος Χρήση κρυφής μνήμης (κοινή ή όχι) Προβλήματα συνοχής κρυφής μνήμης Συνεκτικά και μη συνεκτικά συστήματα 10

Λειτουργικά συστήματα δικτύου Λειτουργικά συστήματα δικτύου Ανεξάρτητα ομοιογενή ή ετερογενή συστήματα Προσθήκη μηχανισμών επικοινωνίας μέσω δικτύου Δεν παρέχουν την εικόνα ενός ενιαίου συστήματος Κατάλληλα για καταμερισμό πόρων Ουσιαστικά όλα τα σύγχρονα συστήματα Καταμερισμός αρχείων Καταμερισμός εκτυπωτών Απομακρυσμένη διαχείριση 11

Κατανεμημένα συστήματα (1 από 2) Εφαρμογή Εφαρμογή Εφαρμογή ΚΛΣ Επεξεργαστής 1 Επεξεργαστής 2 Επεξεργαστής 3 Δίκτυο Κατανεμημένα λειτουργικά συστήματα Κατάλληλα για ομοιογενή συστήματα Εικόνα ενός μόνο συστήματος Ίδιος πυρήνας σε όλες τις μηχανές Απόκρυψη κατανεμημένης επεξεργασίας Οι χρήστες δεν έχουν έλεγχο των πόρων τους 12

Κατανεμημένα συστήματα (2 από 2) Εφαρμογή Εφαρμογή Εφαρμογή Ενδιάμεσο Λογισμικό ΛΣ 1 ΛΣ 2 ΛΣ 3 Επεξεργαστής 1 Επεξεργαστής 2 Επεξεργαστής 3 Δίκτυο Σύγχρονα κατανεμημένα συστήματα Αξιοποίηση βασικών δικτυακών υπηρεσιών Προσθήκη υπηρεσιών από ενδιάμεσο λογισμικό Παροχή πραγματικά κατανεμημένων υπηρεσιών Μερική εικόνα ενιαίου συστήματος 13

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

Απαιτήσεις Γενικές απαιτήσεις Ευελιξία: ευκολία αλλαγής / επέκτασης Ανοιχτή υλοποίηση: διαφορετικοί προμηθευτές Επίδοση: υψηλή ταχύτητα διεκπεραίωσης Ειδικές απαιτήσεις Διαφάνεια: εικόνα ενιαίου συστήματος Κλιμάκωση: απεριόριστη αύξηση επεξεργαστών Αξιοπιστία: υψηλή διαθεσιμότητα, ασφάλεια λειτουργίας, ανοχή στα σφάλματα 15

Διαφάνεια (1 από 2) Είδη διαφάνειας Προσπέλασης: προσπέλαση πόρων με ενιαίο τρόπο Τοποθεσίας: προσπέλαση πόρων χωρίς γνώση θέσης Μετεγκατάστασης: μετακίνηση πόρων χωρίς αλλαγές Μετάθεσης: μετακίνηση πόρων κατά τη χρήση τους Παραγωγής αντιγράφων: πολλά αντίγραφα πόρων Ταυτοχρονισμού: παράλληλη χρήση του ίδιου πόρου Αποτυχίας: απόκρυψη αποτυχιών από το σύστημα 16

Διαφάνεια (2 από 2) Διαφάνεια ή επίδοση; Η διαφάνεια είναι επιθυμητή αλλά ακριβή Περίπλοκοι αλγόριθμοι Σημαντική επιβάρυνση επικοινωνίας Αδυναμία απόκρυψης εγγενών περιορισμών Καθυστέρηση διάδοσης σημάτων Απώλεια μηνυμάτων στην επικοινωνία Κάθε σύστημα κάνει κάποιο συμβιβασμό 17

Κλιμάκωση (1 από 2) Μεγέθους: αύξηση μηχανών / χρηστών Όχι κεντρικές υπηρεσίες, δεδομένα, αλγόριθμοι Δεν υπάρχει πουθενά πλήρης πληροφόρηση Αποφάσεις μόνο με τοπικά στοιχεία Ανοχή σε αποτυχίες μηχανών Λειτουργία με μέρος του συστήματος Δεν υπάρχει καθολικό ρολόι Αλγόριθμοι που δεν απαιτούν στενό συγχρονισμό 18

Κλιμάκωση (2 από 2) Γεωγραφική: αύξηση αποστάσεων Προβλήματα λόγω εγγενών περιορισμών Καθυστέρηση διάδοσης σημάτων Ασύγχρονη αντί σύγχρονης επικοινωνίας Κατανομή πόρων στο δίκτυο Παραγωγή αντιγράφων σε διάφορα σημεία Αποθήκευση δεδομένων σε κρυφές μνήμες Προβλήματα συνέπειας 19

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

Παρεχόμενες υπηρεσίες (1 από 4) Υπηρεσίες επικοινωνίας Επικοινωνία ομάδων διεργασιών Ασύγχρονη επικοινωνία με ουρές μηνυμάτων Επικοινωνία με ηλεκτρονικό ταχυδρομείο Υπηρεσίες εκτέλεσης Απομακρυσμένη εκτέλεση εντολών (π.χ. rsh) Απομακρυσμένη χρήση τερματικών (π.χ. rlogin) Μετεγκατάσταση διεργασιών Απομακρυσμένη κλήση διαδικασιών (RPC) Απομακρυσμένη κλήση μεθόδων (RMI) 21

Παρεχόμενες υπηρεσίες (2 από 4) Υπηρεσίες ονομασίας Παροχή ενιαίου χώρου ονομάτων Μετάφραση ονομάτων πόρων σε διευθύνσεις Υπηρεσίες ευρετηρίου Αναζήτηση διεύθυνσης με πρόσθετα κριτήρια Τύπος, γεωγραφική θέση, ιδιοκτήτης πόρου Υπηρεσίες εντοπισμού Τρέχουσα θέση κινούμενου πόρου Συνδυασμός με υπηρεσία ονομασίας ή ευρετηρίου 22

Παρεχόμενες υπηρεσίες (3 από 4) Υπηρεσίες αρχείων Συνοδεύονται από υπηρεσίες ευρετηρίων Προσπέλαση σε αρχεία απομακρυσμένων μηχανών Εξειδικευμένοι εξυπηρετητές ή σταθμοί εργασίας Υπηρεσίες συναλλαγών Εκτέλεση δέσμης ενεργειών με ατομικό τρόπο Συγχρονισμός πολλών παράλληλων συναλλαγών Υπηρεσίες αντικειμένων Απομακρυσμένα ή κατανεμημένα αντικείμενα Αντιγραφή, μετεγκατάσταση ή μεταβίβαση 23

Παρεχόμενες υπηρεσίες (4 από 4) Υπηρεσίες παραγωγής αντιγράφων Αναπαραγωγή και συγχρονισμός αντιγράφων Στατική ή δυναμική παραγωγή Κατοπτρικοί εξυπηρετητές Υπηρεσίες ασφαλείας Πιστοποίηση ταυτότητας Διαφύλαξη απορρήτου επικοινωνίας Έλεγχος πρόσβασης σε πόρους 24

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

Απλό μοντέλο (1 από 2) Αίτηση Πελάτης Απόκριση Εξυπηρετητής Δίκτυο Επικοινωνία διεργασιών μέσω δικτύου Κλήσεις send και receive Η επικοινωνία είναι υπερβολικά ορατή Μοντέλο πελάτη-εξυπηρετητή Λογική αφαίρεση επικοινωνίας διεργασιών Εξυπηρετητής: παρέχει υπηρεσίες σε πελάτες Πελάτης: ζητάει υπηρεσίες από εξυπηρετητές 26

Απλό μοντέλο (2 από 2) Πρωτόκολλο πελάτη-εξυπηρετητή Αίτηση από πελάτη σε εξυπηρετητή Επεξεργασία αίτησης από εξυπηρετητή Απόκριση από εξυπηρετητή σε πελάτη Σε τοπικά δίκτυα: αξιόπιστη Δε χρειάζονται συνδέσεις Σε δίκτυα ευρείας περιοχής: αναξιόπιστη Πιθανή απώλεια αιτήσεων ή αποκρίσεων Χρήση αξιόπιστων πρωτοκόλλων Απαιτούνται συνδέσεις 27

Μοντέλο τριών επιπέδων (1 από 4) Πελάτης Επίπεδο Διεπαφής Επίπεδο Επεξεργασίας Επίπεδο Αποθήκευσης Εξυπηρετητής Δίκτυο Μοντέλο τριών επιπέδων Προσθήκη ενδιάμεσης επεξεργασίας Διεπαφή: αλληλεπίδραση με εφαρμογή Τερματικό κειμένου ή γραφική διεπαφή χρήστη 28

Μοντέλο τριών επιπέδων (2 από 4) Επεξεργασία: γέφυρα μεταξύ επιπέδων Εξαρτάται από τη συγκεκριμένη εφαρμογή Αντλεί στοιχεία και τα επεξεργάζεται Αποθήκευση: διαχείριση δεδομένων Ανεξάρτητη από το επίπεδο επεξεργασίας Κατάλληλα για διαφορετικές εφαρμογές Σύστημα αρχείων ή βάση δεδομένων Πολλές φορές κληρονομημένο σύστημα 29

Μοντέλο τριών επιπέδων (3 από 4) Διεπαφή μόνο στον πελάτη Απλούστερη μέθοδος κατανομής Μέρος διεπαφής στον εξυπηρετητή Έλεγχος διεπαφής κεντρικά Μέρος επεξεργασίας στον πελάτη Τοπική επεξεργασία δεδομένων/αποτελεσμάτων Μέρος αποθήκευσης στον πελάτη Ενταμίευση σε κρυφή μνήμη 30

Μοντέλο τριών επιπέδων (4 από 4) Πελάτης Επίπεδο Διεπαφής Επίπεδο Επεξεργασίας Δίκτυο Επίπεδο Αποθήκευσης Επίπεδο Αποθήκευσης Επίπεδο Αποθήκευσης Εξυπηρετητής Κατακόρυφη κατανομή Εξυπηρετητής Εξυπηρετητής Διαφορετικά καθήκοντα σε διαφορετικές μηχανές Οριζόντια κατανομή Ένα λογικό καθήκον σε πολλές μηχανές 31

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

Γιατί μοντέλο ομοτίμων; (1 από 2) Μειονεκτήματα μοντέλου πελάτη-εξυπηρετητή Απαιτεί ισχυρούς κεντρικούς εξυπηρετητές Μεγάλο κόστος δημιουργίας και κλιμάκωσης Κλασική εφαρμογή: Παγκόσμιος Ιστός Μοντέλο ομοτίμων (peer-to-peer, P2P) Οι κόμβοι είναι και πελάτες και εξυπηρετητές Λειτουργεί μόνο με τις μηχανές των χρηστών Αξιοποιεί αχρησιμοποίητους πόρους Κλιμάκωση με την αύξηση των χρηστών 33

Γιατί μοντέλο ομοτίμων; (2 από 2) Μοντέλο ομοτίμων (peer-to-peer, P2P) Οι μηχανές των χρηστών είναι απρόβλεπτες Οι χρήστες αποσυνδέονται ή επανεκκινούν Δύσκολη διαχείριση όσο μεγαλώνει η κλίμακα Κλασική εφαρμογή: ανταλλαγή αρχείων Το πρόβλημα του εντοπισμού πόρων Πελάτης-εξυπηρετητής: λίγοι εξυπηρετητές Σχετικά εύκολη η διανομή των διευθύνσεών τους Ομότιμοι: πάρα πολλοί κόμβοι Ποιος κόμβος πρέπει να μας εξυπηρετήσει; 34

Υπερκείμενα δίκτυα (1 από 2) Υπερκείμενο δίκτυο (overlay) Κόμβοι: οι μηχανές στο ομότιμο σύστημα Ακμές: υπερκείμενες ζεύξεις μεταξύ κόμβων Πάνω από το υποκείμενο δίκτυο (underlay) Οι ακμές είναι διαδρομές στο υποκείμενο δίκτυο Δρομολόγηση εξαρτάται από το υποκείμενο δίκτυο Παράδειγμα: συνδέσεις TCP πάνω από το IP Επιτρέπει άμεση επικοινωνία των κόμβων 35

Υπερκείμενα δίκτυα (2 από 2) 1 2 3 7 A B C 4 6 5 Δημιουργία υπερκείμενου δικτύου Ο κόμβος διαλέγει λογικούς γείτονες Το υποκείμενο δίκτυο αναλαμβάνει τη δρομολόγηση Η γειτνίαση διαφέρει ανάμεσα στα δύο επίπεδα Επιμήκυνση (stretch) υπερκείμενης διαδρομής Σε σχέση με την ελάχιστη υποκείμενη διαδρομή 36

Δομημένα συστήματα (1 από 2) 12 3 0 10 A B C 15 14 7 Δομημένα (structured) συστήματα ομοτίμων Η επιλογή των γειτόνων γίνεται αλγοριθμικά Κάθε κόμβος επιλέγει μία λογική διεύθυνση Γείτονες: όσοι έχουν κοντινές λογικές διευθύνσεις Δρομολόγηση από γείτονα σε γείτονα Συνήθως υπάρχουν και συντομεύσεις 37

Δομημένα συστήματα (2 από 2) Εντοπισμός πόρων σε δομημένα συστήματα Οι πόροι απεικονίζονται σε λογικές διευθύνσεις Κάθε κόμβος είναι υπεύθυνος για κοντινούς πόρους Ο πόρος εγγράφεται στέλνοντας ένα μήνυμα Το μήνυμα δρομολογείται στον πλησιέστερο κόμβο Ο κόμβος καταγράφει την πραγματική θέση του πόρου Για να βρούμε τον πόρο στέλνουμε νέο μήνυμα Το μήνυμα δρομολογείται στον ίδιο κόμβο Ο κόμβος επιστρέφει την πραγματική θέση του πόρου 38

Μη δομημένα συστήματα 1 2 6 A B C 3 5 4 Μη δομημένα συστήματα ομοτίμων Επιλογή γειτόνων με (σχεδόν) τυχαίο τρόπο Αρκεί το δίκτυο να είναι συνδεδεμένο Συνδυασμός φυσικά κοντινών και μακρινών κόμβων Εντοπισμός πόρων σε μη δομημένα συστήματα Τυχαία προώθηση μηνυμάτων 39

Ημιδομημένα συστήματα 1 2 6 A B C 3 Ημιδομημένα συστήματα 5 4 Ορισμένοι κόμβοι είναι υπερομότιμοι (super-peers) Οι υπερομότιμοι εκπροσωπούν τους απλούς κόμβους Γνωρίζουν τους πόρους των απλών κόμβων Στέλνουν μηνύματα εκ μέρους των απλών κόμβων Οι υπερομότιμοι σχηματίζουν μη δομημένο δίκτυο Εντοπισμός πόρων μέσω των υπερομότιμων 40

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

Τι σημαίνει κατανεμημένο σύστημα; Τυπικός ορισμός κατανεμημένου συστήματος Σύνολο διεργασιών p 1,p 2,,p 3 Εκτελούνται σε ανεξάρτητους υπολογιστές Δίκτυο με κανάλια επικοινωνίας X i,j Τουλάχιστον μίας κατεύθυνσης Ισχυρά αλλά όχι πλήρως συνδεδεμένο Κάθε μηχανή έχει το δικό της χρονιστή C(t) Γενικά, το C(t) αποκλίνει σταδιακά από το t 42

Σύγχρονα και ασύγχρονα συστήματα Σύγχρονο κατανεμημένο σύστημα Άνω όριο σε σχετικές ταχύτητες μηχανών Άνω όριο σε χρόνο καθυστέρησης μηνύματος Άνω όριο στο ρυθμό ολίσθησης του χρονιστή Ασύγχρονο: δεν ισχύει τίποτα από αυτά Λογισμικό και αφαιρέσεις χαλάνε το συγχρονισμό Οι φόρτοι κάνουν το σύστημα απρόβλεπτο Απλούστερη σημασιολογία και προγραμματισμός Αν υπάρχει λύση εκεί, υπάρχει και στο σύγχρονο 43

Υπολογισμοί (1 από 3) Εκτέλεση συνόλου ακολουθιακών διεργασιών Κάθε διεργασία εκτελεί ακολουθία συμβάντων Εσωτερικό: αλλαγή τοπικής μόνο κατάστασης Επικοινωνίας: με άλλη διεργασία Επικοινωνία με send(m) και receive(m) Το m είναι το αναγνωριστικό του μηνύματος Διάφοροι τρόποι απεικόνισης 44

Υπολογισμοί (2 από 3) p 1 p 2 p 3 Διάγραμμα χώρου-χρόνου Οριζόντιες γραμμές: εκτέλεση διεργασιών Ο χρόνος αυξάνεται προς τα δεξιά Τα σημεία παριστάνουν συμβάντα Η επικοινωνία παριστάνεται με βέλη 45

Υπολογισμοί (3 από 3) p 1 3 1 2 4 p 2 p 3 Κατευθυνόμενος γράφος Κόμβοι: διεργασίες Τόξα: μηνύματα Ακέραιοι αριθμοί: σειρά αποστολής μηνυμάτων Δυσκολία παράστασης ταυτόχρονων γεγονότων 46

Αλγόριθμοι Συγκεντρωτικοί αλγόριθμοι Κεντρικός κόμβος (εξυπηρετητής) Ευάλωτος σε αποτυχίες μοναδικού σημείου Περιορισμένη δυνατότητα κλιμάκωσης Κατανεμημένοι αλγόριθμοι Δεν υπάρχει κεντρικός συντονιστής Συνεργασία ισότιμων διεργασιών Ανταλλαγή μηνυμάτων μεταξύ διεργασιών Αβεβαιότητα ως προς την ακριβή εκτέλεση 47

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