Γενικά. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Τυπικά Θέµατα.

Σχετικά έγγραφα
Γενικά. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Βασικοί Ορισµοί

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

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

Μοντέλο Σύγχρονου ικτύου. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Υποστήριξη Φοιτητών

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Υποστήριξη Φοιτητών

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

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Σύνοψη 3 ης ιάλεξης

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

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Γενικά. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Ορισµός Κατανεµηµένου Συστήµατος (1)

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

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

Μοντέλο Σύγχρονου ικτύου. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

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

Σύνοψη Μαθήµατος. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

Σκοπιµότητα των firewalls

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού

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

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

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

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Κατανεµηµένος Προγραµµατισµός & Προγραµµατισµός στο ιαδίκτυο

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

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

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

Δροµολόγηση (Routing)

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

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

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

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

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Αυτόµατα Εισόδου/Εξόδου

Χειµερινό Εξάµηνο 2013

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

ΜΑΘΗΜΑ 7 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ

Προσβασιµότητα στους διαδικτυακούς κόµβους

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

Περιεχόμενα. Visio / White paper 1

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

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Η σχέση συνέβη-πριν

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

Περιεχόµενα. Μέρος I Βασικά στοιχεία των Microsoft Windows XP Professional. Ευχαριστίες Εισαγωγή... 19

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

Επικοινωνία Ανθρώπου Υπολογιστή. Α1. Εισαγωγή στην ΕΑΥ και γενικές πληροφορίες για το µάθηµα

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Σύνοψη Μαθήµατος. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Βυζαντινοί Στρατηγοί

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΜΕΤΑΒΑΤΙΚΕΣ ΠΡΟΫΠΟΘΕΣΕΙΣ ΑΠΟΚΤΗΣΗΣ ΠΤΥΧΙΟΥ

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

Τηλε-εργασία εργασία - Έννοια

Ε-85: Ειδικά Θέµατα Λογισµικού

ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ ΕΞΟΠΛΙΣΜΟΥ ΕΠΙΚΟΙΝΩΝΙΑ... 23

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Περιγραφή Μαθήματος. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Χαράλαμπος Καραγιαννίδης

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

α Megabyte. β Gigabyte. γ Gigabyte. δ byte.

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

ιαχείριση Τηλεφωνικών Κλήσεων

ΑΞΙΟΠΙΣΤΙΑ ΥΛΙΚΟΥ ΚΑΙ ΛΟΓΙΣΜΙΚΟΥ

Α. Ερωτήσεις Ανάπτυξης

J. Glenn Brookshear. Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

ΠΕΡΙΕΧΟΜΕΝΑ Χρήση Ηλεκτρονικού Υπολογιστή

ιεθνής Αερολιµένας Αθηνών Τεχνολογίες ροής δεδοµένων σε ΙΡ δίκτυα: Ένας δρόµος προς τα συστήµατα πληροφόρησης επιβατών επόµενης γενιάς

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

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

Παρουσίαση Αποτελεσµάτων Έργου SPERO. Παρασκευή Τζούβελη Υποψήφια ιδάκτωρ ΕΜΠ

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

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό. Εισαγωγή Χειµερινό Εξάµηνο 2014

Επιµέλεια Θοδωρής Πιερράτος

Ποιες Νέες Τεχνολογίες; Εισαγωγή. 1841: Μαυροπίνακας. 1940: Κινούµενη Εικόνα. 1957: Τηλεόραση

Πληροφορική (BSc & MSc)

Σχεδιασµός βασισµένος σε συνιστώσες

ΠΕΡΙΦΕΡΕΙΑΚΟΣ ΠΟΛΟΣ ΚΑΙΝΟΤΟΜΙΑΣ ΥΤΙΚΗΣ ΕΛΛΑ ΑΣ

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Transcript:

Γενικά Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης Τετάρτη, 15 Οκτωβρίου, 2007 Αίθουσα Β3 Σκοπός του µαθήµατος: Κατανόηση των ϐασικών προβληµάτων που αντιµετωπίζουν τα κατανεµηµένα σύστηµα υπολογιστών Μελέτη ορισµένων χαρακτηριστικών µηχανισµών για την επίλυση τους Χρήση αλγοριθµικών τεχνικών για την ανάλυση της λειτουργίας τους Προαπαιτούµενα µαθήµατα του προγράµµατος σπουδών: Λειτουργικά Συστήµατα Ι Εισαγωγή στους Αλγορίθµους ίκτυα Υπολογιστών Σχέση µε άλλα µαθήµατα του προγράµµατος σπουδών: Λειτουργικά Συστήµατα ΙΙ ιανοµή Περιεχοµένου στο ιαδίκτυο Προχωρηµένα Θέµατα ικτύων Υπολογιστών Τεχνολογίες Υλοποίησης Αλγορίθµων Τυπικά Θέµατα ιαλέξεις Θεωρία ιαλέξεις Φροντιστήρια Πρακτική Ασκήσεις (2) Ερωτήσεις ιαλέξεων (6+) Εργαστήρια (4) Βαθµολογία Ασκήσεις 30% και οι δυο ασκήσεις Εξέταση -- 70% Εργαστήρια +0.75 για κάθε επιτυχηµένη παρακολούθηση (bonus) Ερωτήσεις ιαλέξεων +0.2 για κάθε σωστή απάντηση (bonus) 2 ώρες την εβδοµάδα ευτέρα 13:00-15:00, Β3 Θεωρία 2 ϑεµατικές ενότητες 1. Σύγχρονα Κατανεµηµένα Συστήµατα 2. Ασύγχρονα Κατανεµηµένα Συστήµατα Θεµελιώδη προβλήµατα Αλγοριθµικές τεχνικές Ιδιώτητες και Απόδοση Ερωτήσεις ιαλέξεων 1-2 ερωτήσεις στο τέλος κάθε διάλεξης Παράδοση απαντήσεων στην επόµενη διάλεξη Κάθε σωστή απάντηση bonus +0.2 στον τελικό ϐαθµό Αντιγραφή = 0

