Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου 19/02/2019 Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 1 / 43
Περιεχόμενα 1 Γενικά Επικοινωνία/Τρόπος Αξιολόγησης Συμπληρωματική Βιβλιογραφία 2 Αρχιτεκτονικές παράλληλης επεξεργασίας 3 Διαχείριση κοινόχρηστης μνήμης 4 Συστοιχίες υπολογιστών Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 2 / 43
Γενικά Επικοινωνία Γραφείο: Ισόγειο κεντρικός διάδρομος Τηλέφωνο: 28410-91108 e-mail: spap@staffteicretegr Ώρες επικοινωνίας: Τρίτη 11:00-3:00 Τρόπος Αξιολόγησης Θεωρία: Τελική εξέταση: 70% Ενδιάμεση Πρόοδος: 30% Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 3 / 43
Συμπληρωματική Βιβλιογραφία Προτεινόμενο Σύγγραμμα Σ Παπαδάκης, Κ Διαμαντάρας Προγραμματισμός και Αρχιτεκτονική Συστημάτων Παράλληλης Επεξεργασίας, Εκδόσεις Κλειδάριθμος, 2012 Ελληνική A Velte, T Velte, R Elsenpenter, cloud computing μια πρακτική προσσέγγιση, Εκδόσεις Γκιούρδας, 2010 Αλέξανδρος Τομαράς - Γραμματή Πάντζιου, Στοιχεία παράλληλου υπολογισμού, Εκδόσεις Νέων Τεχνολογιών, 2004 A Tanenbaum, Μ Steen, «κατανεμημένα συστήματα», εκδόσεις κλειδάριθμος, 2005 Ι Κάβουρας, Ι Μήλης, Γ Ξυλωμένος, Α Ρουκουνάκη, κατανεμημένα συστήματα με java 2011, εκδόσεις κλειδάριθμος, 2012 Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 4 / 43
Στόχοι Μαθήματος Στόχοι Κατανόηση ενός κατανεμημένου συστήματος Είδη και κατηγορίες κατανεμημένων συστημάτων Κατανεμημένα συστήματα & παράλληλη επεξεργασία Κατανόηση της δομής μιας κατανεμημένης βάσης δεδομένων Κατανόηση της διαφοράς μεταξύ μιας σχεσιακής μη κατανεμημένης βάσης δεδομένων και μιας καθαρά κατανεμημένης βάσης δεδομένων Πλεονεκτήματα και αναγκαιότητα των κατανεμημένων συστημάτων Μεθοδολογίες σχεδιασμού και ανάπτυξης κατανεμημένων συστημάτων Νεφοϋπολογιστική και επιχειρηματικές ευκαιρίες SaaS (software as a service) IaaS (Infrastructure as a service) PaaS (platform as a service) ipaas (integration platform as a service) Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 5 / 43
Γενικό παράδειγμα κατανεμημένης επεξεργασίας το δίκτυο των Αυτόματων Ταμειακών Μηχανών (ATM) μιας τράπεζας Οι υπολογιστές αυτοί είναι κατανεμημένοι σε όλο τον χώρο, πχ της Ελλάδας Ένας πελάτης μπορεί να κάνει ανάληψη χρημάτων ή κατάθεση σε οποιοδήποτε ΑΤΜ σε όλη την Ελλάδα Κύριος στόχος του δικτύου ΑΤΜ δεν είναι τόσο η μεγιστοποίηση της ταχύτητας της συναλλαγής (αν και αυτό είναι επίσης επιθυμητό), αλλά και η ασφάλεια (security) των δεδομένων και η ακεραιότητά τους (integrity) πχ: Έστω ο λογαριασμός πελάτη με 3000 Ταυτόχρονα ζητούνται 2000 από δύο διαφορετικές ταμειακές μηχανές από τον ο λογαριασμός μένει με αρνητικό υπόλοιπο 1000 Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 6 / 43
Θέματα που πραγματεύεται η κατανεμημένη επεξεργασία Θέματα δικτύων Κατάτμηση των δεδομένων σε κατανεμημένα υποσύνολα Αποδοτική διαχείριση ταυτόχρονων συναλλαγών (concurrency) Αποφυγή αδιεξόδων (deadlocks) Ανοχή σε σφάλματα Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 7 / 43
Μεγάλες Προκλήσεις (Grand Challenges) των Η/Υ Η αναζήτηση σε εξαιρετικά μεγάλες βάσεις δεδομένων Η ανάλυση της μεταβολής του κλίματος του πλανήτη Η ανάλυση των γονιδίων του ανθρώπου Η μελέτη της ροής ρευστών Η αεροδυναμική μελέτη οχημάτων ή αεροσκαφών Η προσομοίωση των ωκεανών Η μοντελοποίηση υπεραγωγών Η κβαντική χρωμοδυναμική Η όραση των υπολογιστών Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 8 / 43
Προσομοίωση των ρευμάτων των Ωκεανών Στόχος: Να υπολογίσουμε τη θερμοκρασία του ωκεανού τα επόμενα 5 έτη Ο Ωκεανός χωρίζεται σε κύβους Σε κάθε κύβο θεωρούμε ότι επικρατούν σταθερές συνθήκες, θερμοκρασίας, πίεσης κτλ Οι κύβοι επικοινωνούν μεταξύ τους μόνο στα σύνορα τους μέγεθος κύβου 20Km 20Km 01Km Επιπρόσθετα έχουμε χρονικά βήματα πχ 8 ωρών χρειάζονται Για έναν ωκεανό όπως ο Ατλαντικός, με διαστάσεις 2000Km πλάτος 2000Km μήκος 8Km βάθος, 100 100 80 = 800000 κύβοι Για 5 έτη με χρονική ανάλυση 8 ωρών, χρειάζονται 5 365 3 = 5500 χρονικές επαναλήψεις Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 9 / 43
Ακτινανίχνευση (ray tracing) Η τρισδιάστατη φωτοαπόδοση αντικειμένων με γραφικά (3-D rendering) χρησιμεύει στη ρεαλιστική απεικόνιση συνθετικών σκηνών στο επίπεδο, P O P' Q πρέπει να ανιχνευθούν πχ 1024 1024 = 2 20 πίξελ πολλές φορές υπάρχουν και χρονικοί περιορισμοί Οι ακτίνες είναι ανεξάρτητες μεταξύ τους Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 10 / 43
Προσομοίωση της κίνησης των Γαλαξιών Στόχος Εκτίμηση της τροχιάς των άστρων για την πρόβλεψη της μελλοντικής τους θέσης Νόμος της βαρύτητας: F i,j = G m i m j r 2 i,j Για ένα εκατομμύριο (10 6 ) άστρα απαιτείται ο προσδιορισμός 1 τρισεκατομμυρίου δυνάμεων (10 12 ) για κάθε άστρο Πόσα είναι τα άστρα του ηλιακού συστήματος; Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 11 / 43
Εξόρυξη δεδομένων από βάσεις δεδομένων Εξόρυξη δεδομένων (data mining) είναι η εξαγωγή χρήσιμης γνώσης από μια βάση δεδομένων (ΒΔ) Η εξόρυξη δεδομένων διαφέρει από το απλό ερώτημα (query) σε μια βάση δεδομένων πχ: Η εκτίμηση των προτιμήσεων και των ενδιαφερόντων ενός πελάτη βιβλιοπωλείου από τους τίτλους ή άλλα στοιχεία query: ποιοι πελάτες αγόρασαν βιβλία μαγειρικής την περασμένη εβδομάδα data mining: Η εύρεση σχέσεων ή η εύρεση συσχέτισης Το πρόβλημα έχει ως εξής: Δίνεται μια βάση δεδομένων όπου υπάρχουν εγγραφές κάποιων συναλλαγών Θέλουμε να βρούμε ποια υποσύνολα του συνόλου των στοιχείων συμβαίνουν ταυτόχρονα με κάποια συχνότητα επάνω από κάποιο προκαθορισμένο όριο Το υποσύνολο λέγεται στοιχειοσύνολο (itemset) και περιέχει k στοιχεία, όπου k < n Αν έχουμε n εγγραφές τα δυνατά στοιχειοσύνολα k στοιχείων είναι: C(n, k) = n! (n k)!k! Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 12 / 43
Παράλληλη Επεξεργασία Ορισμός Ομοιότητες με την έννοια της κατανεμημένης επεξεργασίας Διαφορές με την έννοια της κατανεμημένης επεξεργασίας Η κατανεμημένη επεξεργασία είναι ένας τρόπος υλοποίησης της παράλληλης επεξεργασίας Άλλα θέματα Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 13 / 43
Ιστορική αναδρομή στην παράλληλης επεξεργασίας Πρώτη γενιά (1945-54), ENIAC, Princeton IAS, IBM 701 Λυχνίες και μνήμες ρελέ μια κεντρική μονάδα επεξεργασίας (Central Processing Unit CPU) λογισμικό δύσχρηστες γλώσσες, όπως η γλώσσα μηχανής και η assembly Δεύτερη γενιά (1955-64) IBM 7090, CDC 1604, Univac LARC Τρανζίστορ αντί για λυχνίες Γλώσσες υψηλού επιπέδου, υπορουτίνες, εκτέλεση προγραμμάτων σε δέσμες (batch) Τρίτη γενιά (1965-74) IBM 360/370,CDC 6600,PDP-11 Ολοκληρωμένα κυκλώματα (SSI/MSI) Πολυ-προγραμματισμός, λειτουργικά συστήματα, χρονομερισμός, πολλοί χρήστες Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 14 / 43
Τέταρτη γενιά (1975-90) VAX 9000, Cray X-MP, IBM 3090 Ολοκληρωμένα κυκλώματα (SSI/MSI) LSI/VLSI, μνήμες ημιαγωγών, πολυεπεξεργαστές, διανυσματικοί υπερυπολογιστές (supercomputers), πολυυπολογιστές Παράλληλα λειτουργικά, Γλώσσες αντικειμενοστρεφείς, περιβάλλοντα για παράλληλη επεξεργασία Πέμπτη γενιά (1991-2001) Fujitsu VPP500, Cray MPP, Intel Paragon ULSI/VHSIC, μεταγωγοί, επεκτάσιμες αρχιτεκτονικές Μαζικά παράλληλη επεξεργασία, μεγάλες προκλήσεις Έκτη γενιά (2002-Σήμερα) NUDT Tianhe-1A, IBM Roadrunner, Cray Jaguar, Google cluster Συστοιχίες (clusters) και πλέγματα υπολογιστών (grids), πολυπύρηνοι επεξεργαστές, μαζικά παράλληλα συστήματα με ισχύ μεγαλύτερη από 1 PetaFLOPS Ενδιάμεσο λογισμικό (middleware) για την ανάπτυξη εφαρμογών πλέγματος, αρχιτεκτονική CUDA για μαζικά παράλληλες κάρτες γραφικών, ανοιχτές γλώσσες παράλληλου προγραμματισμού MPI και OpenCL Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 15 / 43
Κατάταξη των υπολογιστικών αρχιτεκτονικών Κριτήριο: Ακολουθίες εντολών και δεδομένων Ταξινόμηση κατά Flynn SISD (Single Instruction stream, Single Data stream Ένα ρεύμα εντολών, ένα ρεύμα δεδομένων) Ο υπολογιστής τύπου SISD εκτελεί μία μόνο εντολή κάθε χρονική στιγμή, σε ένα δεδομένο SIMD (Single Instruction stream, Multiple Data streams Ένα ρεύμα εντολών, πολλά ρεύματα δεδομένων)υπάρχουν πολλές μονάδες επεξεργασίας, οι οποίες όμως εκτελούν την ίδια εντολή MISD (Multiple Instruction streams, Single Data stream Πολλές εντολές, ένα ρεύμα δεδομένων) διοχέτευση (pipeline) MIMD (Multiple Instruction streams, Multiple Data streams Πολλές εντολές, πολλά ρεύματα δεδομένων) Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 16 / 43
Σχηματικά I/O IS DS CU PU M ( ) SISD ( - ) IS DS DS1 PU1 M1 H H o IS CU o s IS s t t DSN PUN MN ( ) SIMD ( ) IS1 IS1 IS2 ISN CU1 CU2 CUN IS1 IS2 ISN PU1 DS PU2 DS PUN I/O1 I/O CU1 CU IS1 IS PU1 PU DS1 DS DS I/O ( ) MISD (pipeline) IS ( 1) MI D ( ) IS1 I/O1 I/O CU1 CU IS1 IS PU1 PU DS1 DS M1 M IS ( 2) MI D ( ) Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 17 / 43
Το μοντέλο SISD SISD (Single Instruction stream, Single Data stream Ένα ρεύμα εντολών, ένα ρεύμα δεδομένων) Ο υπολογιστής τύπου SISD εκτελεί μία μόνο εντολή κάθε χρονική στιγμή, σε ένα δεδομένο το μοντέλο αυτό είναι ο κλασικός μονοπύρηνος επεξεργαστής (πχ Intel Pentium) Υπάρχει μια Μονάδα Ελέγχου (Control Unit - CU) η οποία δέχεται εντολές και εξυπηρετεί την είσοδο και την έξοδο Η εντολή που δίνει η μονάδα ελέγχου πηγαίνει στη Μονάδα Επεξεργασίας (Processing Unit - PU) όπου και εκτελείται Η μονάδα επεξεργασίας χρησιμοποιεί δεδομένα από τη Μονάδα Μνήμης (Memory Unit - MU), η οποία επίσης μεταβιβάζει εντολές στη μονάδα ελέγχου Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 18 / 43
Το μοντέλο SIMD: SIMD (Single Instruction stream, Multiple Data streams Ένα ρεύμα εντολών, πολλά ρεύματα δεδομένων) υπάρχουν πολλές μονάδες επεξεργασίας, οι οποίες όμως εκτελούν την ίδια εντολή Η εντολή προέρχεται από τη μοναδική μονάδα ελέγχου (CU) που υπάρχει στο σύστημα Κάθε μονάδα επεξεργασίας έχει κάποια Τοπική Μνήμη (Local Memory - LM) από την οποία αντλεί τα δεδομένα στα οποία θα εκτελεστεί η συγκεκριμένη εντολή Μελετήθηκε στην αρχή εκτενέστερα επειδή διαθέτει μία μόνο πηγή εντολών και κάθε εντολή εκτελείται συγχρονισμένα στις επεξεργαστικές μονάδες Η ίδια εντολή (πχ add) εκτελείται ταυτόχρονα σε μια σειρά από δεδομένα Μοιάζει περισσότερο με το κλασικό μοντέλο SISD Αν τα δεδομένα καταλαμβάνουν διαδοχικές θέσεις μνήμης, τότε ονομάζονται διανύσματα (vectors) και οι αντίστοιχες μηχανές διανυσματικοί υπολογιστές (vector computers) Οι συστολικές συστοιχίες επεξεργαστών (systolic arrays) αποτελούν παράδειγμα μηχανών SIMD που εκτελούν συγχρονισμένα πιο πολύπλοκους αλγορίθμους από τους διανυσματικούς υπολογιστές Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 19 / 43
Σπάνια ένας αλγόριθμος γενικού σκοπού υλοποιείται πάντα με τη χρήση της ίδιας εντολής σε πολλά δεδομένα Οι μηχανές SIMD χρησιμοποιούνται συνήθως ως επιταχυντές, εξειδικευμένοι στη γρήγορη εκτέλεση κάποιων ειδικών λειτουργιών όταν αυτές απαιτούνται από τις εφαρμογές Παράδειγμα είναι οι εντολές που αφορούν πολυμεσικές εφαρμογές (εικόνα, ήχο, γραφικά), καθώς σε αυτές πολύ συχνά επαναλαμβάνεται η ίδια εντολή σε πολλά δεδομένα Παράδειγμα: πρόσθεση δύο εικόνων πίξελ προς πίξελ Το 1996 το μοντέλο SIMD υιοθετήθηκε για την υλοποίηση του υποσυνόλου εντολών ΜΜΧ (MultiMedia extension Επεκτάσεις πολμέσων) των επεξεργαστών Pentium-5 της Intel που έγιναν γνωστοί ως Pentium με τεχνολογία MMX Το υποσύνολο αυτό αργότερα (1999) εξελίχθηκε στο σύνολο εντολών SSE (Streaming SIMD Extensions Επεκτάσεις SIMD συνεχούς ροής) με την προσθήκη χειρισμού αριθμών κινητής υποδιαστολής Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 20 / 43
Σήμερα Σήμερα: SSE,SSSE3 αναπτύχθηκαν κυρίως από την Intel (Xeon 5300 Series, Core 2 Duo, Core i7, Celeron Dual Core, Atom, κλπ) Προσαρτημένοι σε έναν κύριο υπολογιστή με τη μορφή κάρτας επιταχυντή, εκτελώντας είτε συγκεκριμένες πράξεις Κάρτες Γραφικών σε συγκεκριμένους αλγορίθμους με τη μορφή συστολικής επεξεργασίας Ο κεντρικός υπολογιστής μπορεί να στείλει εντολές για να εκτελεστούν στην κάρτα SIMD όταν απαιτείται η εκτέλεση αυτών των συγκεκριμένων πράξεων ή αλγορίθμων Ενσωματωμένοι σε έναν επεξεργαστή για την εκτέλεση συγκεκριμένων ομάδων εντολών, όπως πχ εντολές που αφορούν πολυμεσική επεξεργασία Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 21 / 43
Το μοντέλο MISD MISD (Multiple Instruction streams, Single Data stream Πολλές εντολές, ένα ρεύμα δεδομένων) Προσομοιώνει τη λειτουργία της διοχέτευσης (Pipeline) Yπάρχει μια σειρά από επεξεργαστικές μονάδες όπου κάθε μία έχει τον δικό της ελεγκτή και, επομένως, εκτελεί διαφορετική εντολή από τις άλλες Η διαφορά από το μοντέλο MIMD είναι ότι το ρεύμα δεδομένων είναι ένα Τα δεδομένα πηγάζουν από την κύρια μνήμη, όπου τα επεξεργάζεται η πρώτη μονάδα επεξεργασίας, το αποτέλεσμα της πράξης παραδίδεται στη μονάδα 2, αυτή κατόπιν παραδίδει στη μονάδα 3, κοκ Όταν ένα δεδομένο παραδίδεται στην επόμενη μονάδα τότε η τρέχουσα μονάδα φορτώνει το επόμενο δεδομένο για επεξεργασία Αρχικά υπάρχει νεκρός χρόνος μέχρι να γεμίσει ο αγωγός Όταν γεμίσει ο αγωγός τότε παράγεται ένα αποτέλεσμα κάθε μια μονάδα χρόνου Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 22 / 43
Διοχέτευση-pipeline Από κάποια στιγμή και μετά όλοι οι επεξεργαστές είναι απασχολημένοι σε διαφορετικές εργασίες και, έτσι, επιτυγχάνεται παράλληλη και ταχύτερη εκτέλεση των εργασιών Υπάρχει ένας νεκρός χρόνος μέχρι να γεμίσει ο αγωγός Μετά παράγεται ένα αποτέλεσμα σε κάθε μονάδα χρόνου Επεξεργαστής Χρόνος 1 2 3 4 5 6 7 8 Ε1 T1(Β1) T2(Β1) T3(Β1) T4(Β1) T5(Β1) T6(Β1) T7(Β1) T8(Β1) Ε2 T1(Β2) T2(Β2) T3(Β2) T4(Β2) T5(Β2) T6(Β2) T7(Β2) Ε3 T1(Β3) T2(Β3) T3(Β3) T4(Β3) T5(Β3) T6(Β3) Ε4 T1(Β4) T2(Β4) T3(Β4) T4(Β4) T5(Β4) Πίνακας: Η λειτουργία της διοχέτευσης με τέσσερις επεξεργαστές (Ε1, Ε2, Ε3, Ε4) Παραδείγματα διοχέτευσης από την καθημερινή ζωή: Το εκπαιδευτικό σύστημα (τάξεις) Η εκτέλεση των εντολών (κύκλος εντολής) Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 23 / 43
Το μοντέλο MIMD MIMD (Multiple Instruction streams, Multiple Data streams Πολλές εντολές, πολλά ρεύματα δεδομένων Υπάρχουν πολλές μονάδες ελέγχου οι οποίες ξεκινούν γενικά διαφορετικές εντολές, Υπάρχουν πολλές μονάδες επεξεργασίας (μία για κάθε μονάδα ελέγχου) Οι επεξεργαστικές μονάδες είτε επικοινωνούν μέσω κοινόχρηστης μνήμης είτε διαθέτουν τοπικές μνήμες και επικοινωνούν μεταξύ τους μέσω κάποιου δικτύου διασύνδεσης Το μοντέλο αυτό μοιάζει με πολλούς υπολογιστές οι οποίοι λειτουργούν εν μέρει ανεξάρτητα μεταξύ τους αλλά συνεργάζονται για τη λύση του ίδιου προβλήματος μέσω κάποιου δικτύου επικοινωνίας Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 24 / 43
Κριτήριο: Κατανομή μνήμης Υπολογιστές κοινόχρηστης μνήμης (shared memory) πολυεπεξεργαστές (multiprocessors) Υπολογιστές με κατανεμημένη μνήμη (distributed memory) πολυυπολογιστές (multicomputers) Πλεονεκτήματα και μειονεκτήματα κάθε κατηγορίας Πολυ-επεξεργαστής: Επεξεργαστής Επεξεργαστής Επεξεργαστής Επεξεργαστής Πολυ-ϋπολογιστής: Ένα ή περισσότερα επίπεδα Κρυφής μνήμης Ένα ή περισσότερα επίπεδα Κρυφής μνήμης Ένα ή περισσότερα επίπεδα Κρυφής μνήμης Ένα ή περισσότερα επίπεδα Κρυφής μνήμης Cache I/O Cache I/O Cache I/O Κύρια Μνήμη Σύστημα Εισόδου/Εξόδου Δίαυλος συστήματος Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 25 / 43
ο πολυ-επεξεργαστής Kεντρική μνήμη την οποία μοιράζονται όλοι οι επεξεργαστές Σχετικά λίγοι επεξεργαστές (το πολύ 16), Eίναι από τα πιο διαδεδομένα αρχιτεκτονικά μοντέλα για παράλληλους υπολογιστές που διατίθενται στο λιανικό εμπόριο Συνήθως, οι επεξεργαστές συνδέονται με την κεντρική (κοινόχρηστη) μνήμη και μεταξύ τους με ένα δίκτυο τύπο διαύλου (bus) Όλοι οι επεξεργαστές έχουν ομοιόμορφη πρόσβαση σε όλες τις διευθύνσεις της μνήμης Μοντέλο Ομοιόμορφης Προσπέλασης Μνήμης (Uniform Memory Access UMA) ο χρόνος απόκρισης είναι ο ίδιος, ανεξάρτητα από την ακριβή διεύθυνση των δεδομένων Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 26 / 43
πολυ-υπολογιστής H μνήμη είναι χωρικά κατανεμημένη Κάθε επεξεργαστής έχει τη δική του τοπική μνήμη και διαθέτει δική του είσοδο και έξοδο Οι επεξεργαστές συνδέονται μεταξύ τους με ένα δίκτυο διασύνδεσης (interconnection network) Πλεονεκτήματα/μειονεκτήματα κατανεμημένης μνήμης Αύξηση του εύρους ζώνης μνήμης (memory bandwidth): όγκου των δεδομένων που μπορούν να προσπελαστούν σε ένα συγκεκριμένο χρονικό διάστημα Μείωση του χρόνου προσπέλασης της μνήμης, σε σχέση με το μοντέλο της κοινόχρηστης μνήμης Μειονέκτημα: αύξηση του χρόνου ανταλλαγής δεδομένων (Δίκτυο διασύνδεσης) Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 27 / 43
Λογικά κατανεμημένη μνήμη, Κοινόχρηστη κατανεμημένη μνήμη Χωρικά κάθε επεξεργαστής μπορεί μόνο να εκδώσει διευθύνσεις που προσπελάζουν τη δική του τοπική μνήμη Non-UMA model Λογικά κατανεμημένη μνήμη Όλες οι τοπικές μνήμες μαζί δημιουργούν έναν ενιαίο χώρο διευθύνσεων, προσπελάσιμο από όλους τους επεξεργαστές UMA-model Γενικά: Πολυεπεξεργαστής UMA Πολυυπολογιστής ΝUMA Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 28 / 43
Πολυπύρηνοι επεξεργαστές Ένας πυρήνας: Πολλοί πυρήνες: Πλεονεκτήματα - μειονεκτήματα Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 29 / 43
Διαχείριση Κοινόχρηστης Μνήμης Ιεραρχία της μνήμης Τοπικότητα των αναφορών (locality of references) κρυφή μνήμη (Transparency) Κρυφή μνήμη (cache memory) στο μονοεπεξεργαστή Ανάγνωση ενός δεδομένου που βρίσκεται στην κρυφή μνήμη Αυτό λέγεται ευστοχία ανάγνωσης (read-hit) Ανάγνωση ενός δεδομένου που δε βρίσκεται στην κρυφή μνήμη (read-miss) Εγγραφή ενός δεδομένου που βρίσκεται στην κρυφή μνήμη Αυτό λέγεται ευστοχία εγγραφής (write-hit) Ασυνέπεια περιεχομένου Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 30 / 43
Αντιμετώπιση του προβλήματος της ασυνέπειας Ταυτόχρονη εγγραφή (write-through) κάθε μπλοκ που γράφεται στην κρυφή μνήμη γράφεται ταυτόχρονα και στην κύρια Ετερόχρονη εγγραφή (write-back) Το μπλοκ γράφεται στην κρυφή μνήμη αλλά όχι και στην κύρια, το μπλοκ λέγεται «βρώμικο» (dirty) Εγγραφή-κατανομή (write-allocate) Το μπλοκ μεταφέρεται από την κύρια στην κρυφή μνήμη, όπου και γίνεται η εγγραφή Χωρίς εγγραφή-κατανομή (no-write-allocate) Το μπλοκ δε μεταφέρεται στην κρυφή μνήμη Η εγγραφή γίνεται απευθείας στην κύρια μνήμη Έννοια κλειδί: Τοπικότητα των αναφορών Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 31 / 43
Διαχείρηση μνήμης σε κατανεμμημένα συστήματα Το πρόβλημα: Η συνοχή μεταξύ των περιεχομένων της κρυφής μνήμης και του τμήματος της μνήμης στην οποία αντιστοιχεί η κρυφή μνήμη Συνεκτικό σύστημα μνήμης: Διατηρεί την σειρά των εντολών του προγράμματος Οι επεξεργαστές επικοινωνούν γράφοντας σε θέσεις μνήμης Διαφορετικές εγγραφές στην ίδια θέση μνήμης εκτελούνται σειριακά και αυτή η σειρά φαίνεται η ίδια από όλους τους επεξεργαστές Πρωτόκολλα συνοχής κρυφής μνήμης Πρωτόκολλα με κατασκοπία (snooping protocols), Πρωτόκολλα βασισμένα σε κατάλογο (directory-based protocols) Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 32 / 43
Η μέδοδος της κατασκοπείας Το πρωτόκολλο ακύρωσης εγγραφής (write-invalidate) Οι ελεγκτές όλων των κρυφών μνημών «κατασκοπεύουν» (snoop) τον κοινό δίαυλο της μνήμης για να δουν αν κάποιος άλλος ζητάει συναλλαγή με κάποιο μπλοκ μνήμης που περιέχεται τοπικά στην κρυφή μνήμη όταν ο επεξεργαστής Α γράφει το μπλοκ X στη μνήμη, ενημερώνεται μεν σωστά η δική του κρυφή μνήμη αλλά ακυρώνεται το μπλοκ που υπάρχει στην κρυφή μνήμη του επεξεργαστή Β Ενημέρωσης εγγραφής (write-update ή write-broadcast Αλλάζει το περιεχόμενο κάθε κρυφής μνήμης Πλεονεκτήματα μειονεκτήματα μεταξύ των δύο μεθόδων Η μέθοδος ακύρωσης εγγραφής ακυρώνει τις άλλες κρυφές μνήμες μόνο μία φορά Στο πρωτόκολλο ακύρωσης εγγραφής πρέπει πρώτα να ενημερωθεί η κρυφή μνήμη και μετά να γίνει ανάγνωση από αυτή Εύρος ζώνης μνήμης Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 33 / 43
Το πρωτόκολλο καταλόγου Η κύρια μνήμη διαθέτει έναν κατάλογο ο οποίος περιγράφει την κατάσταση κάθε μπλοκ Πιθανές καταστάσεις μπλόκ Κοινόχρηστο (Shared) Ένας ή περισσότεροι επεξεργαστές έχουν το ίδιο μπλοκ στην κρυφή μνήμη τους Εκτός κρυφής μνήμης (Uncached) Κανείς επεξεργαστής δεν έχει αντίγραφο του μπλοκ στην κρυφή μνήμη του Αποκλειστικό (Exclusive): Ακριβώς ένας επεξεργαστής έχει το μπλοκ στην κρυφή μνήμη του και το έχει γράψει, οπότε το περιεχόμενο της κύριας μνήμης είναι λανθασμένο Ο επεξεργαστής αυτός λέγεται και κάτοχος του μπλοκ Σημείωση: Εκτός από την κατάσταση κάθε μπλοκ, στη μνήμη πρέπει να διατηρούμε και ποιοι ακριβώς επεξεργαστές έχουν το μπλοκ αυτό στην τοπική κρυφή μνήμη τους, διατηρώντας ένα διάνυσμα από N bit, όσοι δηλαδή και οι επεξεργαστές Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 34 / 43
Σύγκριση των μεθόδων συνοχής της μνήμης Το πρωτόκολλο κατασκοπίας μπορεί να χρησιμοποιηθεί μόνο εφόσον υπάρχει ένα κοινό μέσο Η μέθοδος του καταλόγου μπορεί να εφαρμοστεί σε οποιαδήποτε περίπτωση Το πρωτόκολλο καταλόγου χρησιμοποιείται σε μηχανές με Κατανεμημένη Κοινόχρηστη Μνήμη (Distributed Shared Memory) Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 35 / 43
Μηχανή πεπερασμένων καταστάσεων κρυφής μνήμης Άκυρο / Δεν υπάρχει Αστοχία εγγραφής CPU Τοποθέτηση αίτησης εγγραφής στον δίαυλο Προσκόμιση του μπλοκ από τη μνήμη στην κρυφή μνήμη Ανακοίνωση Ανάγνωσης ή Εγγραφής Άκυρο / Δεν υπάρχει Ανακοίνωση εγγραφής Εγγραφή του μπλοκ στην κύρια μνήμη (ετερόχρονη εγγραφή) και ακύρωση της προσπέλασης μνήμης Αστοχία ανάγνωσης CPU Τοποθέτηση αίτησης ανάγνωσης στον δίαυλο Προσκόμιση του μπλοκ από τη μνήμη στην κρυφή μνήμη Αποκλειστικό (Exclusive) (α) Ανακοίνωση Εγγραφής Απόδοση του μπλοκ στον δίαυλο Αποκλειστικό (Exclusive) (β) Κοινόχρηστο (Shared) Ευστοχία εγγραφής CPU Τοποθέτηση αίτησης εγγραφής στον δίαυλο Ευστοχία ανάγνωσης CPU Ευστοχία εγγραφής CPU Κοινόχρηστο (Shared) Ανακοίνωση ανάγνωσης Εγγραφή του μπλοκ στην κύρια μνήμη (ετερόχρονη εγγραφή) και ακύρωση της προσπέλασης μνήμης CPU Ευστοχία ανάγνωσης CPU Ανακοίνωση Ανάγνωσης BUS Απόδοση του μπλοκ στον δίαυλο Το μπλοκ δεν υπάρχει ή είναι άκυρο: 1 H CPU ζητά ανάγνωση από αυτό το μπλοκ αστοχία ανάγνωσης 2 H CPU θα τοποθετεί τη διεύθυνση στον δίαυλο με αίτηση ανάγνωσης 3 μεταφορά μπλοκ από κύρια σε κρυφή μνήμη 4 Αλλαγή κατάστασης από Ακυρο Κοινόχρηστο 5 ανάγνωση οι άλλες κρυφές μνήμες δε χρειάζεται να ακυρώσουν τα δικά τους αντίγραφα του μπλοκ 6 H CPU ζητά εγγραφή αστοχία εγγραφής (write-miss) 7 Η CPU τοποθετεί στον δίαυλο την αντίστοιχη διεύθυνση Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 36 / 43
Συστοιχίες υπολογιστών Ορισμός Συστοιχία υπολογιστών (computer cluster) ονομάζεται μια ομάδα υπολογιστών διασυνδεδεμένων μέσω ενός τυποποιημένου δικτύου πολύ υψηλής ταχύτητας, με σκοπό τη μεταξύ τους συνεργασία για την επίλυση ενός συγκεκριμένου προβλήματος Δομικά υλικά Απλοί υπολογιστές γραφείου Μια συστοιχία μπορεί να αποτελείται και από υπολογιστές υψηλών επιδόσεων Η προστιθέμενη αξία στη συστοιχία προκύπτει από την επικοινωνία μεταξύ αυτών των υπολογιστικών κόμβων μέσα από ένα υπερταχύ δίκτυο, τοπικό ή ευρείας περιοχής Γρήγορα δίκτυα, GigaBit Ethernet, το ΑΤΜ, και το WDM Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 37 / 43
Παραδείγματα Συστοιχίας Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 38 / 43
Πλεονεκτήματα/μειονεκτήματα Πλεονεκτήματα: Πλεονέκτημα ως προς το κόστος αγορά ενός ακριβού παράλληλου συστήματος αγορά πολλών φθηνών υπολογιστών με προσιτό σε κόστος δίκτυο Συντήρηση δεν απαιτεί εξειδικευμένο προσωπικό Δεν απαιτούνται εξειδικευμένα ανταλλακτικά Επεκτασιμότητα Μειονεκτήματα: η επικοινωνία γίνεται μέσα από τον δίαυλο Εισόδου/Εξόδου (I/O bus) ο οποίος είναι πιο αργός από τον δίαυλο της μνήμης (memory bus) Η επικοινωνία γίνεται με λογισμικό κατάλληλες για εφαρμογές χωρίς συχνή επικοινωνία μεταξύ των επιμέρους διεργασιών Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 39 / 43
Νεφο-υπολογιστική (Cloud Computing) SaaS: Software as a Service (λογισμικό ως υπηρεσία) Google, Amazon, Microsoft,rackspace κτλ Public Clouds Private Clouds κατά βάση εφαρμογές PaaS: platform as a service Υπολογιστική υποδομή εφοδιασμένη με συγκεκριμένες Πλατφόρμες λογισμικού πχ λειτουργικά συστήματα, Προγραμματισμός σε python, δημιουργία εγγράφων κτλ Κατά βάση λειτουργικά συστήματα, Google Apps Engine IaaS: Infrastructure as a Service (Υπολογιστική υποδομή ως υπηρεσία) Amazon Elastic Cloud (virtual machines ) Google compute engine (virtual machines ) Microsoft Azure (virtual machines ) Dropbox, Google Drive, Microsoft One Drive (Αποθηκευτικός χώρος) ipaas: integration Platform as a Service ολοκληρωμένες λύσεις με ένα σύνολο συνεργαζόμενων εφαρμογών πχ Google Docs Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 40 / 43
Πλεονεκτήματα/Μειονεκτήματα Νεφο-υπολογιστικής Πλεονεκτήματα Αυτόματη ενημέρωση / συντήρηση του λογισμικού Αυτόματη αναβάθμιση υλικού Μεγάλη αξιοπιστία διαθεσιμότητα (υπό προϋποθέσεις) Αυτοματοποιημένα backups Δυνατότητα συνεργασίας (collaborative software/platforms) co-authoring, co-developement κτλ Μειονεκτήματα Τα δεδομένα φιλοξενούνται σε servers εκτός της επιχείρησης Encryption / private clouds, Agreements Αδύνατες τροποποιήσεις/προσαρμογές στις ανάγκες μιας επιχείρησης Δυσκολία στην ολοκλήρωση με άλλα λογισμικά εντός της επιχείρησης Δεν υπάρχει δυνατότητα προγραμματισμού του χρόνου εκτός λειτουργίας πχ για αναβαθμίσεις Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 41 / 43
Συνέχεια Η τάση είναι η δημιουργία SaaS το οποίο να ελαχιστοποιεί τα μειονεκτήματα και να μεγιστοποιεί τα πλεονεκτήματα Τα private clouds είναι μια εναλλακτική λύση η οποία έχει τα πλεονεκτήματα του cloud ενώ φιλοξενείται σε ιδιωτικές υποδομές Τα δεδομένα φιλοξενούνται εντός της επιχείρησης σε τοπικούς servers Ασφάλεια όσον αφορά την πρόσβαση στα δεδομένα Απαιτείται όμως συντήρηση από πλευράς επειχείρησης, το οποίο αυξάνει το Κόστος και το ρίσκο σχετικά με τη διατήρηση των δεδομένων Εξειδικευμένο προσωπικό σε θέματα ασφάλειας και διαχείρισης υπολογιστικών συστημάτων Owncloud, CoCalc, sandstormio Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Διαχείριση Αγ Νικολάου και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 42 / 43
Γενική Ιεραρχία της Νεφο-υπολογιστικής Clients (Τελικός Χρήστης) SaaS (Εφαρμογές χρήστη) PaaS (Λειτουργικά Συστήματα) IaaS (Υλικό, εικονικές μηχανές, Δίκτυα κτλ) Δρ Παπαδάκης Στέλιος, ΤΕΙ Κρήτης, Διοίκηση Επιχειρήσεων Αγ Νικολάου Διαχείριση και Επεξεργασία Μεγάλου Όγκου Δεδομένων 19/02/2019 43 / 43