Κατανεμημένος και Παράλληλος Προγραμματισμός. Κατανεμημένα Συστήματα. Δεύτερος παγκόσμιος πόλεμος 17/4/2017

Σχετικά έγγραφα
Ενότητα #04. Πληροφοριακά Συστήματα Μεγάλης Κλίμακας Cloud Computing. Δεύτερος Παγκόσμιος Πόλεμος 5/13/2017. Κατανεμημένα συστήματα

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ.

EPL 660: Lab 4 Introduction to Hadoop

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

Υποδομή ΤΠ: Υλικό και λογισμικό

Information Technology for Business

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

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

Linux Terminal Server Project

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

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

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 11: Αρχιτεκτονική Cloud

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

COSMOS CLOUD CMS. Η σύγχρονη επικοινωνία με τον COSMOS σας

COSMOS CLOUD CMS ΤΟ COSMOS CLOUD CMS ΔΕΝ ΕΙΝΑΙ ΜΙΑ ΑΠΛΗ ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΚΟΥ ΓΡΑΦΕΙΟΥ.

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

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

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

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

Τεχνολογίες Πληροφορικής και Επικοινωνιών (ΤΠΕ) στις Μικρομεσαίες Επιχειρήσεις (ΜΜΕ)

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

Διαχείριση Πολιτισμικών Δεδομένων

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

6.2 Υπηρεσίες Διαδικτύου

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Κάντε κλικ για έναρξη

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

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

Μηχανική Λογισμικού για Διαδικτυακές & Φορητές Εφαρμογές

Διαδίκτυο των Αντικειμένων - IoT.

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

Συστήματα πανταχού παρόντος υπολογιστή σε περιβάλλοντα υβριδικών βιβλιοθηκών

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

Ομότιμα συστήματα p2p systems ΠΡΙΝΕΑ ΜΑΡΙΑ 10 ΕΞΑΜΗΝΟ

Πληροφοριακά Συστήματα Μεγάλης Κλίμακας Cloud Computing

Κεφάλαιο 13: : Εφαρμογές νέφους. Καραμαούνας Π. 1

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Μάθημα 2 ο ΟΡΓΑΝΩΣΗ ΣΥΣΤΗΜΑΤΟΣ ΑΡΧΕΙΩΝ

Η τεχνολογία Grid και η δηµιουργία του παγκόσµιου υπερυπολογιστικού πλέγµατος. Χρήστος Μάρκου Ινστιτούτο Πυρηνικής Φυσικής

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου

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

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

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

Ραγδαία τεχνολογική εξέλιξη

Cloud Computing & Data Management (Υπολογιστικά Νέφη & Διαχείριση Δεδομένων)

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

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

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

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

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

Κεφάλαιο 1ο Πολυπρογραμματισμός Πολυδιεργασία Κατηγορίες Λειτουργικών Συστημάτων

Διαχείριση Δεδομένων

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

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Υπολογιστική Νέφους Cloud computing

Σύγχρονες Απειλές & Προστασία. Γιάννης Παυλίδης Presales & Tech Support Engineer

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

Είδη Groupware. Λογισμικό Συνεργασίας Ομάδων (Groupware) Λογισμικό Groupware. Υπάρχουν διάφορα είδη groupware ανάλογα με το αν οι χρήστες εργάζονται:

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1

Για την επιχείρησή σας. ModernBiz Glossary Microsoft Corporation. Με επιφύλαξη κάθε νόμιμου δικαιώματος.

«Αναβαθμισμένη υπηρεσία ασύγχρονης dτηλεκπαίδευσ ης ΠΣΔ:

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

Γεω-χωρικές υπηρεσίες και τεχνολογίες WEB. Βασίλειος Βεσκούκης Μηχανικός ΗΥ, Επ.Καθ. ΕΜΠ

L. M. Vaquero, L. Rodero Merino, J. Caceres, M. Lindner

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

Εφαρμογές Υπολογιστικής Νοημοσύνης στις Ασύρματες Επικοινωνίες

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

EM 361: Παράλληλοι Υπολογισμοί

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. Γρήγορος οδηγός αναφοράς 1/4/2017

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Εικονική Μνήμη (Virtual Μemory)

ΠΑΡΆΡΤΗΜΑ Β Ενδεικτική Λίστα Διδασκόντων Μελών Δ.Ε.Π. του Τμήματος

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

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας.

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

Διαφορές single-processor αρχιτεκτονικών και SoCs

Αντίγραφα στο σύννεφο

Πώς λειτουργεί το Google?

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

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

AN IMPLEMENTATION OF THE CLOUD BASED SCHOOL

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

DO Y O Y U S PEAK K F U F TURE R?

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

Transcript:

Κατανεμημένος και Παράλληλος Προγραμματισμός Ηλίας Κ. Σάββας Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Θεσσαλίας Email: savvas@teilar.gr Κατανεμημένα Συστήματα Ιστορικά στοιχεία Παραδείγματα χρήσης Ορισμοί Κατανεμημένα συστήματα αρχείων Αρχιτεκτονικές κατανεμημένων συστημάτατων Παρουσίαση των: Network File System, Google File System, Hadoop Distributed File System Ενότητα #8: Κατανεμημένα συστήματα 2 Δεύτερος παγκόσμιος πόλεμος Οι Γερμανοί χρησιμοποιούν το Enigma για να κρυπτογραφούν τα μηνύματά τους, Το M4 (4 rotor μοντέλο του Enigma) χρησιμοποιείται για πρώτη φορά τον Φεβρουάριο του 1942, Οι Βρετανοί χρειάστηκαν 10 μήνες (μέχρι τον Δεκέμβριο του 1942) για να αρχίσουν να αποκρυπτογραφούν τα μηνύματα, Η Βρετανία χρησιμοποίησε μία ολόκληρη μονάδα ειδικών για να σπάσουν την κρυπτογράφηση που παρήγαγαν οι μηχανές Enigma. Ενότητα #8: Κατανεμημένα συστήματα 3 1