Ασκήσεις Φροντιστήρια 2 σετ ασκήσεων 1. Σύγχρονα Κατανεµηµένα Συστήµατα 2. Ασύγχρονα Κατανεµηµένα Συστήµατα 3-4 ερωτήµατα Θεωρία Εφαρµογή αλγορίθµων Σχεδιασµός αλγορίθµων Ιδιώτητες και Απόδοση Στο πνεύµα της εξέτασης 30% Τελικού ϐαθµού Αντιγραφή = 0 2 ώρες την εβδοµάδα Τετάρτη 15:00-17:00, Β3 Θεωρία Απορίες - ιευκρινήσεις Προετοιµασία εξέτασης Ασκήσεις Απορίες - ιευκρινήσεις Απαντήσεις Πρακτική Γλώσσα προγραµµατισµού nesc Υλοποίηση αλγορίθµων στο περιβάλλον TinyOS Εκτέλεση στο περιβάλλον TOSSIM Συστοιχιών Υπολογιστών -- Openmosix Εργαστήρια Απορίες Συναντήσεις 3 ώρες την εβδοµάδα Υπολογιστικό Τρίτη 15:00-18:00 Πέµπτη 15:00-18:00 4 σετ εργαστηρίων 1-2 ϑέµατα Πρακτική Εκτέλεση αλγορίθµων στο περιβάλλον TOSSIM Υλοποίηση αλγορίθµων σε nesc Για κάθε ολοκληρωµένη παρακολούθηση +0.75 bonus στον τελικό ϐαθµό Για οτιδήποτε χρειαστείτε ϑα µε ϐρείτε στο ΤΜΗΥΠ: Προκατασκευασµένα Τετάρτη 10:00-13:00 Αλλες µέρες/ώρες κατόπιν συνεννοήσεως -- 2610 997541 στο Ε.Α.Ι.Τ.Υ.: Γραφείο 0.Ι.1 Κατόπιν συνεννοήσεως -- 2610 960333 Μέσω e-mail: ichatz@ceid.upatras.gr Μέσω forum του µαθήµατος στο my.ceid.upatras.gr Μεταπτυχιακοί ϕοιτητές Γιώργος Μυλωνάς -- mylonasg@ceid.upatras.gr Θανάσης Κίναλης -- kinalis@ceid.upatras.gr

Υλη Μαθήµατος Σύγχρονα Κατανεµηµένα Συστήµατα 1. Μοντέλο ίκτυα ακτυλίου, Γενικά ίκτυα 2. Εκλογή Αρχηγού 3. Αναζήτηση κατά Εύρος 4. Συντοµότερα Μονοπάτια 5. Συναίνεση µε Σφάλµατα Ασύγχρονα Κατανεµηµένα Συστήµατα 1. Μοντέλο ίκτυα ακτυλίου, Γενικά ίκτυα 2. Εκλογή Αρχηγού 3. Αναζήτηση κατά Εύρος 4. Συντοµότερα Μονοπάτια 5. Συγχρονισµός 6. ιάταξη Γεγονότων και Λογικός Χρόνος 7. Καθολικές Καταστάσεις, Αποτίµηση Καθολικού Κατηγορήµατος 8. Αυτο-σταθεροποίηση 9. Συµφωνία Βιβλιογραφία Πανεπιστηµιακές Σηµειώσεις Βιβλία Π.Σπυράκης, Β.Ταµπακάς: Θεµελιώδη Ζητήµατα Κατανεµηµένων Συστηµάτων, Τόµος Ι 1. Ι.Κ.Κάβουρας, Ι.Ζ.Μήλης, Γ.Β.Ξυλωµένος, Α.Α.Ρουκουνάκη: Κατανεµηµένα Συστήµατα µε Java 2. N.Lynch: Distributed Algorithms" 3. H.Attiya, J.Welch: Distributed Computing Fundamentals, Simulations, and Advanced Topics" 4. G.Tel: Introduction to Distributed Algorithms" 5. G.Coulouris, J.Dollimore, T.Kindberg: Distributed Systems, Concepts and Design" 6. A.Tanenbaum, M.Steen: Distributed Systems: Principles and Paradigms" ιαδίκτυο Wikipedia.org Ιστοσελίδα και Ανακοινώσεις Σύνοψη 1 ης ιάλεξης Η ιστοσελίδα του µαθήµατος ϐρίσκεται στη διεύθυνση: www.ceid.upatras.gr/courses/katanemhmena/ds1/ Περιέχει: 1. ιαφάνειες των διαλέξεων 2. Συµπληρωµατικές σηµειώσεις 3. Το υλικό των ϕροντιστηρίων 4. Ασκήσεις και υλικό ασκήσεων 5. Εργαστήρια και υλικό εργαστηρίων 6. Εξεταστέα ύλη 7. Υλικό από προηγούµενα έτη Ολες οι ανακοινώσεις ϑα γίνονται στο forum του µαθήµατος στο my.ceid.upatras.gr Θέµατα Μαθήµατος Γενικά ιαδικασία Υλικό Κατανεµηµένα Συστήµατα Εισαγωγή Απαιτήσεις Λειτουργικότητας Σχεδιαστικές Προκλήσεις Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Ερώτηση ιάλεξης Επόµενο Μάθηµα

