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

Κωδικός Μαθήματος:     608
Εξάμηνο διδασκαλίας:     6ο Εξάμηνο

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

Στόχος του μαθήματος
Η κατανόηση εκ μέρους των φοιτητών των βασικών χαρακτηριστικών των κατανεμημένων συστημάτων. Η ανάδειξη και κατανόηση των βασικών προβλημάτων που υπάρχουν σε ένα κατανεμημένο σύστημα υπολογιστών. Η κατανόηση των μηχανισμών που χρησιμοποιούνται για την επίλυση των προβλημάτων σε διαφορετικά επίπεδα (επικοινωνίες, παράλληλη επεξεργασία, διαχείριση κατανεμημένων πόρων, ύπαρξη πολλαπλών αντιγράφων των δεδομένων, κλπ.) Η ενημέρωση τους για τις σύγχρονες τάσεις της τεχνολογίας (client-server applications, middleware, mobile computing, internet-based high-performance computing, grid computing, parallel and distributed systems, κλπ.). Η απόκτηση ικανότητας να αναγνωρίζουν τις συνθήκες λειτουργίας ενός κατανεμημένου συστήματος και να ανταποκρίνονται ικανοποιητικά στις απαιτήσεις που επιβάλλονται από τη συμμετοχή τους σε σχετικά έργα.

Περιγραφή του μαθήματος
Ιστορικά στοιχεία, παραδείγματα κατανεμημένων εφαρμογών και χαρακτηριστικά των κατανεμημένων συστημάτων (hardware και software). Μέσα, πρωτόκολλα, είδη επικοινωνίας, διαμοιρασμός των καναλιών και διαχείριση της επικοινωνίας, στα κατανεμημένα υπολογιστικά συστήματα. Κατανεμημένα πληροφοριακά συστήματα, βάσεις δεδομένων και σχετικά προβλήματα. Εγκυρότητα της κατανεμημένης πληροφορίας και πρόσβαση σε αυτή. Κατανεμημένες διεργασίες (threads, clients, servers, code migration, software agents) και ζητήματα συγχρονισμού. Εργαλεία σχεδίασης, ανάπτυξης και λειτουργίας κατανεμημένων εφαρμογών και συστημάτων. Η έννοια και ο ρόλος του middleware. Κατανεμημένα αντικειμενοστραφή συστήματα και η CORBA. Σύγχρονες εφαρμογές: κινητά δίκτυα, δίκτυα αισθητήρων, τηλεπισκόπηση, προσομοίωση, εικονική πραγματικότητα, κλπ.. Εισαγωγή στην παράλληλη κατανεμημένη επεξεργασία. Αρχιτεκτονικές παράλληλης επεξεργασίας. Μέθοδοι, τεχνικές και δίκτυα διασύνδεσης (Bus-oriented, Cube, Switch Network, Mixed systems). Μελέτη σύγχρονων αρχιτεκτονικών (μηχανές Συμμετρικής Πολυεπεξεργασίας-SMPs, COMA, NUMA, CC-NUMA, Clusters, συστήματα πολυ-υπολογισμού-MPPs). Εμπορικά συστήματα πολυεπεξεργασίας. Παραδείγματα εφαρμογών.
Εργαστήριο Μαθήματος: Οι εργαστηριακές ασκήσεις έχουν σαν αντικείμενο να καταδείξουν την πρακτική εφαρμογή των θεωρητικών εννοιών. Εκτέλεση εργασίας (project) ανάπτυξης κατανεμημένης εφαρμογής client/server με χρήση CORBA.

Ενδεικτική Βιβλιογραφία
  1. Systèmes Informatiques Reparties: Concepts et Techniques, CORNAFION, DUNOD-informatique,1981
  2. Distributed Systems: Principles and Paradigms,A. S. TANENBAUM M. VAN STEEN, Prentice Hall Inc., ISBN 0130888931
  3. Κατανεμημένα Συστήματα με Java, Συστήματα Υπολογιστών Τόμος ΙΙΙ, Ι. Κ. ΚΑΒΟΥΡΑΣ, Ι.Ζ.ΜΗΛΗΣ, Γ. Β. ΞΥΛΩΜΕΝΟΣ, Α.Α. ΡΟΥΚΟΥΝΑΚΗ, Κλειδάριθμος, 2005
  4. Ad Hoc Networking, Addison-Wesley Professional, C. E. PERKINS, ISBN 0201309769, 2000.
  5. Distributed Computing Fundamentals, Simulations, and Advanced Topics, H. ATTIYA,  J. WELCH, McGraw-Hill Publishing Company, ISBN 0471453242
  6. Elements of Distributed Computing,VIJAY K. GARG, Wiley IEEE Press, 2002
  7. Wireless Sensor Networks : An Information Processing Approach, F. ZHAO, L. GUIBAS, Morgan Kaufmann, 2004
  8. Handbook of Sensor Networks : Algorithms and Architectures, Wiley Series on Parallel and Distributed Computing, I. STOJMENOVIC, Wiley-Interscience, 2005
  9. Client/Server Programming with Java and CORBA, 2nd Edition,D. HARKEY, R. ORFALI, John Wiley & Sons, 1998
  10. Advanced CORBA(R) Programming with C++, M. HENNING, S. VINOSKI, Addison-Wesley, 1999
  11. Mobile Computing And Wireless Communications, AMJAD UMAR, Nge Solutions, 2004
  12. Grid Computing: Making The Global Infrastructure a Reality, F. BERMAN, G. FOX, A. J.G. HEY, John Wiley & Sons,2003