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

Από DistrSys

Η σελίδα αφορά το μάθημα βασικής επιλογής χειμερινού εξαμήνου "Κατανεμημένα Συστήματα Ι" του Τομέα Εφαρμογών και Θεμελιώσεων.

Ένα Κατανεμημένο Σύστημα αποτελείται από γεωγραφικά ανεξάρτητες, αυτόνομες υπολογιστικές συσκευές, που επικοινωνούν μεταξύ τους και λειτουργούν συντονισμένα για την επίτευξη ενός κοινού στόχου. Χαρακτηριστικά παραδείγματα κατανεμημένων συστημάτων είναι το Internet (Akamai, iTunes), οι P2P εφαρμογές (Skype, Betfair), τα τραπεζικά συστήματα (ATM, PayPal). Σε αντίθεση με τα κεντρικοποιημένα συστήματα, ο σχεδιασμός των κατανεμημένων συστημάτων, η κατανόηση της λειτουργίας τους υπό ιδιαίτερες συνθήκες καθώς και η ανάλυση της συμπέριφοράς τους απαιτεί ειδικές γνώσεις και ικανότητες.

  • Ο Leslie Lamport δηλώνει για ένα κατανεμημένο σύστημα ότι "Γνωρίζεις ότι έχεις ένα όταν ένα σφάλμα ενός Η/Υ που ούτε ήξερες ότι υπήρχε μπορεί να αχρηστεύσει τον Η/Υ σου".
  • Όπως δηλώνει ο Andrew S. Tanenbaum, "Τα κατανεμημένα συστήματα απαιτούν ριζικά διαφορετικό λογισμικό από αυτό που χρησιμοποιούν τα κεντρικοποιημένα συστήματα".

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

Το μάθημα συνδέεται με το μάθημα Κατανεμημένα Συστήματα ΙΙ που εστιάζει στην ανάπτυξη κατανεμημένων συστημάτων (distributed systems) και έχει ως κύριο στόχο την επαφή του φοιτητή με τεχνικές και εργαλεία ανάπτυξης κατανεμημένων εφαρμογών (Java RMI, Hibernate, Spring, Mircosoft .NET, Distributed Ruby) καθώς και τον προγραμματισμό κατανεμημένων εφαρμογών (distributed systems programming).

Περισσότερο Υλικό για τα Κατανεμημένα Συστήματα δίνεται στην ειδική σελίδα που περιέχει βιβλιογραφία και συνδέσμους στο διαδίκτυο.

Οι ανακοινώσεις για το μάθημα μπορούν να βρεθούν στο forum του μαθήματος.



Κατανεμημένα Συστήματα Ι -- Χειμερινό Εξάμηνο 2013-2014

Διδάσκοντες
Ιωάννης Χατζηγιαννάκης (ΠΔ407/80), Παύλος Σπυράκης (καθηγητής), Χρήστος Ζαρολιάγκης (αναπληρωτής καθηγητής)
Επικουρικό
Δημήτρης Καραβίας (μεταπτυχιακοί φοιτητές)
Ώρες διδασκαλίας 
Παραδώσεις, Δευτέρα 13:00 - 15:00, Β3
Περισσότερες πληροφορίες / αρχείο 



Ημερολόγιο Μαθήματος 2013-2014

Δευτέρα, 7 Οκτωβρίου 2013
1η Διάλεξη

  • Εισαγωγή στα Κατανεμημένα Συστήματα

Διαφάνειες διάλεξης σε μορφή PDF

Δευτέρα, 14 Οκτωβρίου 2013
2η Διάλεξη

  • Μοντέλο Σύγχρονων Συστημάτων
  • Εκλογή Αρχηγού

Διαφάνειες διάλεξης σε μορφή PDF
Διαφάνειες διάλεξης σε μορφή PDF (Javascript - LCR - example)

Δευτέρα, 21 Οκτωβρίου 2013
3η Διάλεξη

  • Σύγχρονα Κατανεµηµένα Συστήµατα
  • Αναζήτηση κατά Εύρος

Διαφάνειες διάλεξης σε μορφή PDF

Ανακοίνωση 1ης Άσκησης:

  • Παράδοση: Δευτέρα 18 Νοεμβρίου 2013

Δευτέρα, 4 Νοεμβρίου 2013
4η Διάλεξη

  • Σύγχρονα Κατανεµηµένα Συστήµατα
  • Συναίνεση
  • Σφάλµατα Επικοινωνίας

Διαφάνειες διάλεξης σε μορφή PDF
Συνοπτική παρουσίαση πιλοτικής εφαρμογής σε μορφή PDF
Εγχειρίδιο για την πιλοτική εφαρμογή σε μορφή PDF

Δευτέρα, 11 Νοεμβρίου 2013
5η Διάλεξη

  • Σύγχρονα Κατανεμημένα Συστήματα
  • Συναίνεση Υπό Την Παρουσία Σφαλμάτων Τερματισμού
  • Επικύρωση Δοσοληψιών
  • Βυζαντινά Σφάλματα σε Σύγχρονα Συστήματα

Διαφάνειες διάλεξης σε μορφή PDF

Ανακοίνωση 2ης Άσκησης:

  • Παράδοση: Παρασκευή 29 Νοεμβρίου,
    Παράδοση: Δευτέρα 2 Δεκεμβρίου,
    Παράδοση: Δευτέρα 9 Δεκεμβρίου ώρα 13:00

Δευτέρα, 18 Νοεμβρίου 2013
6η Διάλεξη

  • Μοντέλο Ασύγχρονων Συστημάτων
  • Σφάλματα σε Ασύγχρονα Συστήματα
    • Αδυναμία Εύρεσης Λύσης

Διαφάνειες διάλεξης σε μορφή PDF

Δευτέρα, 25 Νοεμβρίου 2013
7η Διάλεξη

  • Σταθεροποίηση / Αυτο-σταθεροποιούμενοι αλγόριθμοι
    • Βασικές ́Εννοιες - ορισμοί
    • Ιδιότητες
  • Αυτο-σταθεροποιούμενοι αλγόριθμοι
    • Αλγόριθμος Dijkstra -- Αμοιβαίος Αποκλεισμός
    • Αλγόριθμος StabBFS -- Αναζήτηση κατά Εύρος
  • Διαφάνειες διάλεξης σε μορφή PDF

Δευτέρα, 2 Δεκεμβρίου 2013
8η Διάλεξη

Δευτέρα, 9 Δεκεμβρίου 2013
9η Διάλεξη

  • Ασύγχρονα Κατανεμημένα Συστήματα
  • Καθολικές Καταστάσεις
  • Κατασκευή Καθολικών Καταστάσεων
  • Συνεπή Ολικά Στιγμιότυπα

Ανακοίνωση 3ης Άσκησης:

  • Παράδοση: Παρασκευή 10 Ιανουαρίου, ώρα 13:00

Δευτέρα, 16 Δεκεμβρίου 2013
10η Διάλεξη

  • ∆υναμικά Κατανεμημένα Συστήματα
  • Ανώνυμα Κατανεμημένα Συστήματα
  • Πρόβλημα Καταμέτρησης
  • Πρόβλημα Ονοματοδοσίας