Ορισµός Κατανεµηµένου Συστήµατος (1) Ορισµός Κατανεµηµένου Συστήµατος (2) Ο Leslie Lamport δηλώνει για ένα κατανεµηµένο σύστηµα ότι Γνωρίζεις ότι έχεις ένα όταν, ένα σφάλµα ενός Η/Υ που ούτε ήξερες ότι υπήρχε µπορεί να αχρηστεύσει τον Η/Υ σου Ο Andrew S. Tanenbaum σηµειώνει ότι Τα κατανεµηµένα συστήµατα απαιτούν ϱιζικά διαφορετικό λογισµικό από αυτό που χρησιµοποιούν τα κεντρικοποιηµένα συστήµατα Ο Γεώργιος Κουλούρης δίνει τον ορισµό Τα κατανεµηµένα συστήµατα είναι µία συλλογή από αυτόνοµους υπολογιστές που συνδέονται µεταξύ τους µέσω ενός δικτύου, και χρησιµοποιούν ειδικά σχεδιασµένο λογισµικό για την παροχή ενοποιηµένων υπολογιστικών υπηρεσιών... και σηµειώνει ότι σε ένα τέτοιο σύστηµα, οι διεργασίες που εκτελούνται από τους δικτυωµένους υπολογιστές επικοινωνούν µεταξύ τους και συντονίζουν τις κινήσεις τους µόνο µέσω της ανταλλαγής µηνυµάτων Ορισµός Κατανεµηµένου Συστήµατος (3) Ορισµός Κατανεµηµένου Συστήµατος (4) Οι Burns & Willings σηµειώνουν ότι πρόκειται περί... ενός πληροφοριακού συστήµατος πολλαπλών αυτόνοµων υπολογιστικών στοιχείων, τα οποία συνεργάζονται για την επίτευξη ενός κοινού στόχου... Κατανεµηµένο Σύστηµα Αποτελείται από γεωγραφικά ανεξάρτητες, αυτόνοµες υπολογιστικές συσκευές, που επικοινωνούν µεταξύ τους και λειτουργούν συντονισµένα για την επίτευξη ενός κοινού στόχου. Πιο αναλυτικά, ϑεωρούµε τα ακόλουθα στοιχεία: 1. πολλούς αποµακρυσµένους υπολογιστές (κόµβους) 2. επικοινωνία µε µηνύµατα µέσω ενός δικτύου µπορεί να υπάρξει κάποιο σφάλµα κατά την αποστολή σειρά παράδοσης µπορεί να είναι διαφορετική από την σειρά αποστολής 3. έλλειψη κοινής µνήµης και ϱολογιού 4. παρουσία σφαλµάτων στο υλικό 5. ταυτόχρονος διαµοιρασµός πόρων από πολλαπλούς χειριστές Σύγχρονα Λειτουργικά Συστήµατα

Επικοινωνία µε µηνύµατα µέσω ενός δικτύου Ελλειψη κοινής µνήµης και ϱολογιού Ανακοίνωση Ενας web server ϑέλει να ανακοίνωση την νέα έκδοση µίας σελίδας. Θέλει να ενηµερώσει όλους τους υπολογιστές του συστήµατος για την νέα έκδοση. Η επικοινωνία γίνεται µέσω µηνυµάτων. εν γνωρίζει όλους τους υπολογιστές του συστήµατος εν έχει αποκλειστική πρόσβαση σε όλους τους πόρους του συστήµατος Θέλει να γίνει η ενηµέρωση σε σύντοµο χρονικό διάστηµα Συµφωνία Στρατηγών ύο στρατηγοί διοικούν τον Κόκκινο στρατό και τον Πράσινο στρατό. Θέλουν να συντονίσουν την επίθεση κατά του Μπλε στρατού. Εάν επιτεθούν µόνοι τους, ο Μπλε στρατός ϑα τους νικήσει. Ο συγχρονισµός των ϱολογιών των δύο στρατηγών δεν είναι εύκολος Ενας ταχυδρόµος µπορεί να µην καταφέρει να παραδώσει το µήνυµα στο άλλο στρατόπεδο Πώς µπορεί να ξέρει ο στρατηγός ότι το µήνυµα έφτασε; ιαµοιρασµός πόρων από πολλαπλούς χειριστές Απαιτήσεις Λειτουργικότητας Dining philosophers problem (Dijkstra, 1965) Πέντε ϕιλόσοφοι αποφασίζουν να δειπνήσουν κατά την διάρκεια του δείπνου, έστω ότι κάθε ϕιλόσοφος είτε σκέφτεται, είτε τρώει για να ϕάει, χρειάζεται 2 πιρούνια και πρέπει να πιάσει κάθε πιρούνι ένα προς ένα. Εφόσον πιάσει 2 πιρούνια, τρώει λίγο και µετά αφήνει τα πιρούνια και σκέφτεται. Προφανώς κανένας δεν µπορεί να ϕάει εάν όλοι οι ϕιλόσοφοι πιάσουν από ένα πιρούνι κανένας δεν µπορεί να πιάσει ένα ακόµα πιρούνι. Η έλλειψη επιπλέον πιρουνιών συµβολίζει τον περιορισµό των πόρων σε ένα σύστηµα. 1. Ανταλλαγή πληροφοριών 2. ιαµοιρασµός πόρων 3. Αυξηµένη αξιοπιστία 4. Αυξηµένη απόδοση µέσω παραλληλίας 5. Απλοποίηση του σχεδιασµού µέσω της εξειδίκευσης