Κατανεμημένο σύστημα vs Enigma 2006: Για την αποκρυπτογράφηση του πρώτου μηνύματος χρειάστηκαν 42 ημέρες με χρήση 45 υπολογιστών, (τεχνικές που χρησιμοποιήθηκαν: μία μίξη από brute-force και Hill-climbing) Ένα υπολογιστής στα 1.2 GHz θα χρειαζόταν 2,907 ώρες (121 ημέρες), Το δεύτερο μήνυμα αποκρυπτογραφήθηκε σε 4 ημέρες με χρήση 2,500 υπολογιστών, http://www.bytereef.org/m4_project.html Ενότητα #8: Κατανεμημένα συστήματα 4 Κατανεμημένα συστήματα και εξωγήινοι SETI@home είναι ένα επιστημονικό πείραμα που χρησιμοποιεί υπολογιστικούς πόρους συνδεδεμένους μέσω του Internet για αναζήτηση εξωγήινης νοημοσύνης (Search for Extraterrestrial Intelligence - SETI), Μπορούμε να συμμετέχουμε τρέχοντας ένα πρόγραμμα πελάτης το οποίο κατεβάζει και αναλύει δεδομένα ραδιοτηλεσκόπιων (Download, install και εκτέλεση του BOINC software που χρησιμοποιείται από το SETI@home), http://setiathome.berkeley.edu/ Ενότητα #8: Κατανεμημένα συστήματα 5 Εθελοντικά projects Project Ποιός Επιστημονική περιοχή Rosseta@home U. Of Washington Μέγιστος # υπολογιστών Μέγιστη ισχύς Βιολογία 100,000 ~100 Tflops Folding@home U. Of Stanford Bιολογία 406,000 ~7.87 Pflops Climate Prediction BOINC. U. Of Oxford Κλιματική αλλαγή U. Of California, Berkeley Βιοφαρμακολογία 150,000 ~90 Tflops 527,000 5.43 Pflops http://en.wikipedia.org/wiki/list_of_distributed_computing_project s Ενότητα #8: Κατανεμημένα συστήματα 6 2

Κατανεμημένα συστήματα ορισμοί & σχόλια (1 από 3) Σύνολο ανεξαρτήτων και αυτόνομων υπολογιστών τους οποίος ο τελικός χρήστης τους αντιλαμβάνεται σαν ένα υπολογιστή, Ένα σύνολο συνδεδεμένων μεταξύ τους με κάποιο τρόπο υπολογιστών (nodes), Ο κάθε υπολογιστής μπορεί να είναι από ένα απλό workstation, laptop, έξυπνη συσκευή μέχρι και υπολογιστική συστοιχία, Ο κάθε υπολογιστής κόμβος είναι αυτόνομες και έχει χαρακτηριστικά (υπολογιστική ισχύ, λειτουργικό σύστημα, κλπ) τα οποία μπορεί να διαφέρουν μεταξύ τους Η λέξη κλειδί είναι ΕΤΕΡΟΓΕΝΕΙΑ!!! Ενότητα #8: Κατανεμημένα συστήματα 7 Κατανεμημένα συστήματα ορισμοί & σχόλια (2 από 3) Το δίκτυο με το οποίο επικοινωνούν μπορεί να είναι μη κανονικά και δυναμικό 1 2 6 3 7 5 4 8 9 Ενότητα #8: Κατανεμημένα συστήματα 8 Κατανεμημένα συστήματα ορισμοί & σχόλια (3 από 3) Ο όρος δυναμικό σημαίνει ότι ο κάθε κόμβος μπορεί να αποχωρεί ανά πάσα στιγμή (λόγω βλάβης ή και οτιδήποτε άλλο) ή νέοι κόμβοι εισέρχονται στο σύστημα. Clusters Network Προβλήματα: ετερογένεια, έλλειψη καθολικής πληροφόρησης για το σύστημα, έλλειψη προτύπων. Mobile Devices Ενότητα #8: Κατανεμημένα συστήματα 9 3

Ετερογένεια Η ετερογένεια συνήθως εκφράζεται μα τους ακόλουθους παράγοντες: Υπολογιστική ισχύς και πόροι: Ο κάθε κόμβος μπορεί έχει την δική του υπολογιστική ισχύ η οποία μπορεί να μεταβάλεται από την ισχύ ενός laptop ή έξυπνης συσκευής μέχρι την ισχύ μίας υπολογιστικής συστοιχίας. Οι πόροι που διαθέτει μπορεί να διαφέρουν επίσης (πχ αποθηκευτικοί χώροι), Δίκτυο επικοινωνίας: Η τοπολογία του δικτύου μπορεί να είναι μη κανονική και δυναμική. Ο κάθε κόμβος μπορεί να αποχωρεί ή νέοι κόμβοι να εισέρχονται ανά πάσα στιγμή στο σύστημα. Το bandwidth μεταξύ κόμβων μπορεί επίσης να διαφέρει, Εφαρμογές: Η κάθε εργασία που υποβάλλεται στο σύστημα έχει τα δικά της χαρακτηριστικά και απαιτήσεις (πχ λειτουργικό σύστημα, ταχύτητα εκτέλεσης, δεδομένα). Ενότητα #8: Κατανεμημένα συστήματα 10 Πλεονεκτήματα ΚΣ έναντι μεγάλων παράλληλων μηχανών Οικονομία: Ταχύτητα: Ενδογενής κατανομή: Αξιοπιστία: Κλιμάκωση: Ανεξάρτητοι υπολογιστές προσφέρουν καλύτερη σχέση τιμής / απόδοσης από τα mainframes. Ένα κατανεμημένο σύστημα διαθέτει μεγαλύτερη ισχύ από ένα mainframe. Μερικές εφαρμογές χρειάζονται δεδομένα κατανεμημένα σε διαφορετικές μηχανές κατανεμημένα σε διαφορετικές γεωγραφικές περιοχές. Εάν ένας κόμβος καταστραφεί το σύστημα μπορεί να επιβιώσει. Η υπολογιστική ισχύς μπορεί να κλιμακώνει ανάλογα με τις ανάγκες των εφαρμογών που υποβάλλονται στο σύστημα. Ενότητα #8: Κατανεμημένα συστήματα 11 Πλεονεκτήματα ΚΣ έναντι απομονωμένων υπολογιστών Διαμοίραση δεδομένων: Διαμοίραση πόρων: Επικοινωνίες: Ελαστικότητα: Επιτρέπει πολλούς χρήστε να έχουν προσπέλαση σε κοινές βάσεις δεδομένων Επιτρέπει πολλούς χρήστες να μοιράζονται ακριβούς υπολογιστές και περιφερειακά. Οι επικοινωνίες μεταξύ των χρηστών είναι εύκολη και απλή (email, κοινωνικά δίκτυα, ) Διαμοίραση των εργασιών σε πολλούς υπολογιστές. Ενότητα #8: Κατανεμημένα συστήματα 12 4