Ανταλλαγή πληροφοριών ιαµοιρασµός πόρων Η συνεργασία των ανθρώπων Η χρήση ενός τοπικού δικτύου (LAN) έχει πλέον καθιερωθεί Για την συνεργασίας µεταξύ αποµακρυσµένων ανθρώπων, γίνεται χρήση wide-area networks (WANs) Οι συσκευές µπορούν να λειτουργούν εν κινήσει Πρόσβαση στις πληροφορίες του συστήµατος του οργανισµού εν κινήσει Οι συσκευές γίνονται ολοένα µικρότερες σε µέγεθος Χρησιµοποιούµε ταυτόχρονα περισσότερες από µία υπολογιστικές µονάδες ασύρµατα προσωπικά δίκτυα (personal area network (PAN)) Συνεχή µείωση του κόστους ενός υπολογιστή προσωπικοί υπολογιστές Το ίδιο και για τα περιφερειακά συστήµατα π.χ. εκτυπωτές, ϐοηθητική αποθήκευση, µονάδες δίσκων Οι υπολογιστές µπορούν να ϐασιστούν σε συγκεκριµένες µονάδες για υπηρεσίες εκτύπωσης και αποθήκευσης δεδοµένων εν είναι απαραίτητο να υπάρχουν αντίγραφα όλων των εφαρµογών και όλων των σχετικών ϕακέλων σε όλους τους υπολογιστές Περιττός χώρος στο δίσκο του κάθε υπολογιστή Ανεπιθύµητα προβλήµατα συντήρησης Εγκατάσταση ειδικών διακοµιστών διαχείρισης λογισµικού Αυξηµένη αξιοπιστία (1) Αυξηµένη αξιοπιστία (2) Σε οποιοδήποτε σύστηµα ορισµένες µονάδες του συστήµατος µπορεί να αντιµετωπίσουν κάποιο σφάλµα Στόχος: Οι υπόλοιπες που εξακολουθούν να λειτουργούν σωστά µπορούν να αναλάβουν το έργο των µονάδων που ϐγήκαν εκτός λειτουργίας Ενα σφάλµα σε ένα σύστηµα ανεξάρτητων υπολογιστών επηρεάζει ολόκληρο το σύστηµα Υπάρχοντα Συστήµατα: δεν παρέχεται αυτόµατη δυνατότητα συνέχισης της λειτουργίας από κάποια άλλη µονάδα Οι κατανεµηµένες αρχιτεκτονικές είναι ένα παραδοσιακός τρόπος σχεδιασµού υψηλά αξιόπιστων υπολογιστικών συστηµάτων Παράδειγµα ενός αξιόπιστου κατανεµηµένου συστήµατος Ενα υψηλά αξιόπιστο σύστηµα προσφέρει δύο, τρεις ή ακόµα και τέσσερις υπολογιστικές µονάδες για την εκτέλεση των διεργασιών Υπάρχει ένα µηχανισµός ψηφοφορίας που ϕιλτράρει τα αποτελέσµατα που παράγει κάθε µονάδα Η διασφάλιση της σωστής λειτουργία ενός κατανεµηµένου συστήµατος κατά την παρουσία σφαλµάτων απαιτεί την παρουσία σύνθετων αλγοριθµικών λύσεων. Τα κατανεµηµένα συστήµατα έχουν τη δυνατότητα να είναι περισσότερο αξιόπιστα σε σύγκριση µε τα συστήµατα ανεξάρτητων υπολογιστών εφόσον έχουν την ιδιότητα της ανοχής σφαλµάτων.

Αυξηµένη απόδοση µέσω παραλληλίας Απλοποίηση του σχεδιασµού µέσω της εξειδίκευσης (1) Εκµετάλλευση του πλήθους των υπολογιστών Στόχος: Μείωση χρόνου εκτέλεσης διεργασιών ιαµοιρασµός των εργασιών σε πολλούς επεξεργαστές Τα παράλληλα συστήµατα έχουν σχεδιαστεί συγκεκριµένα για αυτό το σκοπό Ενα κατανεµηµένο σύστηµα µπορεί να εκµεταλλευτεί αυτή την τεχνική ιοχέτευση διεργασιών στους διάφορους υπολογιστές του συστήµατος Ο σχεδιασµός ενός υπολογιστικού συστήµατος µπορεί να γίνει ιδιαίτερα πολύπλοκος, όταν αυτό καλείται να προσφέρει πολλαπλή λειτουργικότητα Ενας τρόπος απλοποίησης του σχεδιασµού είναι η διάσπαση του συστήµατος σε επιµέρους τµήµατα Κάθε ένα από τα οποία προσφέρει συγκεκριµένες λειτουργίες Επικοινωνεί µε τα υπόλοιπα τµήµατα ούτως ώστε να καλυφθεί το σύνολο της λειτουργικότητας Η τµηµατοποίηση επιτυγχάνεται µε τον καθορισµό αφηρηµένων τύπων δεδοµένων και διαδικασιών για διαφορετικές εργασίες Απλοποίηση του σχεδιασµού µέσω της εξειδίκευσης (2) Σχεδιαστικές Προκλήσεις Σε ένα περιορισµένο σύστηµα, όλα τα τµήµατα µπορεί να λειτουργούν στον ίδιο υπολογιστή Σε ένα µεγαλύτερο σύστηµα µπορούµε να ορίσουµε µια συλλογή συνεργαζόµενων (µέσω ενός τοπικού δικτύου) διεργασιών που εκτελούνται από διαφορετικούς υπολογιστές Μπορούµε να αναθέσουµε την εκτέλεση των διεργασιών σε διαφορετικούς τύπους υπολογιστών όπου ο κάθε ένας είναι εφοδιασµένος µε κάποια συγκεκριµένη διαδικασία: υλικό ειδικά αφιερωµένο για γρήγορη επεξεργασία αριθµών υλικό ειδικά αφιερωµένο για σχεδιασµό γραφικών υλικό ειδικά αφιερωµένο για χρήση αποθηκευτικών µέσων 1. Ετερογένεια 2. Ανοικτότητα 3. Ασφάλεια 4. υνατότητα Κλιµάκωσης 5. Ανεκτικότητα σφαλµάτων 6. Παραλληλία 7. ιαφάνεια