Αρχιτεκτονικές Client Server, Peer to Peer P2P Ενότητα #8: Κατανεμημένα συστήματα 13 Client Server (1 από 2) Ο κάθε κόμβος του ΚΣ είτε παρέχει υπηρεσίες σε άλλους είτε ζητάει άλλους να εκτελέσουν υπηρεσίες: Client: αιτείται υπηρεσίες, Server: παρέχει υπηρεσίες. Client Server Ενότητα #8: Κατανεμημένα συστήματα 14 Client Server (2 από 2) Client 1 Αίτηση εκτέλεσης υπηρεσίας Server 1 Σκέφτομαι (Εκτελεί τις αιτήσεις) Client 2 Client 3 Δίκτυο επικοινωνίας Server 2 Server 3 Server M Client N Επιστροφή αποτελέσματος της υπηρεσίας Ενότητα #8: Κατανεμημένα συστήματα 15 5

P2P (1 από 4) Ο κάθε κόμβος μπορεί να είναι ταυτόχρονα και client KAI server. P2P: μπορεί να ορισθεί εύκολα ότι είναι ακριβώς ότι δεν είναι το μοντέλο client-server! Client Server Ενότητα #8: Κατανεμημένα συστήματα 16 P2P (2 από 4) Συνασπισμός ΙΣΟΤΙΜΩΝ Node Node Ενότητα #8: Κατανεμημένα συστήματα 17 P2P (3 από 4) Ενότητα #8: Κατανεμημένα συστήματα 18 6

P2P (4 από 4) Συμμετρικό client-server: Ο κάθε κόμβος εξυπηρετεί και εξυπηρετείται. Ασύγχρονο: πρέπει να πληροφορηθεί ο server για αλλαγές και τις οποίες είναι σε θέση να μάθει. Συνασπισμός ίσων: Προσφέρει συμμετρία όχι μόνο σε επίπεδο επικοινωνιών και εκτέλεσης εργασιών αλλά και σε επίπεδο λήψης αποφάσεων. Ενότητα #8: Κατανεμημένα συστήματα 19 Παράλληλα έναντι κατανεμημένων Ένα παράλληλο σύστημα συνήθως: Πολλοί επεξεργαστές / πυρήνες σε ένα υπολογιστή, Δίκτυο επικοινωνίας: κανονικό, Ομογενές. Ένα κατανεμημένο σύστημα συνήθως: Πολλοί υπολογιστικοί πόροι γεωγραφικά κατανεμημένοι Δίκτυο επικοινωνίας: μη κανονικό, Ετερογενές. Ενότητα #8: Κατανεμημένα συστήματα 20 Είδη κατανεμημένων συστημάτων Computational GRID, Peer to Peer systems P2P, Computational Clusters, Mobile Computing, Nomadic Computing, Ubiquitous Computing, Utility Computing, Cloud Computing,. Ενότητα #8: Κατανεμημένα συστήματα 21 7

Grid Συνδυασμός υπολογιστικών πόρων για την επίτευξης ενός κοινού στόχου. Το Grid μπορεί να θεωρηθεί σαν ένα κατανεμημένο σύστημα με μη αλληλεπιδρώντα φόρτο εργασίας και να χρησιμοποιεί ένα πολύ μεγάλο αριθμό αρχείων, Χρησιμοποιεί middleware για τον συντονισμό υπολογιστικών και δικτυακών πόρων με αποτέλεσμα να εμφανίζεται σαν μία ιδεατή μονάδα, Ο στόχος είναι να παρέχει στους χρήστες τους πόρους όποτε και όταν τους χρειάζονται (όπως και το ηλεκτρικό ρεύμα). Ενότητα #8: Κατανεμημένα συστήματα 22 Ποιοι χρησιμοποιούν το GRID? GRIDs χρησιμοποιούνται και κατά κύριο λόγο σε επιστήμες όπως χημεία, φυσική και γενετική. Επίσης μαθηματικοί, και η κρυπτογραφία έχουν αρχίσει να τα χρησιμοποιούν. Η τεχνολογία Grid ουσιαστικά παρέχει τεράστια υπολογιστική ισχύ, Ένα από τα ποιο γνωστά grids αποτελεί το SETI@home project, κατά το οποίο εκατομμύρια εθελοντές το μόνο που έχουν να κάνουν είναι να κατεβάσουν ένα screensaver το οποίο χρησιμοποιεί την υπολογιστική ισχύ όταν ο ΗΥ είναι σε αδράνεια για να αναλύει δεδομένα για αναζήτηση εξωγήινης ζωής. Ενότητα #8: Κατανεμημένα συστήματα 23 Γιατί είναι το GRID σημαντικό? Τα Grids δίνουν την δυνατότητα σε ερευνητές να εκτελούν ερευνητικά projects τα οποία θα ήταν ανέφικτα σε αντίθετη περίπτωση κυρίως λόγω της φυσικής τοποθεσίας σημαντικών πόρων. Για παράδειγμα, ερευνητές στην Ελλάδα μπορούν να διεξάγουν έρευνα η οποία χρησιμοποιεί databases που βρίσκονται σε όλη την Ευρώπη, μηχανήματα (πχ τηλεσκόπια) που είναι στην Ιαπωνία και υπολογιστική ισχύ από τις Ενωμένες Πολιτείες. Ενότητα #8: Κατανεμημένα συστήματα 24 8