Ετερογένεια (1) Ετερογένεια (2) Ενα κατανεµηµένο σύστηµα µπορεί περιέχει υπολογιστές που ανήκουν σε διαφορετικά δίκτυα εκτελούν διαφορετικά λειτουργικά συστήµατα χρησιµοποιούν ιδιαίτερο υλικό παρέχουν συγκεκριµένο λογισµικό Χαρακτηριστικό παράδειγµα είναι το ιαδίκτυο αποτελείται από πολλά διαφορετικά είδη δικτύων όλοι οι υπολογιστές, ανεξαρτήτως τύπου, µπορούν να επικοινωνήσουν µεταξύ τους Ολα τα σύγχρονα λειτουργικά συστήµατα µπορούν να συνδεθούν στο ιαδίκτυο εφόσον υλοποιούν τα πρωτόκολλα του ιαδικτύου εν προσφέρουν την ίδια διεπαφή προγραµµατισµού για την ανάπτυξη εφαρµογών σε αυτά τα πρωτόκολλα Οι κλήσεις για ανταλλαγή µηνυµάτων σε UNIX είναι διαφορετικές από τις κλήσεις σε Windows Κάθε γλώσσα προγραµµατισµού χρησιµοποιεί διαφορετικές απεικονίσεις για τους χαρακτήρες και τις δοµές πληροφοριών Ετερογένεια (3) Ετερογένεια (4) Ενας τρόπος αντιµετώπισης: χρήση λογισµικού ενδιάµεσου επιπέδου Παρεµβάλλεται µεταξύ του λειτουργικού συστήµατος και της εφαρµογής Επιτρέπει την αφαίρεση της ετερογένειας των υποκείµενων δικτύων, υλικών, λειτουργικών συστηµάτων και γλωσσών προγραµµατισµού Παρέχουν ένα οµογενές υπολογιστικό µοντέλο το οποίο χρησιµοποιείται από προγραµµατιστές Παράδειγµα: CORBA όπου οι ιδιαιτερότητες των υποκείµενων δικτύων αντιµετωπίζονται από τις διαφορετικές υλοποιήσεις της CORBA Αλλος τρόπος αντιµετώπισης: χρήση κινητού κώδικα Αναφέρεται στον κώδικα που µπορεί να σταλεί από έναν υπολογιστή σε άλλον και να εκτελεστεί στον προορισµό του Η χρήση κινητού κώδικα προϋποθέτει ένα περιβάλλον εκτέλεσης, το οποίο είναι κατάλληλο για να εκτελείται από όλους τους υπολογιστές Java applets: κάθε υπολογιστής έχει την δυνατότητα δηµιουργίας ενός εικονικού µηχανήµατος Java το JVM παρέχει τον τρόπο να κάνει τον κώδικα εκτελέσιµο από οποιοδήποτε υλικό

Ανοικτότητα (1) Ανοικτότητα (2) Ανοικτότητα ενός υπολογιστικού συστήµατος Το χαρακτηριστικό το οποίο καθορίζει αν ένα σύστηµα µπορεί να επεκταθεί και να επαναϋλοποιηθεί µε διαφορετικούς τρόπους Αρχικά καθορίζεται από το ϐαθµό στον οποίο µπορούν να προστεθούν νέες υπηρεσίες διαµοιρασµού πόρων Οι νέες υπηρεσίες είναι διαθέσιµες για χρήση από µία ποικιλία δευτερευόντων προγραµµάτων Πρέπει να είναι διαθέσιµες οι προδιαγραφές και τα τεχνικά στοιχεία των διεπαφών που προσφέρει το σύστηµα στα άτοµα που αναπτύσσουν λογισµικό Η περιγραφή των διεπαφών είναι µόνο η αρχή για την δηµιουργία και την επέκταση των υπηρεσιών Οι προγραµµατιστές πρέπει να χειριστούν την πολυπλοκότητα των κατανεµηµένων συστηµάτων αποτελούνται από πολλά συστατικά τα συστατικά έχουν σχεδιαστεί από διαφορετικούς ανθρώπους Ανοικτότητα (3) Ανοικτότητα (4) Requests For Comments Μία σειρά εγγράφων που γράφονται από τους σχεδιαστές των πρωτοκόλλων του ιαδικτύου. Κάθε ένα από τα οποία είναι γνωστό µε έναν αριθµό. Οι λεπτοµέρειες των πρωτοκόλλων επικοινωνίας του ιαδικτύου εκδόθηκαν σε αυτή τη σειρά. Η τακτική αποτελεί τη ϐάση της τεχνικής κατοχύρωσης µέσω εγγράφων του ιαδικτύου Περιλαµβάνει συζητήσεις και λεπτοµέρειες πρωτοκόλλων Αντίγραφα µπορούν να αναζητηθούν στο www.ietf.org Τα συστήµατα που έχουν σχεδιαστεί για να υποστηρίζουν το διαµοιρασµό πόρων µε αυτό τον τρόπο ορίζονται ως ανοικτά κατανεµηµένα συστήµατα για να δοθεί έµφαση στο γεγονός ότι είναι επεκτάσιµα Μπορούν να επεκταθούν σε επίπεδο υλικού πρόσθεση υπολογιστών στο δίκτυο σε επίπεδο λογισµικού σύσταση νέων υπηρεσιών επαναϋλοποίηση των παλιών Ανεξαρτησία από τους εκάστοτε κατασκευαστές του υλικού