Ποια είναι τα προβλήματα? Ασφάλεια: Η διάθεση υπολογιστικών πόρων (και όχι μόνο) διαδικτυακά αυξάνει δραματικά τα προβλήματα ασφάλειας και τους κινδύνους. Πολυπλοκότητα: η έμφυτη ετερογένεια, οι πολλοί διαφορετικοί πόροι (από βάσεις δεομένων μέχρι ηλεκτρονικά μικροσκόπια), η γεωγραφική διασπορά των πόρων κλπ αποτελούν μόνο λίγες πτυχές του προβλήματος του ότι όλα αυτά πρέπει να συνεργάζονται αρμονικά δίνοντας την αίσθηση της μίας μονάδας. Το middleware είναι ιδιαίτερα δύσκολο να δημιουργηθεί ώστε να παρέχει όλα τα παραπάνω. Χρονοπρογραμματισμός: η διαχείριση των υποβαλλομένων εργασιών στο σύστημα λόγω του μεγάλου αριθμού τους αλλά και της διαφορετικότητας των απαιτήσεων δημιουργούν την ανάγκη ενός πολύ χρηστικού συστήματος διαχείρισης και χρονοπρογραμματισμού όλων αυτών των πόρων. Ενότητα #8: Κατανεμημένα συστήματα 25 P2P (1 από 3) Ένα τυπικό P2P σύστημα αποτελείται από μεγάλο αριθμό ανεξαρτήτων και αυτόνομων κατανεμημένων κόμβων οι οποίοι ονομάζονται peers, Τα Peers μοιράζονται δεδομένα και άλλους πόρους όπως υπολογιστική ισχύ και αποθηκευτικούς χώρους ενώ συνεργάζονται μεταξύ τους σε μία ισότιμη βάση χωρίς κεντρική διαχείριση με άλλα λόγια τα peers έχουν την ικανότητα της αυτόοργάνωσης. Ενότητα #8: Κατανεμημένα συστήματα 26 P2P (2 από 3) Σε αντίθεση με το μοντέλο client-server όλα τα peers είναι ισότιμα και λειτουργούν ταυτόχρονα και σαν clients και σαν servers, Η επιτυχία του Internet και η τεράστια ανάπτυξή των επιδόσεων τόσο σε δικτυακές εφαρμογές όσο και σε υπολογιστική ισχύ και αποθηκευτικούς χώρους επέφερε μια νέα εποχή στην πληροφορική τεχνολογία, Εφαρμογές: Napster, KaZaA, Gnutella, και Freenet αποτελούν μερικά παραδείγματα για την δημοφιλία των P2P συστημάτων. (Η ειρωνεία βέβαια είναι ότι το Napster, ένα από τα πρώτα P2P συστήματα βασιζόταν σε ένα κεντρικό registry), Το Gnutella αποτελεί το πιο ακριβή ορισμό ενός P2P συστήματος. Κάθε του κόμβος λειτουργεί μόνος του και αυτό-οργανώνεται έχοντας πληροφόρηση για ένα μικρό υποσύνολο κόμβων τα οποία αποτελούν την λεγόμενη γειτονιά του (γειτονικοί κόμβοι). Ενότητα #8: Κατανεμημένα συστήματα 27 9

P2P (3 από 3) Μέτρηση απόστασης (Norm): Ο όρος γειτονιά μπορεί να εκφρασθεί με οποιαδήποτε μετρική η οποία απεικονίζει τις παραμέτρους του συστήματος σε ένα διάνυσμα 1. Είτε άμεσα γείτονες, 2. Είτε αρκετά κοντά (μπορούν να επικοινωνήσουν σε ένα προκαθορισμένο χρόνο) 2 1 3 4 5 6 7 8 Ενότητα #8: Κατανεμημένα συστήματα 28 9 Computational Clusters Μία υπολογιστική συστοιχία αποτελείται από ένα σύνολο υπολογιστικών κόμβων οι οποίοι επικοινωνούν με ένα πολύ γρήγορο δίκτυο,. Επομένως αποτελούν ένα υποσύνολο ενός ετερογενούς κατανεμημένου συστήματος το οποίο με την σειρά του μπορεί να αποτελείται από ένα σύνολο υπολογιστικών συστοιχιών. Ενότητα #8: Κατανεμημένα συστήματα 29 Mobile Computing Το να έχεις έναν ΗΥ και όλα τα απαραίτητα αρχεία και εφαρμογές οπουδήποτε. Τρία χαρακτηριστικά: 1) Κινητές επικοινωνίες, 2) Κινητό hardware, 3) Κινητός software. Περιορισμοί: Ανεπαρκές bandwidth, Ασφάλεια, Προβλήματα μετάδοσης (πχ καιρικές συνθήκες, ), Πιθανές αλληλεπιδράσεις με μηχανισμούς υγείας (πχ βηματοδότες), Αλληλεπιδράσεις με ανθρώπινο παράγοντα (πχ μικρά πληκτρολόγια, οθόνες, touch pads, ). Ενότητα #8: Κατανεμημένα συστήματα 30 10

Nomadic Computing Ουσιαστικά ένας άλλος όρος του mobile computing, Nomadic Computing είναι η χρήση φορητών υπολογιστικών συσκευών (όπως laptop, tablet, έξυπνων τηλεφώνων κλπ) σε συνδυασμό με τις κινητές επικοινωνίες ώστε να μπορούν οι χρήστες να έχουν πρόσβαση στο Internet και σε δεδομένα που υπάρχουν στο υπολογιστή στο σπίτι τους ή στο χώρο δουλειάς τους από παντού στον κόσμο, Χρήστες που χρησιμοποιούν ένα τέτοιο σύστημα αναφέρονται σαν technomads, και η ικανότητα χρήσης ενός τέτοιου συστήματος σαν nomadicity. Ενότητα #8: Κατανεμημένα συστήματα 31 Ubiquitous Computing (Pervasive Computing - Ambient Intelligence: AmI) Μηχανές που ταιριάζουν σε ανθρώπινο περιβάλλον παρά το να χρησιμοποιούν οι άνθρωποι το δικό τους (Wikipedia) Το Pervasive computing δεν αποτελεί πλέον μια απλώς νέα ICT κατεύθυνση έρευνας αλλά μία νέα τεχνολογία η οποία επηρεάζει σε όλα τα επίπεδα την ανθρώπινη κοινωνία. Ενότητα #8: Κατανεμημένα συστήματα 32 Ubiquitous Computing Υπολογιστικές και δικτυακές ικανότητες έχουν ενσωματωθεί σε καθημερινές συσκευές υποστηρίζοντας την συλλογή, επεξεργασία και ανταλλαγή πληροφορίας με ένα έξυπνο τρόπο. Ευφυείς συσκευές που αλληλεπιδρούν και μαθαίνουν από το περιβάλλον, ανταλλάσουν πληροφορίες, αποθηκεύουν και διαχειρίζονται τα δικά τους δεδομένα, και μπορούν να αυτόδιαχειρίζονται. Ενότητα #8: Κατανεμημένα συστήματα 33 11