Ασφάλεια (1) Ασφάλεια (2) Πολλοί από τους πόρους ενός συστήµατος έχουν υψηλή πραγµατική αξία για τους χρήστες τους Η ασφάλειά τους είναι ιδιαίτερης σηµασίας Η ασφάλεια έχει τρεις πτυχές: Εµπιστοσύνη προστασία από έκθεση σε άτοµα χωρίς εξουσιοδότηση Ακεραιότητα προστασία από αλλαγές ή διαφθορά ιαθεσιµότητα προστασία από παρεµβολές µε σκοπό να υπάρξει πρόσβαση στους πόρους Σε ένα κατανεµηµένο σύστηµα, διεργασίες που εκτελούνται από διαφορετικό υπολογιστή µπορούν να επικοινωνήσουν µεταξύ τους Κατά την επικοινωνία όµως, υπάρχουν κίνδυνοι ασφάλειας εάν υπάρχει ελεύθερη πρόσβαση σε όλους τους πόρους του τοπικού δικτύου Με τη χρήση ενός firewall για την προφύλαξη του δικτύου, περιορίζουµε την εισερχόµενη και εξερχόµενη κίνηση εν διασφαλίζει την κατάλληλη χρήση των πόρων από τις διεργασίες που εκτελούνται µέσα στο τοπικό δίκτυο εν διασφαλίζει την κατάλληλη χρήση των πόρων του δικτύου που δεν προστατεύονται από firewalls Ασφάλεια (3) Ασφάλεια (4) Η πρόκληση είναι η αποστολή ευαίσθητων πληροφοριών µέσω µηνυµάτων µε ασφαλή τρόπο Η ασφάλεια δεν είναι µόνο ϑέµα απόκρυψης του περιεχοµένου των µηνυµάτων Πρέπει να είναι γνωστή η ακριβής ταυτότητα του χρήστη Πως ϑα γίνει η σωστή πιστοποίηση ενός χρήστη εξ αποστάσεως; Οι δύο αυτές προκλήσεις µπορούν να αντιµετωπιστούν µε την χρήση τεχνικών κρυπτογράφησης Επιθέσεις άρνησης υπηρεσιών Ενας κακόβουλος χρήστης, για κάποιο λόγο, ϑέλει να διακόψει µια υπηρεσία Βοµβαρδίζει την υπηρεσία µε ένα τεράστιο αριθµό ψευδών αιτηµάτων Οι υπόλοιποι χρήστες δεν µπορούν να τη χρησιµοποιήσουν Ασφάλεια κινητού κώδικα Ο κινητός κώδικας πρέπει να χειρίζεται µε προσοχή Κάποιος λαµβάνει ένα εκτελέσιµο πρόγραµµα µέσω ηλεκτρονικού ταχυδροµείου Πως µπορεί να ξέρει εκ των προτέρων αν µπορεί να εκτελέσει τον πρόγραµµα;

υνατότητα Κλιµάκωσης (1) υνατότητα Κλιµάκωσης (2) Τα κατανεµηµένα συστήµατα λειτουργούν αποτελεσµατικά και αποδοτικά σε πολλά διαφορετικά επίπεδα, που εκτείνονται από ένα µικρό τοπικό δίκτυο έως το ιαδίκτυο Ενα σύστηµα διαθέτει δυνατότητα κλιµάκωσης αν οι ϱυθµοί εκτέλεσης των διεργασιών διατηρούνται στα ίδια επίπεδα ανεξάρτητα από πιθανές αυξήσεις των απαιτήσεων των χρηστών Ελεγχος του κόστους των ϕυσικών πόρων Οσο αυξάνεται η απαίτηση για ένα πόρο, ϑα πρέπει να είναι δυνατή η επέκταση του συστήµατος, µε λογικό κόστος, έτσι ώστε αυτή να ικανοποιείται Η συχνότητα πρόσβασης σε ένα ϕάκελο στο τοπικό δίκτυο είναι πιθανό να αυξηθεί όσο αυξάνεται ο αριθµός των χρηστών Εγκατάσταση πρόσθετων διαχειριστών αποθηκευτικών µονάδων για να αποφευχθεί κώλυµα στην απόδοση υνατότητα κλιµάκωσης Για να έχει ένα σύστηµα µε n χρήστες δυνατότητα κλιµάκωσης, η ποσότητα των ϕυσικών πόρων που απαιτούνται για να τους υποστηρίξει ϑα πρέπει να είναι το πολύ O(n) υνατότητα Κλιµάκωσης (3) υνατότητα Κλιµάκωσης (4) Ελεγχος της απώλειας απόδοσης Εστω η διαχείριση ενός συνόλου πληροφοριών του οποίου το µέγεθος είναι ανάλογο µε τον αριθµό των χρηστών ή των πόρων του συστήµατος Οι αλγόριθµοι που χρησιµοποιούν ιεραρχικές δοµές έχουν µεγαλύτερη δυνατότητα κλιµάκωσης από αυτούς που χρησιµοποιούν γραµµικές δοµές Αλλά ακόµα και µε τις ιεραρχικές δοµές αύξηση στο πλήθος εγγραφών επιφέρει κάποιες απώλειες απόδοσης ο χρόνος που απαιτείται για την πρόσβαση σε ιεραρχικά δοµηµένη πληροφορία είναι O(log n), όπου το n είναι το µέγεθος του συνόλου των πληροφοριών Η µέγιστη απώλεια απόδοσης δεν πρέπει να είναι χειρότερη από αυτό το όριο Παρεµπόδιση εξάντλησης πόρων λογισµικού π.χ. η ονοµατολογία που χρησιµοποιείται για τις διευθύνσεις των υπολογιστών στο ιαδίκτυο η χρήση 32 bits ϑέτει ένα ϕυσικό όριο στις δυνατότητες του συστήµατος. Η κατάλληλη λύση στο πρόβληµα αυτό είναι δύσκολη λόγου της αδυναµίας πρόβλεψης των απαιτήσεων των χρηστών µε την πάροδο του χρόνου Αποφυγή κωλυµάτων απόδοσης Οι αλγόριθµοι πρέπει να αποκεντρώνονται ο προκάτοχος του DNS ο πίνακας ονοµάτων υπήρχε σε ένα ϐασικό αρχείο Το DNS αποµάκρυνε αυτό το κώλυµα τµηµατοποιώντας τον πίνακα ονοµάτων µεταξύ πολλαπλών διακοµιστών