Utility Computing Συνάθροιση υπολογιστικών πόρων όπως υπολογιστική ισχύς, αποθηκευτικός χώρος, υπηρεσίες κλπ, σαν μετρήσιμες υπηρεσίες παρόμοιες με αυτές της κοινής ωφέλειας (όπως παροχή νερού, τηλεφωνία, μεταφορές κλπ), (πηγή: Wikipedia), Το utility computing προσφέρει on demand παροχή infrastructure, εφαρμογών κλπ, με ασφάλεια και δυνατότητα κλιμάκωσης σε ένα υπολογιστικό περιβάλλον πάνω από το Internet για κάποιο αντίτιμο. Οι πελάτες χρησιμοποιούν αυτό το υπολογιστικό περιβάλλον και πληρώνουν ανάλογα την χρήση (όπως για παράδειγμα το νερό ή το ρεύμα). Ενότητα #8: Κατανεμημένα συστήματα 34 Δημόσιες υπηρεσίες κοινής ωφέλειας (Public Utilities) Νερό, Ηλεκτρισμός, Μεταφορές, Επικοινωνίες (τηλεφωνία σταυερή και κινητή), Ράδιο, Τηλεόραση ΔΙΑΔΙΚΤΥΟ,. Ενότητα #8: Κατανεμημένα συστήματα 35 Κοινά χαρακτηριστικά UC και PU (1 από 3) Ανάγκη: απαίτηση διαθεσιμότητας και χρήσης των υπηρεσιών σε καθημερινή βάση. Μείωση της ποιότητας ζωής χωρίς την υπηρεσία διαθέσιμη, Αξιοπιστία: οι υπηρεσίες πρέπει να είναι πάντα διαθέσιμες όταν τις χρειάζεται ο χρήστης. Μία προσωρινή ή μικρής διάρκεια διακοπή της υπηρεσίας μπορεί να δημιουργήσει μικροαναστάτωση. Μια μεγάλης διάρκειας διακοπή θα επιφέρει δραματικές επιπτώσεις. Ενότητα #8: Κατανεμημένα συστήματα 36 12

Κοινά χαρακτηριστικά UC και PU (2 από 3) Χρηστικότητα: Ασχέτως το πόσο υψηλής τεχνολογίας είναι η υπηρεσία, από την πλευρά του χρήστη πρέπει να είναι όσο το δυνατόν πιο απλή και φιλική. Οι χρήστες πρέπει να την διαχειρίζονται με την ιδιότητα plug-and-play, Τιμολόγηση: Επειδή πρέπει πάντα να ανταποκρίνονται στις ανάγκες των χρηστών, είναι λογικό να διαθέτουν τους κατάλληλους πόρους ώστε ακόμη και σε περιόδους αιχμής να είναι διαθέσιμοι. Αυτό σημαίνει την ανάγκη περισσότερων πόρων από αυτούς που ανταποκρίνονται σε μία μέση κατανάλωση. Αυτό ΔΕΝ πρέπει να επηρεάσει την τιμολογιακή πολιτική. Ενότητα #8: Κατανεμημένα συστήματα 37 Κοινά χαρακτηριστικά UC και PU (3 από 3) Οικονομία κλίμακας: Αυτές οι υπηρεσίες παρέχονται από εμπορικές επιχειρήσεις. Επομένως μπορούν να εκτεθούν σε οικονομία κλίμακας και κατά συνέπεια ευνοούνται οι μεγαλύτεροι πάροχοι έναντι των μικρότερων, Αποκλειστικότητα υπηρεσιών: Η οικονομία κλίμακας μπορεί να ωφεληθεί σε ένα μονοπωλιακό περιβάλλον. Σε μια τέτοια περίπτωση, η κυβέρνηση μπορεί να παρέχει αποκλειστικό franchise σε κάποια γεωγραφική περιοχή και να προσδιορίσει επακριβώς την τιμολογιακή πολιτική. Με τα προσδοκώμενα οφέλη από ένα αποκλειστικό (και μονοπωλιακό) franchise πρέπει να υπάρξει και η υποχρέωση παροχής των υπηρεσιών σε όλους τους χρήστες ακόμη και εάν για κάποιους από αυτούς η παροχή της υπηρεσίας δεν είναι επικερδής. Ενότητα #8: Κατανεμημένα συστήματα 38 Κατανεμημένα Συστήματα Αρχείων Distributed File Systems Ή και Network File Systems Ενότητα #8: Κατανεμημένα συστήματα 39 13

Συστήματα αρχείων - File Systems Υπεύθυνα για: Ονοματολογία, δημιουργία, διαγραφή, ανάκτηση, τροποποίηση και προστασία όλων των αρχείων στο σύστημα. Στον χρήστη ένα αρχείο εμφανίζεται με 3 λογικές ιδιότητες: Όνομα αρχείου, χαρακτηριστικά αρχείου, μέγεθος αρχείου. Συμβολικά ονόματα αρχείων απεικονίζονται με μοναδικές φυσικές ταυτότητες (id) αρχείων με τις οποίες εντοπίζεται η φυσική τους θέση (αυτή είναι και η βασική λειτουργία των directory services στο σύστημα αρχείων). Ενότητα #8: Κατανεμημένα συστήματα 40 Βασικά συστατικά ενός Σ.Α. Directory Service Authorization service Ονοματολογία, προσθήκη και διαγραφή αρχείων Προσπέλαση αρχείων File service System service Transaction Basic Ταυτόχρονη χρήση και διαχείριση αντιγράφων Read/write και get/set Device, cache, και block management Ενότητα #8: Κατανεμημένα συστήματα 41 Κατανεμημένα Συστήματα Αρχείων Distributed File Systems DFS ή αλλιώς Network File System NFS: Μέθοδοι αποθήκευσης, προσπέλασης και διαχείρισης αρχείων βασισμένα στην αρχιτεκτονική client/server. Σε ένα DFS, ένας η και περισσότεροι servers αποθηκεύουν αρχεία τα οποία μπορούν να προσπελασθούν με τα κατάλληλα δικαιώματα χρήσης από πολλούς απομακρυσμένους clients του δικτύου. Επομένως επιτρέπουν πολλούς κόμβους να μοιράζονται κοινά αρχεία και άλλους αποθηκευτικούς πόρους. Οργανώνουν τα αρχεία σε μία ιεραρχική δομή: Files, directories, a root directory) Ενότητα #8: Κατανεμημένα συστήματα 42 14

Ιεραρχική δομή ενός Σ.Α. Root Cloud Computing Other Lectures Reports Projects L_1 L_2 L_3 L_12 Ενότητα #8: Κατανεμημένα συστήματα 43 Distributed File System - DFS Ένα DFS αποτελεί ένα Σ.Α. το οποίο μπορεί να είναι γεωγραφικά κατανεμημένο αλλά παρουσιάζεται στου χρήστες σαν ένα απλό κεντρικοποιημένο σύστημα, Επιτρέπει πρόσβαση από πολλούς ταυτόχρονα κόμβους δια μέσω του δικτύου. Δηλαδή πολλοί κόμβοι ταυτόχρονα μοιράζονται αρχεία και αποθηκευτικούς πόρους, Transparency είναι η λέξη κλειδί σε ένα DFS όπου αρχεία διεσπαρμένα γεωγραφικά δίνουν την αίσθηση ότι βρίσκονται όλα μαζί σε ένα σημείο (πχ σε ένα τοπικό δίσκο). Ο αριθμός και η γεωγραφική κατανομή των servers και των αποθηκευτικών μέσων είναι κατά κάποιο τρόπο αόρατος και εναπόκειται στο DFS για την προσπέλαση και την μεταφορά των δεδομένων. Ενότητα #8: Κατανεμημένα συστήματα 44 Χαρακτηριστικά DFS (1 από 3) 1. Dispersed Clients: Login Transparency: Log in σε κάθε host με μία κοινή login διαδικασία και ένας κοινός τρόπος εμφάνισης του συστήματος αρχείων, Access Transparency: Κοινός μηχανισμός προσπέλασης όλων των αρχείων ανεξάρτητα της φυσικής θέσης αποθήκευσής τους. 2. Dispersed Files: Τα αρχεία παρουσιάζοντα ομοιόμορφα στους clients (προφανώς πρέπει στο όνομα του αρχείου να υπάρχει και η πληροφορία σχετικά με την φυσική του θέση). Ενότητα #8: Κατανεμημένα συστήματα 45 15

Χαρακτηριστικά DFS (2 από 3) 3. Πολλοί χρήστες (αρχεία μπορούν να μοιράζονται ταυτόχρονα από πολλούς χρήστες): Concurrency transparency: Μια αλλαγή σε κάποιο αρχείο από μία διεργασία δεν πρέπει να αλλοιώνει την σωστή εκτέλεση άλλης διεργασίας στο ίδιο αρχείο, Concurrency control: Διαφορετικές διεργασίες που επιδρούν στο ίδιο αρχείο νομίζουν ότι το αρχείο αποτελεί αποκλειστικότητά τους. Ενότητα #8: Κατανεμημένα συστήματα 46 Χαρακτηριστικά DFS (3 από 3) 4. Πολλαπλά αντίτυπα αρχείων: Αρχεία σε ένα DFS πρέπει να αντιγράφονται και διατηρούνται σε πολλαπλές θέσεις έτσι ώστε εξασφαλίζεται η διαθεσιμότητά τους και να επιτρέπεται η χρήση τους από πολλούς clients ταυτόχρονα (efficiency), Ένα DFS αλλάζει αυτόματα όλα τα αντίγραφα εάν σε κάποιο από αυτά έχουν επέλθει αλλαγές χωρίς να χρειάζεται επέμβαση των clients, οι οποίοι έτσι και αλλιώς δεν έχουν αντίληψη ότι υπάρχουν πολλά αντίγραφα. Ενότητα #8: Κατανεμημένα συστήματα 47 DFS / NFS (1 από 2) Το DFS χρησιμοποιεί έναν ενιαίο τρόπο ονοματολογίας και απεικόνισης ώστε να είναι σε θέση να εντοπίζει που βρίσκονται οι φυσικές θέσεις των αρχείων, Όταν κάποιος client διαχειρίζεται ένα αρχείο από τον server, το αρχείο εμφανίζεται σαν αρχείο του τοπικού συστήματος αρχείων και ο χρήστης είναι σε θέση να εργαστεί με αυτό όπως και εάν ήταν αποθηκευμένο τοπικά. Όταν ο χρήστης τελειώσει την εργασία του με το αρχείο, αυτό επιστρέφει στον server ο οποίος το αποθηκεύει στο DFS, Ενότητα #8: Κατανεμημένα συστήματα 48 16

DFS / NFS (2 από 2) Τα DFS συστήματα έχουν το πλεονέκτημα να διαχειρίζονται και διαμοιράζουν αρχεία σε πολλαπλούς clients και να παρέχουν ένα κεντρικοποιημένο σύστημα διαχείρισης έτσι ώστε οι υπολογιστές clients να μην χρειάζεται να χρησιμοποιούν τους δικούς τους πόρους, Οι client κόμβοι δεν έχουν άμεση πρόσβαση στο σύστημα αρχείων αλλά μέσω κάποιου πρωτόκολλου δικτύων (συνήθως επάνω από TCP/IP). Ενότητα #8: Κατανεμημένα συστήματα 49 Χαρακτηριστικά των DFS/NFS (1 από 2) Διαφάνεια χωροταξική/προσπέλασης: Οι clients δεν χρειάζεται να γνωρίζουν το path των αρχείων αλλά ούτε και την θέση του server. Ετερογενείς κόμβοι έχουν την δυνατότητα της προσπέλασης στο ίδιο server δικτυακά. Ο κάθε client δεν γνωρίζει εάν το αρχείο είναι τοπικά η απομακρυσμένα αποθηκευμένο (δηλ. την φυσική του θέση), Fast crash recovery: Ο client απλά πρέπει να υποβάλλει πάλι το αίτημα μέχρι να λάβει απάντηση από τον rebooted server, Ενότητα #8: Κατανεμημένα συστήματα 50 Χαρακτηριστικά των DFS/NFS (2 από 2) Πολλαπλά αντίγραφα και ασφάλεια: Εάν ένας αριθμός κόμβων του συστήματος αρχείων καταστραφεί ή βγει offline, το σύστημα θα συνεχίσει να εργάζεται χωρίς να χαθούν δεδομένα, Redundancy: βελτίωση της διαθεσιμότητας δεδομένων σε περίπτωση καταστροφής ή και υπερβολικού φόρτου εργασιών με το να επιτρέπεται η χρήση πολλών διαφορετικών servers σε διαφορετικές τοποθεσίες. Ενότητα #8: Κατανεμημένα συστήματα 51 17