Ανεκτικότητα σφαλµάτων (1) Οποιαδήποτε διεργασία, υπολογιστής ή δίκτυο µπορεί να συναντήσει κάποιο σφάλµα κατά την λειτουργία του Οταν προκύπτουν σφάλµατα: 1. Οι διεργασίες µπορεί να παράγουν λανθασµένα αποτελέσµατα 2. Οι διεργασίες µπορεί να σταµατήσουν πριν ολοκληρώσουν τον υπολογισµό Πρέπει να διασφαλισθεί η ανοχή σε σφάλµατα µε κατάλληλο τρόπο έτσι ώστε 1. Να αποτρέπονται λανθασµένα αποτελέσµατα 2. Να ολοκληρώνετε ο υπολογισµός Ανεκτικότητα σφαλµάτων (2) Τα σφάλµατα σε ένα κατανεµηµένο σύστηµα µπορεί να αφορούν συγκεκριµένες µονάδες 1. Ορισµένες µονάδες παύουν να λειτουργούν (ή λειτουργούν µερικώς) 2. Αλλες συνεχίζουν κανονικά την λειτουργία τους Ο σωστός χειρισµός των σφαλµάτων συνιστά τις ακόλουθες τεχνικές: 1 Ανίχνευση σφαλµάτων π.χ. µε την χρήση checksums -- δεν είναι πάντα εφικτό, όπως η ανίχνευση ενός σφάλµατος σε έναν διακοµιστή στο ιαδίκτυο 2 Αντιµετώπιση σφαλµάτων Εφόσον ανιχνευθούν, ορισµένα µπορούν να αντιµετωπιστούν: Μηνύµατα µπορούν να σταλούν εκ νέου εδοµένα µπορούν να γραφτούν σε ένα Ϲεύγος δίσκων Ανεκτικότητα σφαλµάτων (3) Ανεκτικότητα σφαλµάτων (4) 3 Ανοχή σφαλµάτων δεν είναι πάντα πρακτικό να ανιχνεύσουµε και να καλύψουµε όλα τα πιθανά σφάλµατα, π.χ. στο ιαδίκτυο που αποτελείται από τόσες πολλές µονάδες: ένας browser δεν µπορεί να επικοινωνήσει µε τον web server εν αφήνει το χρήστη να περιµένει για πάντα Ενηµερώνει για το πρόβληµα και σταµατάει την λειτουργία Ο χειριστής µπορεί να δοκιµάσει πάλι αργότερα 4 Ανάκτηση από σφάλµατα πρόβλεψη για την επαναφορά των δεδοµένων στην περίπτωση που καταστραφεί µία υπολογιστική µονάδα 5 Πλεονασµός Οι υπηρεσίες µπορούν να κατασκευαστούν έτσι ώστε να ανέχονται τα σφάλµατα µε τη χρήση πλεοναζόντων µονάδων Υπολογίζονται δύο διαφορετικά µονοπάτια επικοινωνίας µεταξύ δύο δροµολογητών στο ιαδίκτυο Στο σύστηµα ονοµασίας domain κάθε πίνακας ονοµάτων αναπαράγεται σε τουλάχιστον δύο διαφορετικούς διακοµιστές Μία ϐάση δεδοµένων αναπαράγεται σε πολλαπλούς διακοµιστές τα δεδοµένα παραµένουν προσβάσιµα µετά τη παρουσία σφάλµατος σε ένα από τους διακοµιστές Η αποτελεσµατική διατήρηση αντιγράφων σε δεδοµένα τα οποία αλλάζουν ταχύτατα, χωρίς να υπάρχει µείωση της απόδοσης, αποτελεί µία σχεδιαστική πρόκληση.

Ανεκτικότητα σφαλµάτων (5) Παραλληλία (1) ιαθεσιµότητα Η διαθεσιµότητα ενός συστήµατος είναι µια µετρική της αναλογίας του χρόνου που είναι διαθέσιµο για χρήση Τα κατανεµηµένα συστήµατα πρέπει να παρέχουν υψηλό ϐαθµό διαθεσιµότητας ακόµα και όταν παρουσιάζονται σφάλµατα στο υλικό Οταν µια µονάδα αντιµετωπίσει κάποιο σφάλµα, ϑα πρέπει να επηρεαστεί µόνο το έργο που παρήγαγαν οι διεργασίες που εκτελούσε η µονάδα αυτή Ενας χρήστης µπορεί να µεταφερθεί σε έναν άλλο υπολογιστή Μια διεργασία µπορεί να ξαναρχίσει σε έναν άλλο υπολογιστή Ενα κατανεµηµένο σύστηµα µπορεί να έχει πολλούς χειριστές Υπάρχει περίπτωση να προκύψουν παράλληλες αιτήσεις για έναν πόρο του συστήµατος Κάθε πόρος του συστήµατος πρέπει να προσφέρεται µε συνέπεια σε όλα τα µέρη του συστήµατος που επιθυµούν να τον χρησιµοποιήσουν ταυτόχρονα Υπηρεσία ηµοπρασιών ιεξάγει δηµοπρασίες απευθύνεται σε πολλαπλούς χρήστες προσφέρει µια συνάρτηση για την καταγραφή προσφορών: makeoffer(ownerid, value) Χρησιµοποιεί µία δοµή δεδοµένων για να καταγράφει όλες τις προσφορές Παραλληλία (2) ιαφάνεια (1) Εάν η υπηρεσία διαχειρίζεται µόνο ένα αίτηµα κάθε ϕορά τότε υπάρχει συνέπεια στην τήρηση των πληροφοριών κάθε προσφοράς Η προσέγγιση περιορίζει τις δυνατότητες κλιµάκωσης του συστήµατος Εποµένως η υπηρεσία πρέπει να µπορεί να εκτελεστεί πολλές ϕορές, ταυτόχρονα Υπηρεσία ηµοπρασιών Εστω δύο ταυτόχρονες κλήσεις στην υπηρεσία: makeoffer(" Αρης", "53 e") makeoffer("πάνος", "88 e") Αν οι αντίστοιχες λειτουργίες διαπλέκονται χωρίς έλεγχο, µπορεί να αποθηκευτούν ως [Πάνος: 53e] και [ Αρης: 88e] ιαφάνεια η απόκρυψη από ένα χρήστη ή ένα προγραµµατιστή του διαχωρισµού των συστατικών σε ένα κατανεµηµένο σύστηµα, έτσι ώστε το σύστηµα να γίνεται αντιληπτό σαν ένα σύνολο και όχι σαν µία συλλογή ανεξάρτητων συστατικών ιαφάνεια πρόσβασης η προσπέλαση σε αποµακρυσµένες µονάδες του συστήµατος γίνεται όπως ακριβώς και για τις τοπικές ιαφάνεια τοποθεσίας κάθε µονάδα είναι προσβάσιµη χωρίς να υπάρχει γνώση της πραγµατικής τοποθεσίας στο σύστηµα. ιαφάνεια µετατόπισης µια µονάδα µπορεί να µετακινηθεί µέσα στο σύστηµα χωρίς αυτό να επηρεάζει την διαφάνεια τοποθεσίας.