Μελέτη περιπτώσεων υπαρχόντων DFS NFS, Google DFS, Hadoop DFS Ενότητα #8: Κατανεμημένα συστήματα 52 NFS (από SUN) Δημιουργήθηκε από την Sun Microsystems, Inc το 1984, Θεωρείται σαν το πρώτο επιτυχημένο εμπορικό NFS, Διαθέτει ανεξαρτησία από αρχιτεκτονικές, λειτουργικά συστήματα καθώς και πρωτόκολλα δικτύων, Βασισμένο στο πρωτόκολλο Remote Procedure Call (RPC). Ενότητα #8: Κατανεμημένα συστήματα 53 NFS χαρακτηριστικά (1 από 2) Διαφάνεια χώρου (Location Transparency): Οι clients δεν χρειάζεται να γνωρίζουν το path name του αρχείου στον server. Ετερογενείς κόμβοι έχουν την δυνατότητα προσπέλασης (μέσω δικτύου) αρχείων στον ίδιο server. Ο client δεν γνωρίζει εάν το αρχείο είναι αποθηκευμένο τοπικά ή απομακρυσμένα από path του αρχείου. Απομακρυσμένη πρόσβαση: Μικρά blocks δεδομένων και όχι ολόκληρο το αρχείο μεταφέρονται και ο client αποθηκεύει (caches) αυτά τα δεδομένα. Ενότητα #8: Κατανεμημένα συστήματα 54 18

NFS χαρακτηριστικά (2 από 2) Διαφάνεια προσπέλασης (access transparency): Ο client καλεί την διαδικασία Open για να προσπελάσει ένα αρχείο. Το λειτουργικό σύστημα του client αναγνωρίζει ένα path name για ένα μόνο τμήμα κάθε φορά. Εάν συναντήσει mount point, ο έλεγχος περνάει στο NFS client software το οποίο μετακινεί ένα directory την φορά λαμβάνοντας τα χαρακτηριστικά του αρχείου από τον server για τον τρέχοντα directory. Πολλαπλά αντίτυπα (file replication): Αντίγραφα του κάθε αρχείου δημιουργούνται σε διαφορετικούς ανεξάρτητους servers. Ενότητα #8: Κατανεμημένα συστήματα 55 Google DFS - GFS Η Google σχεδίασε και υλοποίησε το Google File System (GFS) για να μπορέσει να αντιμετωπίσει τις ολοένα αυξανόμενες ανάγκες επεξεργασίας δεδομένων από την Google. Το GFS χρησιμοποιεί πολλά από τα χαρακτηριστικά των DFS όπως διαφάνεια, κλιμάκωση, αξιοπιστία και διαθεσιμότητα. Ενότητα #8: Κατανεμημένα συστήματα 56 GFS Αρχιτεκτονική Μία GFS συστοιχία (cluster) αποτελείται από έναν master και πολλούς chunk servers και παρέχει την δυνατότητα προσπέλασης από πολλούς clients (ο καθένας από αυτούς είναι κοινός εμπορικός Linux υπολογιστής), Τα αρχεία χωρίζονται σε προκαθορισμένου μεγέθους τμήματα που ονομάζονται chunks. Το κάθε προσδιορίζεται από ένα μοναδικό 64 bit chunk handle που του αποδίδεται από τον master κατά την στιγμή της δημιουργίας του. Το μέγεθος του chunk είναι 64MB (πολύ μεγαλύτερο από ένα τυπικό block ενός συστήματος αρχείων) Ενότητα #8: Κατανεμημένα συστήματα 57 19

Chunk Servers Οι chunk servers αποθηκεύουν τα αρχεία όπου το κάθε αρχείο διασπάται σε τμήματα, μια διαδικασία παρόμοια με τα clusters ή sectors των απλών συστημάτων αρχείων. Το κάθε chunk αντιγράφεται αρκετές φορές και μεταφέρονται τα αντίγραφά του δικτυακά. Συνήθως δημιουργούνται τρία αντίγραφα αλλά εάν κάποιο αρχείο χρησιμοποιείται πολύ τακτικά τότε δημιουργούνται και περισσότερα για να καλυφθούν οι ανάγκες προσπέλασής του. Ενότητα #8: Κατανεμημένα συστήματα 58 Master Servers Αποθηκεύουν όλα τα μεταδεδομένα που συσχετίζονται με τα chunks: Τα tables που διατηρούν τις 64-bit ετικέτες που προσδιορίζουν την φυσική θέση του chunk καθώς και τα αρχεία που δημιουργούν, Την φυσική θέση των αντιγράφων τωνchunks, Ποιες διεργασίες αλληλεπιδρούν (read / write) με κάθε συγκεκριμένο,. Όλα τα μεταδεδομένα αποθηκεύονται στον master server ο οποίος περιοδικά λαμβάνει ενημερώσεις από κάθε chunk server. Ενότητα #8: Κατανεμημένα συστήματα 59 Apache Hadoop DFS - HDFS Ενότητα #8: Κατανεμημένα συστήματα 60 20