ιαφάνεια (2) ιαφάνεια (3) ιαφάνεια αναπαραγωγής ένας πόρος µπορεί να παρουσιάζεται µέσα στο σύστηµα σε πολλαπλά αντίγραφα χωρίς αυτά να είναι ορατά από τους χρήστες. ιαφάνεια παραλληλίας η ταυτόχρονη πρόσβαση στις µονάδες του συστήµατος είναι συνεπής µε την περίπτωση αποκλειστικής πρόσβασης. ιαφάνεια κλιµάκωσης το σύστηµα συνεχίζει να αποδίδει ικανοποιητικά καθώς προσθέτουµε νέες µονάδες. ιαφάνεια απόδοσης επιτρέπει στο σύστηµα να διατηρεί την ίδια απόδοση καθώς αυξάνουν οι ανάγκες χρήσης των µονάδων. ιαφάνεια σφάλµατος η πρόσβαση στις µονάδες του συστήµατος διατηρείται παρά τη παρουσία κάποιου σφάλµατος σε κάποιο επιµέρους σηµείο τους συστήµατος. Οι δύο σηµαντικότερες διαφάνειες είναι οι 1. ιαφάνεια πρόσβασης η προσπέλαση σε αποµακρυσµένες µονάδες όπως µε τις τοπικές 2. ιαφάνεια τοποθεσίας άγνωστη η πραγµατική τοποθεσία µιας µονάδας Η παρουσία τους ή η απουσία τους επηρεάζει σηµαντικά τη χρήση των κατανεµηµένων πόρων. Συχνά αναφέρονται µαζί ως διαφάνεια δικτύου. Σύνοψη 1 ης ιάλεξης Σύνοψη Μαθήµατος Θέµατα Μαθήµατος Γενικά ιαδικασία Υλικό Κατανεµηµένα Συστήµατα Εισαγωγή Απαιτήσεις Λειτουργικότητας Σχεδιαστικές Προκλήσεις Εισαγωγή στα Κατανεµηµένα Συστήµατα Αρχές Κατανεµηµένων Συστηµάτων Απαιτήσεις Λειτουργικότητας Σχεδιαστικές Προκλήσεις Σύνοψη Μαθήµατος Σύνοψη Μαθήµατος Ερώτηση ιάλεξης Επόµενο Μάθηµα

Βιβλιογραφία (1) Πρώτο κεφάλαιο από τις σηµειώσεις του µαθήµατος Τόµος Ι από τις Πανεπιστηµιακές Σηµειώσεις Θεµελιώδη Ζητήµατα Κατανεµηµένων Συστηµάτων (Π.Σπυράκης, Β.Ταµπακάς): 1. Κεφάλαιο 1: Βασικά Χαρακτηριστικά των Κατανεµηµένων Συστηµάτων 2. Κεφάλαιο 2: Σκοποί Σχεδιασµού και Λογικά ϱολόγια Μόνο 2.1, 2.2, 2.3 Βιβλίο Κατανεµηµένα Συστήµατα µε Java (Ι.Κ.Κάβουρας, Ι.Ζ.Μήλης, Γ.Β.Ξυλωµένος, Α.Α.Ρουκουνάκη) 1. Κεφάλαιο 1: Εισαγωγή Βιβλιογραφία (2) Βιβλίο Distributed Computing Fundamentals, Simulations, and Advanced Topics" (H.Attiya, J.Welch) 1. Κεφάλαιο 1: Introduction Βιβλίο Distributed Algorithms" (N.Lynch) 1. Κεφάλαιο 1: Introduction Βιβλίο Introduction to Distributed Algorithms" (G.Tel) 1. Κεφάλαιο 1: Introduction: Distributed Systems Βιβλίο Distributed Systems, Concepts and Design" (G.Coulouris, J.Dollimore, T.Kindberg) 1. Κεφάλαιο 1: Characterization of Distributed Systems Βιβλίο Distributed Systems: Principles and Paradigms" (A.Tanenbaum, M.Steen) 1. Κεφάλαιο 1: Introduction Ερώτηση ιάλεξης Επόµενο Μάθηµα Ερώτηση 1 ης ιάλεξης Πως µπορούµε να συγχρονίσουµε τα ϱολόγια δύο υπολογιστών που συνδέονται από ένα τοπικό δίκτυο χωρίς την χρήση εξωτερικής πηγής; Πως µπορούµε να συγχρονίσουµε τα ϱολόγια δύο υπολογιστών διαφορετικών δυνατοτήτων (π.χ. ο ένας έχει ϱολόι µεγαλύτερης ακριβείας); Τι περιορισµοί υπάρχουν στην ακρίβεια συγχρονισµού; Παράδοση στην επόµενη διάλεξη Σύντοµες απαντήσεις Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος Συστήµατα ικτύων ακτυλίου Πρόβληµα Εκλογής Αρχηγού Μελέτη Ορισµένων Κατανεµηµένων Αλγόριθµων