HDFS Σχεδιασμένο να λειτουργεί σε κοινό εμπορικό hardware, Παρέχει υψηλή ασφάλεια δεδομένων και λειτουργεί χρησιμοποιώντας φτηνές μηχανές (linux), Παρέχει ταχύτατη προσπέλαση δεδομένων και εφαρμογών και είναι κατάλληλο για εφαρμογές που έχουν πολύ μεγάλο όγκο δεδομένων, Αρχικά δημιουργήθηκε σαν infrastructure για το Apache Nutch web search engine project. Τώρα αποτελεί ένα Apache Hadoop subproject http://hadoop.apache.org/hdfs/. Ενότητα #8: Κατανεμημένα συστήματα 61 Ποιοι χρησιμοποιούν HDFS? Amazon, Yahoo, Facebook, Twitter, Google, New York Times, Adobe, AOL, EBay, IBM Blue Cloud Computing Clusters, Universities (Glasgow, Maryland, Nebraska, ), Neptune, NetSeer, Newspapers, http://wiki.apache.org/hadoop/poweredby Ενότητα #8: Κατανεμημένα συστήματα 62 HDFS: Υποθέσεις και στόχοι (1 από 2) Hardware Failure: άμεσος εντοπισμός και γρήγορη αυτόματη ανάκτηση αυτών αποτελεί έναν από τους βασικούς στόχους του HDFS, Μεγάλος όγκος δεδομένων: Συνήθως οι εφαρμογές που τρέχουν στο HDFS διαθέτουν μεγάλο όγκο δεδομένων. Το μέγεθος ενός τυπικού αρχείου του HDFS ποικίλει από gigabytes σε terabytes. Επομένως το HDFS σχεδιάστηκε να υποστηρίζει τέτοια αρχεία. Παρέχει μεγάλο bandwidth και μπορεί να υποστηρίξει εκατοντάδες κόμβους σε μία υπολογιστική συστοιχία. Πρέπει να διαχειρίζεται επαρκώς δεκάδες εκατομμυρίων αρχεία σε μία και μόνο εφαρμογή. Ενότητα #8: Κατανεμημένα συστήματα 63 21

HDFS: Υποθέσεις και στόχοι (2 από 2) Η μετακίνηση των υπολογισμών είναι φθηνότερη από την μετακίνηση δεδομένων - Moving Computation is Cheaper than Moving Data : Ένα αίτημα εκτέλεσης κάποιας εφαρμογής εξυπηρετείται ταχύτερα εάν εκτελεσθεί πιο «κοντά» στα δεδομένα τα οποία χρειάζεται, Ιδιαίτερα εάν ο όγκος των δεδομένων είναι τεράστιος, Ελαχιστοποιεί την κίνηση στο δίκτυο και γενικά αυξάνει την απόδοση του όλου συστήματος. Κατά συνέπεια είναι σχεδόν πάντα προτιμότερο να μετακινηθούν οι υπολογισμοί όσο πιο κοντά γίνεται στα δεδομένα που επιδρούν Το HDFS παρέχει μηχανισμούς ώστε οι εφαρμογές να μετακινούνται κοντά στα δεδομένα. Ενότητα #8: Κατανεμημένα συστήματα 64 HDFS Αρχιτεκτονική (1 από 2) Αρχιτεκτονική του τύπου master slave: NameNodes και DataNodes: NameNodes: Ένας HDFS cluster αποτελείται από έναν NameNode, ο οποίος αποτελεί τον master server και ο οποίος διαχειρίζεται τον χώρο του συστήματος αρχείων και εξουσιοδοτεί την προσπέλασή τους από τους clients. DataNodes: Συνήθως ένας ανά κόμβο της συστοιχίας και διαχειρίζεται τον αποθηκευτικό χώρο που του έχει ανατεθεί επιτρέποντας δεδομένα να αποθηκευτούν σε αρχεία. Εσωτερικά, ένα αρχείο διασπάται σε τμήματα (blocks) τα οποία με την σεειρά τους αποθηκεύονται σε ένα σύνολο από DataNodes. Ο NameNode εκτελεί λειτουργίες του χώρου των αρχείων όπως άνοιγμα, κλείσιμο και μετονομασία τόσο αρχείων όσο και καταλόγων. Επίσης, προσδιορίζει το ποια τμήματα αρχείων θα αποθηκευτικού σε ποια DataNodes. Τα DataNodes είναι υπεύθυνα για εξυπηρέτηση read και write αιτήσεων που δέχονται από το σύστημα αρχείων των clients. Επίσης, τα DataNodes εκτελούν εργασίες όπως δημιουργία, διαγραφή και αντιγράφων αρχείων αλλά μόνο κατόπιν οδηγιών από τον NameNode. Ενότητα #8: Κατανεμημένα συστήματα 65 HDFS Αρχιτεκτονική (2 από 2) Ενότητα #8: Κατανεμημένα συστήματα 66 22

File System Namespace Ιεραρχική οργάνωση αρχείων, Ο NameNode είναι ο αποκλειστικά υπεύθυνος και διαχειριστής του file system namespace: Κάθε αλλαγή του file system namespace ή των ιδιοτήτων του καταγράφεται από τον NameNode. Κάθε εφαρμογή μπορεί να προσδιορίζει τον αριθμό των αντιγράφων ενός αρχείου το οποίο θα διαχειρίζεται από το HDFS. Ο αριθμός των αντιγράφων ενός αρχείου ονομάζεται replication factor του αρχείου. Αυτή η πληροφορία αποθηκεύεται στον NameNode. Ενότητα #8: Κατανεμημένα συστήματα 67 Συμπεράσματα Τα κατανεμημένα συστήματα παρέχουν τεράστια υπολογιστική ισχύ, Επίσης παρέχουν μεγάλο αποθηκευτικό χώρο, Διαφέρουν από τα παράλληλα συστήματα αλλά Χρησιμοποιούν τεχνικές παράλληλων συστημάτων και προγραμματισμού, Parallel Computing + Distributed Systems = Cloud Computing (ή τουλάχιστον κάποιο μεγάλο μέρος του)! Ενότητα #8: Κατανεμημένα συστήματα 68 Πηγές Andrew Tanenbaum, Distributed Operating Systems, Prentice Hall International Editions. R. Chow, and T. Johnson, Distributed Operating Systems and Algorithms, Addison Wesley. WWW Ενότητα #8: Κατανεμημένα συστήματα 69 23

Τέλος της # 08 ενότητας Ερωτήσεις; Χρησιμοποιείστε το email για όποιες επιπλέον απορίες / ερωτήσεις: savvas@teilar.gr Σημειώσεις μαθήματος (και όχι μόνο): https://e-class.teilar.gr/courses/cs386/ Εισαγωγή Ενότητα στον #8: παράλληλο Κατανεμημένα προγραμματισμό συστήματα 70 24