Κατανεμημένος Προγραμματισμός

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κατανεμημένος Προγραμματισμός"

Transcript

1 ΑΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ Κατανεμημένος Προγραμματισμός με Hadoop ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Χατζής Νικόλαος (ΑΜ: T-1984) Επιβλέπων: <Σάββας Ηλίας, Phd In Computer Science, Αναπληρωτής καθηγητής> ΛΑΡΙΣΑ 2015

2

3 «Εγώ ο/η Χατζής Νικόλαος, δηλώνω υπεύθυνα ότι η παρούσα Πτυχιακή Εργασία με τίτλο Κατανεμημένος Προγραμματισμός με Hadoop είναι δική μου και βεβαιώνω ότι: Σε όσες περιπτώσεις έχω συμβουλευτεί δημοσιευμένη εργασία τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Σε όσες περιπτώσεις μεταφέρω λόγια τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Με εξαίρεση τέτοιες περιπτώσεις, το υπόλοιπο κείμενο της πτυχιακής αποτελεί δική μου δουλειά. Αναφέρω ρητά όλες τις πηγές βοήθειας που χρησιμοποίησα. Σε περιπτώσεις που τμήματα της παρούσας πτυχιακής έγιναν από κοινού με τρίτους, α- ναφέρω ρητά ποια είναι η δική μου συνεισφορά και ποια των τρίτων. Γνωρίζω πως η λογοκλοπή αποτελεί σοβαρότατο παράπτωμα και είμαι ενήμερος(-η) για την επέλευση των νομίμων συνεπειών» Χατζής Νικόλαος

4 Εγκρίθηκε από την τριμελή εξεταστική επιτροπή Τόπος: Ημερομηνία: ΕΠΙΤΡΟΠΗ ΑΞΙΟΛΟΓΗΣΗΣ

5 Περίληψη Στην παρούσα πτυχιακή, το αντικείμενο το οποίο μελετάται είναι η εγκατάσταση ενός Hadoop cluster, η ρύθμισή του, καθώς και η εκτέλεση ενός προγράμματος στο περιβάλλον του. Έχοντας ως αφετηρία μία απλή εισαγωγή στην έννοια των Big Data, προχωράμε σε μία ανάλυση των κατανεμημένων συστημάτων,καταλήγοντας σε μια παρουσίαση του Apache Hadoop και των επιμέρους τεχνολογιών του. Ακολουθεί ένας πλήρης οδηγός εγκατάστασης ενός Μulti-node cluster, παρουσιάζοντας αναλυτικά τα βήματα που θα ακολουθήσουμε. Στη συνέχεια εκτελούμε ένα πρόγραμμα σε γλώσσα προγραμματισμού Python, παρουσιάζοντας ταυτόχρονα τον τρόπο λειτουργίας του Hadoop. Στο τέλος, θα παρουσιάσουμε τα αποτελέσματα της εκτέλεσης του προγράμματος καθώς και μερικά συμπεράσματα από την χρήση του Apache Hadoop. -i-

6

7 Ευχαριστίες Θα ήθελα να ευχαριστήσω προτίστως τον υπεύθυνο καθηγητή μου, κ. Ηλία Σάββα για την υπομονή, και την βοήθεια που μου παρείχε για την ολοκλήρωση αυτής της πτυχιακής. Επίσης, όσους ενεπλάκησαν και βοήθησαν στην εγκατάσταση του Hadoop στα εργαστήρια της σχολής : Συμφοιτητές, καθηγητές και συνέργάτες μου κατά τη διάρκεα της πρακτικής μου άσκησης.τελευταία, θα ήθελα να ευχαριστήσω τους γονείς μου, οι οποίοι στάθηκαν δίπλα μου καθ όλη τη διάρκεια των σπουδών μου. Χατζής Νικόλαος 28/5/2015 -iii-

8

9 Περιεχόμενα ΠΕΡΙΛΗΨΗ... I ΕΥΧΑΡΙΣΤΙΕΣ... III ΠΕΡΙΕΧΟΜΕΝΑ... V 1 ΕΙΣΑΓΩΓΗ ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ Big Data ΔΙΑΡΘΡΩΣΗ ΠΤΥΧΙΑΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΣΥΣΤΗΜΑΤΑ ΠΟΛΥΕΠΕΞΕΡΓΑΣΤΩΝ ΠΟΛΥΥΠΟΛΟΓΙΣΤΕΣ Εξειδικευμένο δίκτυο υψηλής απόδοσης Συνηθισμένο δίκτυο υπολογιστών (LAN,WAN) ΜΗ ΣΥΝΕΚΤΙΚΑ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΛΟΓΙΣΜΙΚΟ ΚΑΙ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΤΑΝΕΜΗΜΕΝΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΟΝΤΕΛΑ ΚΑΤΑΝΕΜΗΜΕΝΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Μοντέλο πελάτη διακομιστή (Client - Server model) Μοντέλο Ομότιμης επικοινωνίας (Peer-to-peer model) Πλεονεκτήματα-Μειονεκτήματα APACHE HADOOP HADOOP COMMON HADOOP DISTRIBUTED FILE SYSTEM (HDFS) HADOOP MAPREDUCE Λειτουργία του μοντέλου MapReduce Επισκόπηση της εκτέλεσης μιας MAPREDUCE εργασίας ΠΟΙΟΙ ΤΟ ΧΡΗΣΙΜΟΠΟΙΟΥΝ : v-

10 4 ΕΓΚΑΤΑΣΤΑΣΗ HADOOP ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ - ΕΓΚΑΤΑΣΤΑΣΗ ΕΡΓΑΛΕΙΩΝ ΑΠΟ ΤΟΝ PACKAGE MANAGER SSH ΚΑΙ CLUSTER SHH - ΕΓΚΑΤΑΣΤΑΣΗ ΚΑΙ ΡΥΘΜΙΣΗ Δημιουργία χρηστών και groups Passwordless SSH installation Clusterssh ΚΑΤΕΒΑΣΜΑ ΚΑΙ ΕΞΑΓΩΓΗ ΤΟΥ HADOOP ΒΑΣΙΚΕΣ ΡΥΘΜΙΣΕΙΣ, ΟΡΙΣΜΟΣ MASTER-SLAVE ΥΠΟΛΟΓΙΣΤΩΝ ΕΚΚΙΝΗΣΗ ΤΟΥ HADOOP ΕΠΙΜΕΡΟΥΣ ΡΥΘΜΙΣΗ ΤΟΥ HADOOP Ρύθμιση του περιβάλλοντος του Hadoop Ρύθμιση των Δαιμόνων του Hadoop PYTHON ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΗΣ PYTHON ΕΓΚΑΤΑΣΤΑΣΗ ΣΕ ΠΕΡΙΒΑΛΛΟΝ LINUX HELLO, WORLD! ΠΩΣ ΔΟΥΛΕΥΕΙ ΕΚΤΕΛΕΣΙΜΑ ΠΡΟΓΡΑΜΜΑΤΑ PYTHON ΠΡΟΓΡΑΜΜΑ HADOOP ΜΕ ΤΗ ΧΡΗΣΗ ΤΗΣ PYTHON ΑΠΟΤΕΛΕΣΜΑ, ΣΥΜΠΕΡΑΣΜΑΤΑ ΤΗΣ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΕΠΙΛΟΓΟΣ vi-

11 1 Εισαγωγή 1.1 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ Πρίν μερικές δεκαετίες, η έννοια του υπολογιστικού συστήματος(υ.σ.) εκφραζόταν με την ύπαρξη ενός μεγάλου ενιαίου κεντρικού υπολογιστικού συστήματος(mainframe),το οποίο ήταν υπεύθυνο για την επεξεργασία των δεδομένων και στο οποίο τρέχανε όλες οι εφαρμογές οι οποίες προσπελάζονταν από τους χρήστες μέσω τερματικών(clients). Εικόνα 1 : Ένα Mainframe της IBM, το 7094 Αυτού του είδους οι υλοποιήσεις, ήταν ικανοποιητικές για την εποχή, γιατί η πολυπλοκότητα των εφαρμογών, ο όγκος των δεδομένων όπως και η επεξεργαστική ισχύς των κεντρικών Υ.Σ. ήταν δεδομένη, και γενικά απλοϊκά δομημένη Με την εμφάνιση των προσωπικών υπολογιστών, με την ραγδαία εξέλιξη τους σε επεξεργαστική ισχύ, χωρητικότητα αποθήκευσης δεδομένων κτλ., διαφάνηκε η ανάγκη για αλλαγή των προγραμματιστικών μεθόδων. Οι εφαρμογές άρχισαν σιγά σιγά να διασπώνται σε μικρότερα υποπρογράμματα τα οποία συνεργάζονται μεταξύ τους, αντί για -1-

12 ένα μεγάλο ενιαίο κομμάτι κώδικα. Με αυτόν τον τρόπο, οι εφαρμογές ήταν πιο εύκολο να διατηρηθούν, αλλά το πιο βασικό, ήταν πολύ αποδοτικότερες σε θέματα διαχείρισης και εκμετάλλευσης πόρων. Εικόνα 2 : Ένας προσωπικός υπολογιστής της RadioShack, ο TRS-80 Έπειτα, όταν τα δίκτυα μεταξύ υπολογιστών άρχισαν να εξελίσσονται, να γίνονται αξιόπιστα και επαρκώς γρήγορα, δεν άργησε πολύ να υλοποιηθεί μια νέα ιδέα. Αντί, οι υπολογιστές να επικοινωνούν μεταξύ τους, θα μπορούσαν πλέον να μοιράσουν τον υ- πολογιστικό τους φόρτο, στο δίκτυο, κάνοντας κάθε υπολογιστή να μπορεί να αναλάβει ένα κομμάτι επεξεργασίας των δεδομένων. Έτσι, η επεξεργαστική ισχύς και η εκμετάλλευση των πόρων του δικτύου αυξήθηκε κατακόρυφα και οι ανάγκες σε hardware των μεμονωμένων μονάδων του δικτύου ήταν πλέον περιορισμένες. Πάραυτα, το μέγεθος του λογισμικού που χρησιμοποιούταν παρέμενε ακόμη μεγάλο, όπως επίσης και το κόστος του. Πλέον, θα χρειαζόταν για κάθε μονάδα του δικτύου να υπάρχει λογισμικό το οποίο θα ήταν βαρύ, ακριβό και δυσκίνητο, κάτι το οποίο έκανε όλο αυτό το εγχείρημα να μην είναι αποδοτικό. Λόγω αυτού, δημιουργήθηκε η ανάγκη για μια μέθοδο ανάπτυξης λογισμικού, η οποία, θα βοηθούσε στην αρθρωτή αυτήν δομή συστημάτων. -2-

13 Η νέα αυτή μέθοδος, έπρεπε να έχει σαν βασικό της γνόμωνα το κόστος ανάπτυξης, την λειτουργία του κώδικα σε πολλά διαφορετικά μηχανήματα, την ικανότητα του κώδικα να χρησιμοποιηθεί και να επικοινωνήσει με κώδικα διαφορετικών προγραμματιστών και τέλος να μπορεί να γραφτεί ο κώδικας σε διαφορετικές γλώσσες προγραμματισμού. Αυτό το μοντέλο προγραμματισμού με εξαρτήματα (software components technology) έχει επικρατήσει μέχρι και σήμερα με τα πλεονεκτήματά του να είναι καταλυτικά στην ανάπτυξη της τεχνολογίας στον τομέα του software, διευκολύνοντας τον προγραμματισμό, την συντήρηση του κώδικα, την επικοινωνία μεταξύ προγραμμάτων, ακόμα και τη δημιουργία κοινών κανόνων, μέσω των οποίων προάγεται η ομοιογένεια στο λογισμικό. Μέσω της ανάπτυξης του software,της object-component oriented φιλοσοφίας και της αποκεντροποίησης του hardware, πλέον στις μέρες μας έχουμε φτάσει σε ένα επίπεδο το οποίο το λογισμικό μπορεί και τρέχει σε όλα τα λειτουργικά συστήματα, με ο- ποιονδήποτε συνδυασμό hardware χωρίς να χρειάζεται να αλλαχθεί ούτε μια γραμμή κώδικα. Από συστήματα πολυεπεξεργαστών και υπερυπολογιστές, μέχρι ακόμα και στους οικιακούς μας υπολογιστές και στα έξυπνα τηλέφωνα μας, η φιλοσοφία του κατανεμημένου προγραμματισμού, έχει δώσει λύσεις σε πάρα πολλές προκλήσεις του σύγχρονου προγραμματιστικού κόσμου. Έχουμε λοιπόν πλέον, φτάσει στο σημείο που ορίζουμε ένα κατανεμημένο σύστημα με τον εξής απλοϊκό τρόπο(tanenbaum) : Κατανεμημένο σύστημα, είναι μια συλλογή ανεξάρτητων υπολογιστών ή υπολογιστικών μονάδων οι οποίοι φαίνονται στον χρήστη σαν ένα ενιαίο συνεκτικό σύστημα (Andrew S. Tanenbaum,Maarten van Steen, Κατανεμημένα Συστήματα ). Αυτό από μόνο του, αποτελεί δείγμα του πόσο πολύ έχει -3-

14 αναπτυχθεί η συγκεκριμένη φιλοσοφία. Εικόνα 3 : Μια συστάδα υπολογιστών Beowolf. Σε προγράμματα όπως το SETI@HOME, το οποίο χρησιμοποιεί το διαδίκτυο για επεξεργασία δεδομένων με σκοπό την εύρεση εξωγήινης νοημοσύνης μέσω υπολογιστικών συστημάτων σε όλο τον κόσμο, ή το Folding@Home, που με τον ίδιο τρόπο -4-

15 ψάχνει μέσω αλγορίθμων να αναλύσει λειτουργίες των πρωτεϊνών ώστε να βρεθούν θεραπείες σε διάφορες ασθένειες, ο κατανεμημένος προγραμματισμός δείχνει την δύναμη του. Σήμερα, η επεξεργαστική ισχύς, η χωρητικότητα και το μέγεθος των υπολογιστών έχουν φτάσει σε ένα επίπεδο, που είναι πολύ λίγα πράγματα που ένας υπολογιστής δεν μπορεί να φέρει σε πέρας μόνος του. Η ισχύς υπερδιπλασιάζεται κάθε μόλις μερικά χρόνια και τα προγράμματα γίνονται όλο και πιο ολοκληρωμένα και δυνατά, χωρίς να χρειάζεται η χρήση κατανεμημένων τεχνικών. Γιατί τότε υπάρχει η ανάγκη εξέλιξης και υιοθεσίας αυτού του μοντέλου στις μέρες μας; Γιατί χρειαζόμαστε τον κατανεμημένο προγραμματισμό; Πέρα από το γεγονός οτι ένα μεγάλο πλέον ποσοστό του internet βασίζεται στην αποκεντρωμένη φιλοσοφία των δεδομένων(π.χ. torrent protocol, προγράμματα επικοινωνίας), ο λόγος που ο κατανεμημένος προγραμματισμός ανθεί και εξελίσσεται συνεχώς είναι τα Big Data Big Data Εικόνα 4 : Big data Με την ευρεία εξάπλωση του Internet στις μέρες μας, που πλέον έχει κατακλύσει όλους τους τομείς της καθημερινότητας, με δισεκατομμύρια υπολογιστές, smartphones, tablets και άλλες συσκευές να ανταλλάσσουν πληροφορίες μέσω διαδικτύου, ο όγκος των πληροφοριών που διακινούνται,είναι εξωπραγματικά μεγάλος, και διογκώνεται με ταχύτατους ρυθμούς μέρα με τη μέρα. Η διείσδυση της τεχνολογίας σε όλες τις ομάδες -5-

16 ανθρώπων, κυρίως μέσω κοινωνικών δικτύων όπως το Facebook και το Google+,αλλά και μέσω ιστοσελίδων όπως το Υoutube που δίνουν στον καθένα την ελευθερία να ανεβάσει και να μοιραστεί πολύ εύκολα έναν μεγάλο όγκο πληροφοριών, εγείρεται ο προβληματισμός, για το πώς θα μπορέσουμε να διαχειριστούμε όλον αυτόν τον όγκο πληροφοριών. Τα δεδομένα και οι χρήστες πληθαίνουν εκθετικά, με αποτέλεσμα η χωρητικότητα των τυπικών server, σταδιακά, να μην επαρκεί. Όπως παρατηρούμε, προβλήματα χωρητικότητας, ταχύτητας, αλλά και ασφάλειας κάνουν σιγά-σιγά την εμφάνισή τους, ενώ η διαχείριση όλων αυτών, είναι πάρα πολύ δύσκολη. Όσο περισσότεροι servers προστίθενται, τόσο πιο δύσκολη είναι και η διαχείρισή τους. Σε αυτό εδώ λοιπόν το σημείο, έρχονται να δώσουν τη λύση οι κατανεμημένες υλοποιήσεις. Με τη χρήση ενός κατανεμημένου συστήματος, όλα αυτά τα προβλήματα εκμηδενίζονται. Η προοπτική ενός φαινομενικά ενιαίου συστήματος για την διαχείριση εκατοντάδων ή χιλιάδων διαφορετικών server, με δυνατότητα προσθήκης η αφαίρεσης διαφόρων υπομονάδων χωρίς απώλειες δεδομένων, προσφέρει ασφάλεια, ταχύτητα και μεγάλη ευκολία, καθιστώντας εφικτή τη διαχείριση αυτού του εκρηκτικού βαθμού πληροφοριών. Πλέον, η ανάλυση των πληροφοριών, η αποθήκευσή τους, η αναζήτηση τους και οποιαδήποτε άλλη επεξεργασία τους, γίνονται σαν να βρίσκονται όλες οι πληροφορίες σε ένα σύστημα. Το εξελιγμένο κατανεμημένο σύστημα, φροντίζει για όλες τις τεχνικές λεπτομέρειες, όσο εμείς απολαμβάνουμε την απλότητα και την ταχύτητα της διαφανούς αρχιτεκτονικής του. Αναμφίβολλα, τα κατανεμημένα συστήματα, είναι μονόδρομος πλέον στη διαχείριση μεγάλου όγκου πληροφοριών, και χωρίς αυτά, η έννοια του κόσμου των πληροφοριών όπως έχει εξελιχθεί, θα καταρρεύσει. 1.2 Διάρθρωση πτυχιακής Το υπόλοιπο της παρούσας πτυχιακής διαμορφώνεται ως εξής: Στο 2 ο κεφάλαιο γίνεται αναφορά στο τι είναι τα κατανεμημένα συστήματα. Στο 3 ο κεφάλαιο γίνεται αναφορά στο τι είναι το Apache Hadoop. Στο 4 ο κεφάλαιο παρουσιάζεται η εγκατάσταση του Hadoop Στο 5 ο κεφάλαιο παρουσιάζεται η γλώσσα προγραμματισμού Python και η εκτέλεση ενός προγράμματος στο Hadoop Στο 6 ο κεφάλαιο εκθέτονται τα συμπεράσματα της πτυχιακής -6-

17 Βιβλιογραφία Andrew S. Tanenbaum,Maarten van Steen, Κατανεμημένα Συστήματα,Εκδόσεις Κλειδάριθμος, Έτος έκδοσης : 2005, Κωδικός ISBN: Big Data, IBM - Big Data, Wikipedia - Παράλληλα και κατανεμημένα συστήματα, Wikipedia - %CE%BB%CE%B7%CE%BB%CE%B1_%CE%BA%CE%B1%CE%B9_%C E%BA%CE%B1%CF%84%CE%B1%CE%BD%CE%B5%CE%BC%CE%B7 %CE%BC%CE%AD%CE%BD%CE%B1_%CF%83%CF%85%CF%83%CF% 84%CE%AE%CE%BC%CE%B1%CF%84%CE%B1 Seti@Home, Berkeley university Folding@Home,Stanford University -7-

18 -8-

19 2 Κατανεμημένα Συστήματα Στην πληροφορική, παράλληλα, κατανεμημένα ή ταυτόχρονα συστήματα ονομάζονται υπολογιστές οι οποίοι επιτρέπουν την ταυτόχρονη εκτέλεση πολλαπλών συνεργαζόμενων προγραμμάτων σε μία ή περισσότερες επεξεργαστικές μονάδες. Οι διαφορές μεταξύ αυτών των όρων είναι λεπτές, με την έμφαση να δίνεται κάποιες φορές στον σχεδιασμό και στην ανάλυση αλγορίθμων, άλλοτε στην κατασκευή υποστηρικτικού λογισμικού και άλλοτε στη σχεδίαση των υποδομών υλικού που απαιτούνται για την επίτευξη του ταυτοχρονισμού. Ακόμη και από τη δεκαετία του 1960, τα νέα πολυδιεργασιακά λειτουργικά συστήματα και η εδραίωση-χρήση της έννοιας των διεργασιών έφεραν στην επιφάνεια τον ταυτοχρονισμό, μία λειτουργία των υπολογιστικών συστημάτων η οποία έχει να κάνει με την ταυτόχρονη εκτέλεση διαφορετικών διεργασιών που επικοινωνούν μεταξύ τους, για την εκτέλεση ενός υπολογισμού. Η καινοτόμος αυτή ιδέα, δημιούργησε κάποιες προκλήσεις στον χώρο της πληροφορικής σε ζητήματα σχεδιασμού και υλοποίησης, όπως ο αμοιβαίος αποκλεισμός, η εκλογή αρχηγού,ο συγχρονισμός και η ομοφωνία μεταξύ συνεργαζόμενων, ταυτοχρόνως εκτελούμενων διεργασιών(το πεδίο αυτό σήμερα προσδιορίζεται με τον όρο κατανεμημένος υπολογισμός). Πέρα από την σκοπιά του λογισμικού, που αντιμετώπιζε τα προβλήματα μέσω μιας ψευδοπαράλληλης προσέγγισης διεργασιών, εμφανίζονται σταδιακά και εδραιώνονται υπολογιστές με περισσότερους από έναν επεξεργαστές. Οι επιστήμονες πλέον έχουν να αντιμετωπίσουν και τις προκλήσεις της πραγματικής παράλληλης επεξεργασίας, από τη σκοπιά του υλικού αυτή τη φορά. Έτσι δημιουργείται ένα νέο επιστημονικό πεδίο,αυτό της παράλληλης επεξεργασίας, στο οποίο μελετάται η πραγματική ταυτόχρονη εκτέλεση διεργασιών σε συστήματα πολλαπλών επεξεργαστών με κοινό χώρο μνήμης. Ταυτόχρονα, με την εξέλιξη των δικτύων, παρουσιάζεται η λύση της κατανομής των διεργασιών μέσω του δικτύου και της παράλληλης επεξεργασίας τους σε διαφορετικούς κόμβους.σε αυτήν την κατανεμημένη επεξεργασία, εφόσον δεν υπάρχει μία ε- νιαία μνήμη όπως στα παράλληλα, όλες οι CPU έχουν ιδιωτικές, τοπικές μνήμες με ξεχωριστούς χώρους διευθύνσεων (είναι δηλαδή ανεξάρτητοι, δικτυωμένοι υπολογιστές) και παρέχουν στον χρήστη την ψευδαίσθηση του ενιαίου, μοναδικού συστήματος. Ο όρος «κατανεμημένο σύστημα», αναφέρεται τόσο στο υλικό, όσο και στο λογισμικό, -9-

20 που είναι απαραίτητα για να υλοποιηθεί, με περισσότερη έμφαση, στο λογισμικό. Στα κατανεμημένα συστήματα, σε αντίθεση με τα παράλληλα, η διαφάνεια, δηλαδή η ψευδαίσθηση ενός ενιαίου συνεκτικού συστήματος, είναι μεγαλύτερος στόχος από την αύξηση των υπολογιστικών επιδόσεων που επιτυγχάνεται με τον παραλληλισμό. Ενδέχεται ας πούμε, να μη συμμετέχουν καν μερικοί κόμβοι σε κάποιον από κοινού υπολογισμό αλλά να εκτελούν άλλες σχετικές εργασίες, παρουσιαζόμενοι όμως στο εξωτερικό περιβάλλον ως ενιαίο σύστημα. Αυτά ονομάζονται μη συνεκτικά κατανεμημένα συστήματα (π.χ. ο Παγκόσμιος Ιστός ή οι ομότιμες εφαρμογές ανταλλαγής αρχείων μέσω Διαδικτύου), σε αντίθεση με τα συνεκτικά κατανεμημένα συστήματα, τα οποία αξιοποιούνται περισσότερο ως απλά παράλληλα συστήματα για τη μεγιστοποίηση των υπολογιστικών επιδόσεων. Εικόνα 5 : Προκλήσεις ενός κατανεμημένου συστήματος 2.1 Παράλληλη επεξεργασία Για την παράλληλη επεξεργασία υπάρχουν τέσσερα είδη υπολογιστικών συστημάτων (ταξινόμηση Φλυν, 1966), τα οποία διαχωρίζονται με βάση το πόσες ταυτόχρονες ροές επεξεργασίας εντολών και δεδομένων υποστηρίζουν: 1. Οι υπολογιστές SISD (Μία Εντολή - Ένα Δεδομένο): οι συνήθεις σειριακοί υ- πολογιστές Φον Νόιμαν, όπου κάθε στιγμή ένας μοναδικός επεξεργαστής εκτε- -10-

21 λεί μία εντολή σε ένα δεδομένο το οποίο έχει προσκομίσει από την κύρια μνήμη. 2. Οι υπολογιστές SIMD (Μία Εντολή - Πολλαπλά Δεδομένα): μία σπάνια κατηγορία, όπου κάθε στιγμή πολλαπλοί επεξεργαστές εκτελούν μία μόνο κοινή ε- ντολή σε πολλαπλά διαφορετικά δεδομένα. Ο όρος σήμερα περιγράφει σε σημαντικό βαθμό τη λειτουργία των σύγχρονων επεξεργαστών γραφικών. 3. Οι υπολογιστές MISD (Πολλαπλές Εντολές - Ένα Δεδομένο): ασυνήθιστη αρχιτεκτονική, όπου κάθε στιγμή πολλαπλοί επεξεργαστές τροποποιούν με διαφορετικό τρόπο την ίδια ροή δεδομένων συνήθως αξιοποιείται με γνώμονα την αύξηση της ανοχής σφαλμάτων μίας εφαρμογής και όχι την αύξηση των υπολογιστικών επιδόσεων. 4. Οι υπολογιστές MIMD (Πολλαπλές Εντολές - Πολλαπλά Δεδομένα): οι πλήρως παράλληλοι υπολογιστές, όπου πολλαπλοί αυτόνομοι επεξεργαστές εκτελούν ταυτοχρόνως πολλαπλές διαφορετικές ροές εντολών σε διαφορετικά δεδομένα. Τα συστήματα MIMD διακρίνονται σε : 1. Πολυεπεξεργαστές κοινής μνήμης, όπου πολλαπλοί επεξεργαστές επικοινωνούν με μία κοινή μνήμη ενιαίου χώρου διευθύνσεων. Οι επεξεργαστικές μονάδες α- νταλλάσσουν πληροφορίες προσπελαύνοντας κοινόχρηστες μεταβλητές στην κοινή μνήμη(π.χ. πολλαπλές διεργασίες ή νήματα, OpenMP).Στην παρούσα κατηγορία, υπάρχει συνήθως ένα μόνο λειτουργικό σύστημα το οποίο αναλαμβάνει να διανείμει τις διεργασίες στους διάφορους επεξεργαστές. 2. Πολυυπολογιστές κατανεμημένης μνήμης, όπου πολλαπλά πακέτα επεξεργαστή-ιδιωτικής μνήμης, με τον δικό του χώρο διευθύνσεων το καθένα, διασυνδέονται και επικοινωνούν μεταξύ τους ανταλλάσσοντας μηνύματα (Μοντέλο μεταβίβασης μηνυμάτων, π.χ. PVM,MPI). Σε αυτήν την κατηγορία, κάθε αυτόνομη επεξεργαστική μονάδα του συστήματος, τρέχει το δικό της λειτουργικό σύστημα, και εφόσον έχουν εγκατεστημένο το κατάλληλο λογισμικό, λειτουργούν ώς ενιαίο κατανεμημένο σύστημα. -11-

22 Εικόνα 6: Τα τέσσερα είδη υπολογιστικών συστημάτων, κατά Flynn 2.2 Συστήματα Πολυεπεξεργαστών Στα συστήματα πολυεπεξεργαστών, η μνήμη συνήθως διαιρείται σε πολλά τμήματα προκειμένου να επιτρέπονται ταυτόχρονες προσπελάσεις σε αυτά από διαφορετικούς επεξεργαστές (χωρίς αυτό να αναιρεί φυσικά την ύπαρξη ενιαίου χώρου διευθύνσεων), ενώ το δίκτυο διασύνδεσης είναι στην απλούστερη περίπτωση ένας δίαυλος, δηλαδή ένα κοινό μέσο μετάδοσης, το οποίο κάθε δεδομένη στιγμή μόνο ένας επεξεργαστής μπορεί να χρησιμοποιεί για επικοινωνία με κάποιο τμήμα μνήμης. Βλέπουμε λοιπόν οτι οι πολυεπεξεργαστές διαύλου, δεν παρουσιάζουν επαρκή κλιμακωσιμότητα, καθώς ο δίαυλος δεν έχει αρκετή χωρητικότητα ώστε να εξυπηρετεί ταυτόχρονα πολλούς διαφορετικούς επεξεργαστές. Συμπερασματικά, οι επιδόσεις δεν αυξάνονται αναλογικά με το πλήθος των επεξεργαστών, καθώς με την προσθήκη επεξεργαστών πολλαπλασιάζονται και τα διαστήματα αναμονής για κατάληψη του διαύλου. Στην περίπτωση που χρειαζόμαστε ένα σύστημα με περισσότερες από CPU πρέπει να καταφύγουμε σε δίκτυα μεταγωγής, όπου μεταξύ κάθε επεξεργαστή και κάθε τμήματος της μνήμης δημιουργείται μία μοναδική διαδρομή. -12-

23 Κάθε CPU, διαθέτει τη δική της τοπική κρυφή μνήμη για την αύξηση των επιδόσεων και την αποφυγή υπερφόρτωσης του δικτύου. Στα παράλληλα συστήματα, όμως, παρουσιάζεται το λεγόμενο «πρόβλημα της συνεκτικότητας» (cache coherence): ένα κοινόχρηστο δεδομένο που έχει αντιγραφεί σε πολλές κρυφές μνήμες και μπορεί να μεταβληθεί στην καθεμία χωρίς να το γνωρίζει η κύρια ή οι άλλες κρυφές μνήμες, με αποτέλεσμα να υπάρχει ασάφεια ως προς το ποιά είναι η σωστή τιμή του κάθε στιγμή. Το πρόβλημα αυτό επιλύεται στην περίπτωση ύπαρξης διαύλου με «πρωτόκολλα παρακολούθησης», όπου το υλικό κάθε επεξεργαστή παρακολουθεί όλη την πληροφορία που διακινείται στο κοινό μέσο και δρα ανάλογα, ενώ στην περίπτωση δικτύου μεταγωγής με «πρωτόκολλα καταλόγων», στους οποίους κάθε τμήμα της μνήμης διατηρεί έναν πίνακα με πληροφορίες για το ποιοι επεξεργαστές έχουν κάθε δεδομένο στην κρυφή τους μνήμη, ώστε όποτε χρειάζεται, να γίνονται οι κατάλληλες ενημερώσεις. Σε κάθε περίπτωση πάντως,τα πρωτόκολλα συνεκτικότητας επιβαρύνουν το σύστημα, αφού αυξάνουν την κίνηση στο δίκτυο διασύνδεσης, με το πρόβλημα να μειώνεται μόνο αν καταβληθεί προσπάθεια ώστε τα παράλληλα προγράμματα να μην τροποποιούν συχνά κοινόχρηστα δεδομένα. Τα παράλληλα συστήματα κοινής μνήμης με δίαυλο στα οποία όλες οι CPU είναι ισότιμες και μπορούν όλες να αναλάβουν την εκτέλεση του λειτουργικού συστήματος ονομάζονται «συμμετρικοί πολυεπεξεργαστές» (SMP). Πάντως, α- κόμη και οι πολυεπεξεργαστές μεταγωγής, στην πράξη έχουν περιορισμένη κλιμακωσιμότητα, λόγω του τετραγωνικά αυξανόμενου ως προς το πλήθος των επεξεργαστών κόστους κατασκευής του δικτύου διασύνδεσης, με αποτέλεσμα αν χρειαζόμαστε ένα σύστημα με αρκετούς επεξεργαστές, να καταφεύγουμε, συνήθως, σε πολυυπολογιστές. 2.3 Πολυυπολογιστές Στο μοντέλο των πολυυπολογιστών, έχουμε ένα σύνολο ανεξάρτητων υπολογιστών (είτε απλώς πακέτα επεξεργαστή και ιδιωτικής μνήμης, είτε πλήρη και αυτοτελή συστήματα) που επικοινωνούν μεταξύ τους μέσω ενός δικτύου διασύνδεσης. Οι κόμβοι, μπορούν μεταξύ τους να είναι είτε ομογενείς, είτε ετερογενείς. Στην περίπτωση των ομογενών,έχουμε κόμβους οι οποίοι είναι πανομοιότυποι, και λειτουργούν συνήθως για την επίτευξη μεγάλων υπολογιστικών επιδόσεων, ενώ στην περίπτωση των ετερογενών, έχουμε διαφορετικούς υπολογιστές, ακόμη και με διαφορετικά λειτουργικά συστήματα ή αρχιτεκτονικές, τα οποία λειτουργούν διαφανώς ώς ένα ενιαίο σύνολο. -13-

24 Για την επικοινωνία μεταξύ των συστημάτων χρησιμοποιούνται 2 είδη διασύνδεσης: 1. Εξειδικευμένο δίκτυο υψηλής απόδοσης. 2. Συνηθισμένο δίκτυο υπολογιστών (LAN,WAN) Εξειδικευμένο δίκτυο υψηλής απόδοσης Στην περίπτωση αυτή υπάγονται συνήθως ολοκληρωμένοι ομοιογενείς πολυυπολογιστές εξειδικευμένης αρχιτεκτονικής υπερυψηλών επιδόσεων, όπου κάθε κόμβος συνίσταται σε ένα πακέτο επεξεργαστή / μνήμης. Οι πολυυπολογιστές αυτού του τύπου, με δίκτυο διασύνδεσης μεταγωγής, μπορούν να κλιμακωθούν ακόμη και σε αρκετές χιλιάδες επεξεργαστές στο ίδιο σύστημα, γι' αυτό και σπανίως γίνεται χρήση διαύλου. Η διαφορά με τα δίκτυα διασύνδεσης των πολυεπεξεργαστών κοινής μνήμης, είναι οτι εδώ υπάρχουν άμεσες συνδέσεις μεταξύ ορισμένων μόνο κόμβων και η επικοινωνία μεταξύ δύο έμμεσα συνδεδεμένων επεξεργαστών γίνεται με δρομολόγηση του μηνύματος μέσω ενδιάμεσων σταθμών. Για να λειτουργήσει αυτή η προσέγγιση, χρησιμοποιούμε για την επικοινωνία των κόμβων ένα μικρό κύκλωμα μεταγωγής, το οποίο ονομάζεται δρομολογητής, και είναι υπεύθυνο για να μεταφέρει τα μηνύματα από τον έναν κόμβο στον άλλον, ακόμα κι αν χρειαστεί το μήνυμα να περάσει μέσα από άλλους κόμβους. Τα δίκτυα, μπορεί να έχουν διάφορες τοπολογίες (πλέγμα, υπερκύβος κ.α.), ενώ η μορφή μηνυμάτων καθορίζεται από συγκεκριμένα πρωτόκολλα, ορισμένα από τον κάθε κατασκευαστή. Τέτοιοι πολυυπολογιστές, παρουσιάζουν πολλές ομοιότητες με ένα κοινό τοπικό δίκτυο υπολογιστών, στο οποίο η τοπολογία είναι αυστηρά στατική, οι αποστάσεις πολύ μικρές και η ανάγκη για ταχύτητα εξαιρετικά αυξημένη. Έτσι, οι δρομολογητές, που παίζουν ταυτόχρονα τον ρόλο των καρτών δικτύου ενός συνήθους LAN και των δρομολογητών ενός WAN, έχουν όλη τη λειτουργικότητά τους τυπωμένη σε κυκλώματα υλικού ώστε να ελαχιστοποιούνται οι καθυστερήσεις, ενώ οι αλγόριθμοι δρομολόγησης που υλοποιούν είναι εξαιρετικά απλοί και γρήγοροι Συνηθισμένο δίκτυο υπολογιστών (LAN,WAN) Στην κατηγορία αυτή, υπάγονται ανοιχτής αρχιτεκτονικής ετερογενείς πολυυπολογιστές που προκύπτουν από τη δικτύωση συνηθισμένων υπολογιστών, που ονομάζονται υπολογιστικές συστάδες. Αυτό ως λύση, αν και χαμηλότερων επιδόσεων, έχει πολύ μικρό- -14-

25 τερο κόστος ενώ τα δίκτυα διασύνδεσης που επί το πλείστον αξιοποιεί (Lan, Internet κ.α.) είναι συνηθισμένα και εύκολα προσπελάσιμα. Δηλαδή, η μορφή του πολυυπολογιστή δεν διαφέρει από ένα τυπικό δίκτυο υπολογιστών, το οποίο χρησιμοποιεί το κοινό TCP/IP πρωτόκολλο, ενώ κάθε κόμβος αποτελεί έναν πλήρη συμμετρικό πολυεπεξεργαστή. Κατ αυτόν τον τρόπο, το δίκτυο διασύνδεσης μοιάζει κάπως με WAN και κάθε κόμβος με αυτόνομο LAN που συμμετέχει στο ολικό δίκτυο μέσω του δρομολογητή του. Εν πάσει περιπτώσει, εφόσον καταφέρουμε και έχουμε μια εικόνα συνεκτικού συστήματος το οποίο εξασφαλίζει διαφανή διαχείριση πόρων, έστω και σε περιπτώσεις ενός μόνο προγράμματος, τότε κάνουμε λόγο για κατανεμημένο σύστημα. 2.4 Μη συνεκτικά κατανεμημένα συστήματα Όπως αναφέρθηκε και προηγουμένως, τα μη συνεκτικά κατανεμημένα συστήματα συναντώνται συνήθως σε ετερογενείς δικτυωμένους υπολογιστές και βασίζονται σε λογισμικό το οποίο παρέχει υπηρεσίες σε χρήστες, αποκρύπτοντας όμως την ύπαρξη πολλαπλών υπολογιστών και τη χρήση του υποκείμενου δικτύου (διαφάνεια). Στόχος αυτών των συστημάτων, συνήθως, είναι η διαφανής παροχή κάποιας υπηρεσίας παρά η αύξηση των υπολογιστικών επιδόσεων κατά την επίλυση ενός προβλήματος, ενώ συνήθως για αυτόν τον σκοπό χρησιμοποιούνται κυρίως πολυεπεξεργαστές ή συνεκτικοί πολυυπολογιστές με τοπικά δίκτυα διασύνδεσης χαμηλής υστέρησης. Όλα αυτά θα μπορούσαμε ωστόσο να τα υλοποιήσουμε και με ένα συγκεντρωτικό σύστημα, δηλαδή για παράδειγμα έναν κεντρικό υπολογιστή στον οποίον να συνδέονται οι πελάτες μέσω δικτύου. Τα κατανεμημένα συστήματα όμως, έχουν αρκετά πλεονεκτήματα σχετικά με αυτήν την υλοποίηση όπως: Οικονομία, αφού ένας κεντρικός υπολογιστής μεγάλης ισχύος μπορεί να είναι πολύ ακριβότερος. Ευελιξία διαμοιρασμού φόρτου μεταξύ των κόμβων του συστήματος. Αξιοπιστία, αφού αν ένας κόμβος δυσλειτουργεί η τεθεί εκτός λειτουργίας δεν επηρεάζονται οι υπόλοιποι. Κλιμακωσιμότητα, αφού μπορεί να προστεθεί σταδιακά περισσότερη ισχύς με την προσθήκη νέων κόμβων. Την κοινοχρησία δεδομένων ή συσκευών μεταξύ απομακρυσμένων χρηστών. -15-

26 Προκύπτουν, όμως, διάφορα ζητήματα για την λειτουργία των συστημάτων αυτών. Για παράδειγμα, το λογισμικό και γενικά ο τρόπος προγραμματισμού πρέπει είναι προσαρμοσμένος για τέτοιου είδους συστήματα και να εκμεταλλεύεται τη φύση τους. Το δίκτυο επίσης, αποκτά ζωτική σημασία για τη λειτουργία του. Σε περιπτώσεις σφάλματος, το σύστημα μπορεί να δυσλειτουργήσει ή ακόμη και να καταρρεύσει. Επιπλέον, πρέπει να λάβουμε υπόψιν και τον τομέα της ασφάλειας και της έκθεσης των δεδομένων σε ένα κατανεμημένο σύστημα. Εφόσον οι πληροφορίες διακινούνται ασταμάτητα μέσω του δικτύου, αυτόματα υπάρχει πλέον ένα ακόμα επίπεδο ασφαλείας που πρέπει να διαμορφωθεί. Πλέον, για την δημιουργία ενός μη συνεκτικού κατανεμημένου συστήματος, έχουν θεσπιστεί κάποιοι κανόνες, οι οποίοι αν ακολουθηθούν παρέχουν λύσεις σε όλα τα ζητήματα που αναφέρθηκαν πιο πάνω. 1. Λογισμικό : Πρέπει το λογισμικό του κατανεμημένου συστήματος, να μην βασίζεται σε συγκεντρωτικούς αλγόριθμους, συγκεντρωτικές μονάδες και πίνακες, αλλά να είναι ώς επί το πλείστον κατανεμημένης φιλοσοφίας. Επειδή κάθε κόμβος αναλαμβάνει την επεξεργασία και παίρνει αποφάσεις ανάλογα με τις τοπικές πληροφορίες, πρέπει το λογισμικό να μπορεί να διαχειριστεί αυτήν την ασύγχρονη φύση της επεξεργασίας. 2. Κλιμακωσιμότητα - Αξιοπιστία : Πρέπει το σύστημα να έχει επαρκή κλιμακωσιμότητα, ώστε να καλύπτει τις ανάγκες των χρηστών, και το πιο σημαντικό, να μπορεί να επεκταθεί αν χρειαστεί με σχετική ευκολία. Εφόσον το σύστημα βασίζεται κατά πολύ στο δίκτυο διασύνδεσης του, πρέπει να μπορεί να αντιμετωπίζει τυχόν προβλήματα ταχύτητας και αξιοπιστίας δεδομένων με ασφάλεια. Τα σύγχρονα Κ.Σ. χρησιμοποιούν διάφορες τεχνικές προκειμένου να αντιμετωπίσουν τέτοιου είδους προβλήματα όπως π.χ. η αντιγραφή δεδομένων σε πολλούς κόμβους του συστήματος έτσι ώστε να μην υπάρχει απώλεια δεδομένων σε πιθανό σφάλμα ενός κόμβου, και επίσης να είναι ταχύτερη η ανάκτησή τους από διάφορους κόμβους καθώς θα υπάρχουν πιο πολλά και πιο προσιτά σημεία στο σύστημα για να ανακτηθεί η πληροφορία. 3. Προσφέρει στους χρήστες του κάποιους ή όλους από τους παρακάτω τύπους διαφάνειας: Διαφάνεια πρόσβασης, δηλαδή απόκρυψη των πιθανών διαφορών στην αναπαράσταση των δεδομένων και του πώς προσπελαύνονται μεταξύ των κόμβων του συστήματος. Διαφάνεια θέσης, δηλαδή απόκρυψη της πληροφορίας σχετικά με το σε ποιον κόμβο τοποθετείται ένας πόρος. Διαφάνεια μετανάστευσης, δηλαδή παροχή δυνατότητας στους πόρους να μετακινούνται κατά βούληση μεταξύ των κόμβων χωρίς να αλλάζουν ι- διότητες ή όνομα. Διαφάνεια επανατοποθέτησης, δηλαδή παροχή δυνατότητας κινητικότητας στους πόρους ενώ χρησιμοποιούνται. Διαφάνεια αντιγραφής, δηλαδή απόκρυψη του πλήθους αντιγράφων που μπορεί να έχει ένας πόρος για λόγους ασφάλειας ή αξιοπιστίας (ανοχής σφαλμάτων). -16-

27 Διαφάνεια ταυτοχρονισμού, δηλαδή παροχή δυνατότητας αυτόματου και συνεπούς διαμοιρασμού των πόρων την ίδια στιγμή μεταξύ διαφορετικών χρηστών. Διαφάνεια βλαβών, δηλαδή απόκρυψη αστοχίας πόρων. Διαφάνεια διατήρησης, δηλαδή απόκρυψη της κατάστασης αποθήκευσης ενός πόρου (προσωρινός, σε μνήμη RAM, ή μόνιμος, σε δίσκο). Διαφάνεια παραλληλισμού, δηλαδή απόκρυψη του αν μία εφαρμογή ε- κτελείται σε έναν ή πολλαπλούς επεξεργαστές. 2.5 Λογισμικό και λειτουργικά συστήματα κατανεμημένων συστημάτων Στον τομέα των κατανεμημένων συστημάτων,τα λειτουργικά συστήματα διακρίνονται σε συνεκτικά, στα οποία το λογισμικό διατηρεί και εμφανίζει στους χρήστες μία ενιαία εικόνα των πόρων, και μη συνεκτικά, στα οποία οι κόμβοι είναι θεμελιωδώς ανεξάρτητοι μεταξύ τους και επικοινωνούν σε κάποιον περιορισμένο βαθμό. Έτσι διακρίνουμε τους εξής τύπους Λ.Σ.: 1. Κατανεμημένα λειτουργικά συστήματα(dos) : Αυτού του είδους τα λειτουργικά συστήματα είναι συνεκτικά και αφορούν συστήματα πολυεπεξεργαστών ή ομοιογενών υπολογιστών. Είναι ένα πραγματικό καθαρά κατανεμημένο σύστημα. -17-

28 Εικόνα 7 : Στιγμιότυπο του λειτουργικού συστήματος Plan 9 της Dell Labs 2. Λειτουργικά συστήματα δικτύου(nos): Μη συνεκτικά συστήματα, στα οποία οι κόμβοι είναι ετερογενείς και η λειτουργία τους ώς κατανεμημένα συστήματα βασίζεται στην επικοινωνία των συστημάτων μέσω της δικτυακής υποδομής. Εικόνα 8: Cisco s NX-OS -18-

29 3. Ενδιάμεσο λογισμικό: Σε αυτού του τύπου τα συστήματα, ένα στρώμα λογισμικού, παρεμβάλλεται μεταξύ της εκάστοτε εφαρμογής και του λειτουργικού συστήματος δικτύου, παρέχοντάς μας την ψευδαίσθηση ενός ομοιογενούς κατανεμημένου συστήματος DOS. Με αυτήν την υλοποίηση, έχουμε τα πλεονεκτήματα ενός DOS σε θέματα παραμετροποίησης, ομοιογένειας και διαχείρισης πόρων, και του NOS σε θέματα ετερογενούς hardware και διαρθρωσιμότητας. Ώς παραδείγματα ενδιάμεσου λογισμικού έχουμε το MPI, ένα σύνολο βιβλιοθηκών για την ανταλλαγή μηνυμάτων μεταξύ των κόμβων ενός δικτύου, και του HADOOP με το οποίο θα ασχοληθούμε στην παρούσα πτυχιακή. Εικόνα 9: Δομή λειτουργίας του MPI 2.6 Μοντέλα κατανεμημένων λειτουργικών συστημάτων Στο σχεδιασμό των κατανεμημένων λειτουργικών συστημάτων, ο πιο βασικός παράγοντας είναι η διαδιεργασική επικοινωνία και η ανταλλαγή πληροφοριών μεταξύ των κόμβων του συστήματος. Υπάρχουν 2 βασικά μοντέλα που είναι υπεύθυνα για την διαχείριση και την διεκπεραίωση αυτών των λειτουργιών. Το μοντέλο πελάτηδιακομιστή(client-server), και το μοντέλο ομότιμης επικοινωνίας(peer-to-peer) Μοντέλο πελάτη διακομιστή (Client - Server model) -19-

30 Εικόνα 10: Το μοντέλο Client-Server Το μοντέλο πελάτη διακομιστή, περιγράφει την σχέση μεταξύ συνεργαζόμενων προγραμμάτων σε μια εφαρμογή. Ο πελάτης δε μοιράζεται κανέναν από τους πόρους του και απλά ζητάει περιεχόμενα ή υπηρεσίες από τον διακομιστή. Ο διακομιστής από τη μεριά του, παρέχει μια λειτουργία ή υπηρεσία σε έναν η περισσότερους πελάτες οι οποίοι είναι αυτοί που αιτούνται από τον διακομιστή αυτές τις υπηρεσίες. Οι διακομιστές, χαρακτηρίζονται από τις υπηρεσίες και τις λειτουργίες που παρέχουν. Για παράδειγμα, υπάρχουν διακομιστές ιστοσελίδων, διακομιστές ηλεκτρονικού ταχυδρομείου, διακομιστές αρχείων και γενικά οποιοσδήποτε hardware ή software πόρος του διακομιστή μπορεί να μοιραστεί στους πελάτες. Το αν ένας υπολογιστής είναι πελάτης, διακομιστής ή και τα δύο, αποφασίζεται από τη φύση της εφαρμογής που χρειάζεται τις υπηρεσίες. Για παράδειγμα, ένας μόνο υπολογιστής, μπορεί να δρα ώς διακομιστής ιστοσελίδων, διακομιστής αρχείων, ενώ την ίδια στιγμή να απαντάει σε κλήσεις διαφορετικής φύσης άλλων πελατών. Λογισμικό πελάτη και λογισμικό διακομιστή, μπορούν να βρίσκονται και να επικοινωνούν μεταξύ τους στον ίδιο υπολογιστή για την καλύτερη και πιο αρθρωτή κατανομή των πόρων και των διεργασιών. Επικοινωνία πελάτη/διακομιστή Μια υπηρεσία διακομιστή, ενώ χρησιμοποιεί ένα μέρος των πόρων του διακομιστή για να εκτελεστεί, πρέπει, αυτή η διαδικασία απάντησης του αιτήματος του πελάτη και παροχής της υπηρεσίας, να μην απασχολεί καθόλου τον πελάτη. Το μόνο που πρέπει να καταλάβει ο πελάτης είναι η απάντηση από τον διακομιστή, δηλαδή το περιεχόμενο της υπηρεσίας(να καταλαβαίνει το πρωτόκολλο επικοινωνίας όπως και το πώς είναι διαμορφωμένα τα δεδομένα που λαμβάνει από τον διακομιστή). -20-

31 Οι πελάτες και οι διακομιστές ανταλλάσσουν μηνύματα μέσω ενός μοτίβου μηνυμάτων αιτήματος/απάντησης: ο πελάτης στέλνει ένα αίτημα, ενώ ο διακομιστής επιστρέφει μια απάντηση. Η ανταλλαγή αυτή μηνυμάτων, είναι ένα παράδειγμα διαδιεργασικής επικοινωνίας. Συμπεραίνουμε λοιπόν ότι για να επικοινωνήσουν οι υπολογιστές(η τα προγράμματα) πρέπει να έχουν μια κοινή γλώσσα και να ακολουθούν συγκεκριμένους κανόνες έτσι ώστε και οι δύο να ξέρουν τι θα περιμένουν. Η γλώσσα και οι κανόνες αυτοί, ορίζονται από το πρωτόκολλο επικοινωνίας. Όλα τα πρωτόκολλα επικοινωνίας, λειτουργούν στο επίπεδο εφαρμογών. Το πρωτόκολλο επιπέδου εφαρμογής, ορίζει το βασικό μοτίβου του διαλόγου. Για την διαμόρφωση των δεδομένων, ώστε να είναι κατανοητά και σταθερά δομημένα, ο διακομιστής μπορεί να χρησιμοποιεί μια διεπαφή προγραμματισμού εφαρμογών(api/δπε). Η ΔΠΕ είναι ένα στρώμα αφαίρεσης (abstraction layer) στο οποίο τα δεδομένα διαμορφώνονται, ώστε κατά την επικοινωνία, τα δεδομένα να είναι δομημένα με έναν σταθερό και προσχεδιασμένο τρόπο, και έτσι να είναι δυνατή η επικοινωνία ανεξαρτήτως της πλατφόρμας στην οποία τρέχει ο εκάστοτε διακομιστής πελάτης. Ο διακομιστής μπορεί να λάβει αιτήματα από πολλούς διαφορετικούς πελάτες σε πολύ σύντομο χρονικό διάστημα. Επειδή ο αριθμός των διεργασιών που μπορεί να ε- κτελέσει είναι περιορισμένος, βασίζεται σε ένα σύστημα χρονοπρογραμματισμού, το οποίο διαχειρίζεται την προτεραιότητα και την εκτέλεση των αιτημάτων. Μέσω του χρονοπρογραμματισμού και των περιορισμό υπερκατανάλωσης πόρων από πελάτες, ο διακομιστής μπορεί και παραμένει λειτουργικός κάτω από μεγάλο φόρτο. -21-

32 2.6.2 Μοντέλο Ομότιμης επικοινωνίας (Peer-to-peer model) Εικόνα 11: Το μοντέλο P2P. Το μοντέλο ομότιμης επικοινωνίας, περιγράφει την εφαρμογή της διάδρασης μεταξύ κόμβων ενός κατανεμημένου συστήματος, κατά την οποία μοιράζεται ο φόρτος και οι διεργασίες μεταξύ τους ενώ ο κάθε κόμβος συμμετέχει ισοδύναμα στην εκτέλεση της εφαρμογής. Οι κόμβοι, κάνουν άμεσα διαθέσιμο ένα μέρος των πόρων τους, όπως την επεξεργαστική ισχύ, τον χώρο αποθήκευσής τους και το εύρος δικτύου τους, χωρίς να χρειάζεται συντονισμός για αυτό από κάποιον διακομιστή. Σε αντίθεση με το μοντέλο πελάτηδιακομιστή όπου υπάρχει σαφής διαχωρισμός του παροχέα υπηρεσιών και του αιτούμενου, οι κόμβοι είναι ταυτόχρονα προμηθευτές και καταναλωτές των πόρων, δηλαδή δρουν σαν έναν αυτόνομο πακέτο πελάτη διακομιστή. Θα λέγαμε οτι το P2P μοντέλο, είναι ένα δίκτυο αυτόνομων κόμβων πελάτη-διακομιστή φέροντας πολλά κοινά τόσο στην αρχιτεκτονική όσο και στον τρόπο λειτουργίας του μοντέλου. Για την σύνδεση μεταξύ των κόμβων, επί το πλείστον εφαρμόζεται μια τεχνική κατά την οποία δημιουργούμε ένα εικονικό δίκτυο επικάλυψης πάνω από το φυσικό στρώμα δικτύωσης. Στο εικονικό αυτό δίκτυο, οι κόμβοι αποτελούν ένα υποσύνολο των κόμβων του φυσικού δικτύου. Τα δεδομένα ωστόσο, ανταλλάζονται απευθείας μέσω του υποκείμενου TCP/IP δικτύου, αλλά στο στρώμα εφαρμογής (application layer), οι κόμβοι μπορούν να επικοινωνούν μεταξύ τους απευθείας, μέσω των λογικών συνδέσμων του δικτύου επικάλυψης(για κάθε λογικό σύνδεσμο του δικτύου επικάλυψης, α- -22-

33 ντιστοιχεί ένα μονοπάτι του υποκείμενου φυσικού δικτύου). Το δίκτυο επικάλυψης, χρησιμοποιείται για την ευρετηρίαση και την ανακάλυψη των κόμβων του δικτύου, καθιστώντας έτσι το δίκτυο ανεξάρτητο από την φυσική τοπολογία του δικτύου. Με βάση το πώς οι κόμβοι συνδέονται μεταξύ τους εντός του δικτύου επικάλυψης, και το πως οι πόροι αναπροσαρμόζονται και τοποθετούνται, μπορούμε να διαχωρίσουμε τα δίκτυα σε αδόμητα και δομημένα (ή ως ένα υβρίδιο των δύο). Μη δομημένα δίκτυα Τα μη δομημένα δίκτυα δεν χαρακτηρίζονται από μία συγκεκριμένη δομή στο δίκτυο επικάλυψης στο σχεδιασμό τους, αλλά σχηματίζονται από κόμβους που δημιουργούν τυχαία συνδέσεις μεταξύ τους. Επειδή δεν υπάρχει συγκεκριμένη δομή στο σχεδιασμό τους, τα αδόμητα δίκτυα P2P είναι πολύ εύκολο να δημιουργηθούν και επιτρέπουν τοπικές βελτιστοποιήσεις σε διαφορετικές περιοχές του δικτύου επικάλυψης. Επίσης, λόγω του ότι ο ρόλος του κάθε κόμβου στο δίκτυο είναι ο ίδιος, τα δίκτυα αυτά είναι πολύ ανθεκτικά και αποδοτικά σε καταστάσεις όπου υπάρχει μεγάλος αριθμός κόμβων που μπαίνουν και βγαίνουν συχνά απο το δίκτυο. Στον αντίποδα, αυτή η έλλειψη δομής, δημιουργεί και κάποια μειονεκτήματα τα οποία εντοπίζονται κυρίως στον τομέα της απόδοσης. Πιο συγκεκριμένα, όταν ένας κόμβος θέλει να βρει κάποια δεδομένα στο δίκτυο, το ερώτημα αναζήτησης που θα σταλεί, πρέπει να διατρέξει όλους τους κόμβους του δικτύου, μέχρι να βρεθούν αυτοί που θα έχουν τα δεδομένα. Επιπροσθέτως, αφού δεν υπάρχει αντιστοίχηση μεταξύ των κόμβων και των δεδομένων που εμπεριέχουν, υπάρχει το ενδεχόμενο να μην βρεθούν τα δεδομένα οπότε όλη η διαδικασία είναι άσκοπη. Αυτό σημαίνει αυξημένη κίνηση στο δίκτυο, και άσκοπη χρήση επεξεργαστικής ισχύος. Δομημένα δίκτυα Στα δομημένα peer-to-peer δίκτυα, το στρώμα επικάλυψης είναι οργανωμένο σε μια συγκεκριμένη τοπολογία, ενώ το πρωτόκολλο εξασφαλίζει ότι κάθε κόμβος μπορεί να αναζητήσει αποτελεσματικά στο δίκτυο για δεδομένα/πόρους, ακόμη και εάν αυτά είναι εξαιρετικά σπάνια. Ο πιο κοινός τύπος δομημένων δικτύων P2P, είναι αυτά που χρησιμοποιούν έναν κατανεμημένο πίνακα κατακερματισμού (DHT), στον οποίο μια παραλλαγή του μοντέλου συνεπούς κατακερματισμού (Data hashing) χρησιμοποιείται για να ανατεθεί η ιδιοκτησία του κάθε αρχείου σε έναν συγκεκριμένο κόμβο. Αυτό, επιτρέπει στους συνεργά- -23-

34 ζοντες πόρους να ψάξουν πόρους στο δίκτυο χρησιμοποιώντας τον πίνακα κατακερματισμού: Δηλαδή, τα πεδία (κλειδί, τιμή) αποθηκεύονται στο DHT ώς ζεύγη, έτσι ώστε ο κάθε κόμβος μπορεί να ανακτήσει τα δεδομένα που χρειάζεται, χρησιμοποιώντας το κλειδί που αντιστοιχεί σε αυτά. Ωστόσο, προκειμένου να δρομολογούν αποτελεσματικά μέσω του δικτύου, οι κόμβοι σε ένα δομημένο επικάλυψης πρέπει να διατηρούν καταλόγους των γειτονικών κόμβων που πληρούν συγκεκριμένα κριτήρια. Κάτι τέτοιο, καθιστά το μοντέλο αυτό λιγότερο ισχυρό σε δίκτυα με υψηλό ποσοστό αποσυνδέσεων, δηλαδή σε δίκτυα στα οποία κόμβοι εισέρχονται και εξέρχονται συχνά. Σε συνθήκες, λοιπόν, πραγματικού φόρτου εργασίας, δημιουργούνται διάφορα προβλήματα χρήσης αυτού του δομημένου μοντέλου, όπως υψηλό κόστος διαφήμισηςανεύρεσης πόρων, ή η στατική/δυναμική ανισορροπία φόρτου. Στον τομέα της ασφάλειας, τα δίκτυα p2p, λόγω της δομής τους παρουσιάζουν αρκετές προκλήσεις, διότι η ισότητα μεταξύ των κόμβων, όπως και η μη κεντρική διαχείριση δεδομένων, καθιστά πολύ εύκολη την παραβίαση της ασφάλειας ενός κόμβου, με αποτέλεσμα να υπάρχει πρόσβαση στο δίκτυο. Για τους ίδιους λόγους, οποιοδήποτε είδος κακόβουλου λογισμικού μπορεί, πολύ εύκολα, να μεταδοθεί μέσω των δικτύων αυτών. Αν και έχουν αναπτυχθεί διάφορες λύσεις για θέματα ασφαλείας, το client-server μοντέλο, είναι πιο ασφαλές και πολύ πιο εύκολα διαχειρίσιμο. Υβριδικής δομής δίκτυα Το υβριδικό μοντέλο, είναι ένας συνδυασμός των peer-to-peer και client-server μοντέλων. Το πιο κοινό υβριδικό μοντέλο, είναι να έχουμε έναν κεντρικό server που βοηθά τους κόμβους να βρουν ο ένας τον άλλον. Υπάρχει μια ποικιλία των υβριδικών μοντέλων, τα οποία κάνουν συμβιβασμούς μεταξύ της κεντρικής λειτουργικότητας που παρέχεται από ένα δομημένο διακομιστή και την ισότητα κόμβων που παρέχεται από τα καθαρά μη δομημένα δίκτυα peer-to-peer. Τα υβριδικά μοντέλα έχουν καλύτερη απόδοση από οποιοδήποτε είτε καθαρό αδόμητο δίκτυο ή καθαρό δομημένο δίκτυο από μόνο του, επειδή ορισμένες λειτουργίες, όπως η έρευνα, χρειάζονται μια κεντρική λειτουργικότητα, αλλά επωφελούνται από την αποκεντρωμένη ομαδοποίηση των κόμβων που παρέχονται από μη δομημένα δίκτυα. -24-

35 2.6.3 Πλεονεκτήματα-Μειονεκτήματα Το client-server μοντέλο, όπως και το peer2peer, παρουσιάζουν συγκεκριμένα πλεονεκτήματα και μειονεκτήματα και ανάλογα με τις απαιτήσεις της επιχείρησης, θα πρέπει να αποφασιστεί ποιο μοντέλο θα την εξυπηρετεί καλύτερα λαμβάνοντας υπόψιν παράγοντες όπως κόστος, απόδοση, ασφάλεια, απαιτήσεις χρηστών κτλ. Στον παρακάτω πίνακα παρουσιάζονται κάποιες ιδιότητες των δύο μοντέλων, με σκοπό να υπάρξει μια άμεση όψη των προτερημάτων και μειονεκτημάτων των 2 βασικών μοντέλων: Client/Server Model Δικαιώματα πρόσβασης Μέσω λιστών/χρηστών και α- δειών. Κάθε χρήστης/ομάδα έχει τα δικαιώματα που του χορηγούνται από τον διαχειριστή κι έτσι κάθε χρήστης μπορεί να έχει διαφορετικά επίπεδα πρόσβασης. Peer-to-Peer Οι πόροι διαχειρίζονται ξεχωριστά από τον κάθε κόμβο του δικτύου. Ανάλογα με το ΛΣ,η πρόσβαση ορίζεται με κωδικούς α- σφαλείας Για συγκεκριμένους πόρους, με λίστες κωδικών χρηστών ανά σύστημα,ακόμα και μερικές φορές χωρίς τίποτα από τα δύο, καθιστώντας οποιονδήποτε στο δίκτυο να αποκτά πρόσβαση στους πόρους του δικτύου. Ασφάλεια Απόδοση Κόστος Hardware Υψηλή: Η πρόσβαση στους πόρους-υπηρεσίες είναι αυστηρά ελεγχόμενη μέσω αδειών πρόσβασης ανά χρήση - ομάδα. Υψηλή: Ο server χρησιμοποιείται αποκλειστικά για την εξυπηρέτηση πελατών και χρησιμοποιεί όλους τους απαραίτητους πόρους για αυτό. Υψηλό: Ένας συνήθης server υψηλής απόδοσης με δυνατότητες πλεονασμού, έχει πολύ υψηλό κόστος Εξαρτάται : Αν χρησιμοποιούνται κωδικοί, τότε όποιος έχει τον κωδικό έχει πρόσβαση. Αν όχι, ο- ποιοσδήποτε στο δίκτυο έχει πρόσβαση. Αν πάλι χρησιμοποιείται μοντέλο αδειών χρηστών/ομάδων, τότε η ασφάλεια είναι εφάμιλλη με το μοντέλο πελάτη/διακομιστή. Χαμηλότερη: Ο κάθε κόμβος, εκτελεί συνήθως και χρέη workstation έτσι οι πόροι που μπορεί να διαθέσει είναι περιορισμένοι. Χαμηλό: Χρήση της υπάρχουσας υποδομής του δικτύου. Οι σταθμοί εργασίας λειτουργούν ώς servers. Κόστος Software Υψηλότερο : Σε μερικές περι- Χαμηλότερο: Συνήθως το λογι- -25-

36 Αντίγραφα ασφαλείας Πλεονασμός πτώσεις το κόστος του λογισμικού αυξάνεται ανάλογα με τις άδειες χρηστών. Εφόσον όλα τα δεδομένα βρίσκονται στον server,η διαχείρισή τους γίνεται από τον διαχειριστή του, και η λήψη αντίγραφων α- σφαλείας είναι μια πολύ εύκολη και σίγουρη διαδικασία. Δυνατότητες εφεδρικής τροφοδοσίας,άμεσης αλλαγής δίσκων, ακόμα και εφεδρικοί servers είναι κοινές πρακτικές στο χώρο του μοντέλου server/client. Έτσι ακόμα και το λογισμικό του server μπορεί στις περισσότερες περιπτώσεις και διαχειρίζεται τα προβλήματα αυτόματα. σμικό είναι μέρος του λειτουργικού συστήματος. Αποκεντροποιημένη προσέγγιση.η λήψη αντιγράφων ασφαλείας πρέπει να γίνεται σε κάθε κόμβο και η διαδικασία γίνεται από τον εκάστοτε χρήστη. Στο μοντέλο αυτό δεν υπάρχει αληθινός πλεονασμός μεταξύ των κόμβων. Συνήθως χρειάζεται χειροκίνητη επίλυση των προβλημάτων,με μεγάλες πιθανότητες απώλειας δεδομένων. Ωστόσο, πλέον, στις περισσότερες περιπτώσεις χρησιμοποιούμε υβριδικές λύσεις μεταξύ των δύο, όπως το Apache Hadoop με το οποίο ασχολείται η παρούσα πτυχιακή εργασία. Αξιοποιώντας αυτές τις λύσεις, έχουμε φτάσει σε ένα σημείο που μπορούμε πλέον να πούμε οτι τα μειονεκτήματα και των δύο μοντέλων, είτε έχουν εξαλειφθεί, είτε έχουν περιοριστεί σε πολύ μεγάλο βαθμό. Μέσω του Hadoop, παρέχεται μεγάλη ταχύτητα, αποδοτικότητα και ευκολία διαχείρισης, μεγάλη ασφάλεια σε θέματα απώλειας δεδομένων, και όλα αυτά σε μηδενικό πολλές φορές κόστος με τη χρήση παρούσας υποδομής. ΒΙΒΛΙΟΓΡΑΦΙΑ Abdul Rehman Aslam, distributed computing, Andrew S. Tanenbaum,Maarten van Steen, Κατανεμημένα Συστήματα,Εκδόσεις Κλειδάριθμος, Έτος έκδοσης : 2005, Κωδικός ISBN: Client-Server Model, Wikipedia

37 Distributed Computing, Wikipedia - Peer to Peer, Wikipedia - Ι. Κ. Κάβουρας, Ι. Ζ. Μήλης, Γ. Β. Ξυλωμένος, Α. Α. Ρουκουνάκη, «Κατανεμημένα συστήματα με Java - 3η έκδοση»,κωδικός ISBN: Παράλληλα και κατανεμημένα συστήματα, Wikipedia - %CE%BB%CE%B7%CE%BB%CE%B1_%CE%BA%CE%B1%CE%B9_%C E%BA%CE%B1%CF%84%CE%B1%CE%BD%CE%B5%CE%BC%CE%B7 %CE%BC%CE%AD%CE%BD%CE%B1_%CF%83%CF%85%CF%83%CF% 84%CE%AE%CE%BC%CE%B1%CF%84%CE%B1 Παράλληλος προγραμματισμός, Wikipedia - %CE%BB%CE%B7%CE%BB%CE%BF%CF%82_%CF%80%CF%81%CE% BF%CE%B3%CF%81%CE%B1%CE%BC%CE%BC%CE%B1%CF%84%CE %B9%CF%83%CE%BC%CF%8C%CF%82-27-

38 3 Apache Hadoop Εικόνα 12: Το λογότυπο του Apache Hadoop. Η βιβλιοθήκη λογισμικού Apache Hadoop, είναι ένα framework που επιτρέπει την κατανεμημένη επεξεργασία μεγάλων συνόλων δεδομένων σε συστάδες υπολογιστών με τη χρήση απλών μοντέλων προγραμματισμού. Είναι σχεδιασμένο για να χρησιμοποιείται από έναν απλό server εώς και σε χιλιάδες μηχανές, η καθεμία με τις δικές τις υπολογιστικές και αποθηκευτικές δυνατότητες. Αντί να βασίζεται σε υλικό για την παροχή υψηλής διαθεσιμότητας, η ίδια η βιβλιοθήκη έχει σχεδιαστεί για να εντοπίζει και να χειρίζεται τις αποτυχίες σε επίπεδο εφαρμογών, έτσι ώστε να προσφέρει μια υψηλά διαθέσιμη υπηρεσία που τρέχει σε ένα σύμπλεγμα από ηλεκτρονικούς υπολογιστές, καθένας από τους οποίους μπορεί να είναι επιρρεπής σε αποτυχίες. Δημιουργήθηκε το 2005 από τους Doug Cutting και Mike Cafarella σαν απάντηση στα προβλήματα ισχύος και αποθήκευσης που αντιμετώπιζαν κατά τη δημιουργία του Nutch project, ουσιαστικά μιας μηχανής αναζήτησης της Yahoo. Ήταν το σύνολο τεχνολογιών που προήλθε από το Nutch στα κομμάτια κατανεμημένης επεξεργασίας και αποθήκευσης, υλοποιώντας τα MapReduce και GFS μοντέλα της Google. Ενώ στις αρχές της δημιουργίας του ήταν μια πολύ περιορισμένη πλατφόρμα, η εξέλιξή του ήταν τρομακτική σε όλα τα επίπεδα. Πλέον, είναι ένα πανίσχυρο εργαλείο του οποίου η αξία υπολογίζεται οτι στην αγορά μέχρι το 2016 θα πλησιάσει τα 813 εκατομμύρια δολάρια. Συμπεριλαμβάνει τα ακόλουθα modules : 1) Hadoop Common : Τα γενικά εργαλεία τα οποία χρειάζονται να υποστηρίζουν τα υπόλοιπα modules. -28-

39 2) Hadoop Distributed File System (HDFS ): Ένα κατανεμημένο σύστημα αρχείων το οποίο παρέχει υψηλής ταχύτητας και διαθεσιμότητας πρόσβαση στα δεδομένα. 3) Hadoop Yarn : Ένα framework για τον προγραμματισμό και την διαχείριση των διεργασιών στα επιμέρους υπολογιστικά κομμάτια του Hadoop. 4) Hadoop MapReduce: Ένα σύστημα βασισμένο στο YARN το οποίο αναλαμβάνει την παράλληλη επεξεργασία των δεδομένων. Τα modules αυτά δεν είναι τα μόνα που σχετίζονται με το Hadoop. Υπάρχει μια πληθώρα τεχνολογιών και προγραμμάτων όπως π.χ. το Ambari, ένα πρόγραμμα το όποιο δημιουργήθηκε με σκοπό να παρακολουθεί την κατάσταση διάφορων επιμέρους τμημάτων ενός Hadoop cluster, όπως το HDFS, τη διαχείριση διεργασιών του YARN αλλά και άλλων modules. Δεν είναι στα πλαίσια της πτυχιακής εργασίας να επεκταθεί σε αυτές τις τεχνολογίες, αλλά αξίζει να αναφερθεί, οτι πολλά από αυτά τα εργαλεία χρησιμοποιούνται σε εγκαταστάσεις τεράστιας κλίμακας από εταιρίες κολοσσούς, και υπάρχει πολύ ενδιαφέρον για το μέλλον αυτών των τεχνολογιών παγκόσμια. Εικόνα 13: Το οικοσύστημα του Hadoop. 3.1 Hadoop Common Περιέχει τα απαραίτητα Java (JAR) τα αρχεία και τα scripts που χρειάζονται για να ξεκινήσει Hadoop. Το πακέτο παρέχει επίσης τον πηγαίο κώδικα, τεκμηρίωση, και ένα τμήμα συνεισφορών που περιλαμβάνει έργα από την κοινότητα Hadoop. Για τον αποτελεσματικότερο προγραμματισμό των εργασιών, κάθε σύστημα αρχείων συμβατό με το Hadoop θα πρέπει να παρέχει συνειδητοποίηση τοποθεσίας: Το όνο- -29-

40 μα του rack (ακριβέστερα, του switch ), όπου ένας κόμβος εκτελεί εφαρμογές Hadoop μπορεί να χρησιμοποιηθεί για να εκτελεστούν εργασίες στον κόμβο όπου τα δεδομένα βρίσκονται, και, ελλείψει αυτού, στο ίδιο rack/switch,για να επιτευχθεί μείωση κυκλοφορίας δεδομένων στο δίκτυο. Το HDFS χρησιμοποιεί αυτή τη μέθοδο για αναπαραγωγή δεδομένων, έτσι ώστε να κρατήσει αντίγραφα των δεδομένων σε διαφορετικά racks. Ο στόχος είναι να μειωθούν οι επιπτώσεις της διακοπής ενέργειας ή καταστροφής ενός rack/switch, με τα δεδομένα να εξακολουθήσουν να είναι αναγνώσιμα. Ένα απλό Hadoop cluster περιλαμβάνει ένα master και πολλαπλά worker nodes. Ο master κόμβος αποτελείται από έναν JobTracker, TaskTracker, NameNode και DataNode. Ένας slave ή worker κόμβος δρα ως DataNode και TaskTracker, αν και είναι δυνατόν να έχουμε slave nodes τα οποία λειτουργούν ώς μόνο DataNodes ή μόνο TaskNodes. Αυτές οι περιπτώσεις είναι πιο σπάνιες και χρησιμοποιούνται μόνο σε λιγότερο συνηθισμένες εφαρμογές. Για να τρέξει, απαιτεί το Java Runtime Environment (JRE) 1.6 ή νεότερη έκδοση. Τα scripts εκκίνησης και τερματισμού προαπαιτούν ότι έχει δημιουργηθεί επικοινωνία Secure Shell (SSH) μεταξύ των κόμβων του συμπλέγματος. Σε ένα μεγαλύτερο cluster, τo HDFS διαχειρίζεται μέσω ενός primary dedicated NameNode server, το οποίο φιλοξενεί το index του συστήματος αρχείων, και εντός δευτερεύοντος NameNode που μπορεί να αποθηκεύσει στιγμιότυπα του primary NameNode, εμποδίζοντας έτσι τη φθορά του συστήματος αρχείων και μειώνοντας την απώλεια δεδομένων. Στην περίπτωση αυτή, ένας αυτόνομος JobTracker, μπορεί να διαχειριστεί τις διεργασίες. Σε περιπτώσεις cluster, στους οποίος η Hadoop MapReduce engine έχει αναπτυχθεί πάνω σε ένα εναλλακτικό σύστημα αρχείων οι NameNode, secondary NameNode, και DataNode του HDFS αντικαθίστανται από τα αντίστοιχα ισοδύναμα του εκάστοτε συστήματος αρχείων. 3.2 Hadoop Distributed File System (HDFS) Το HDFS είναι ένα κατανεμημένο, επεκτάσιμο και φορητό σύστημα αρχείων γραμμένο σε Java για το έργο Hadoop, το οποίο διαφοροποιείται από τα υπόλοιπα κατανεμημένα συστήματα αρχείων, ως προς το ότι έχει ώς βασικούς του στόχους την ανοχή λαθών και το ότι τα τρέχει με διαφάνεια σε μηχανήματα χαμηλού κόστους. Συνήθως, εμπεριέχει ένα NameNode συν ένα σύμπλεγμα DataNodes, αν και υπάρχουν διάφορες δυνατές ε- πιλογές για λόγους κρισιμότητας και ασφάλειας (secondary NameNodes etc.). Κάθε -30-

41 DataNode σερβίρει blocks δεδομένων μέσω του δικτύου χρησιμοποιώντας ένα πρωτόκολλο block, ειδικά φτιαγμένο για το HDFS, ενώ το σύστημα αρχείων χρησιμοποιεί το πρωτόκολλο TCP / IP για επικοινωνία. Οι πελάτες χρησιμοποιούν κλήσεις απομακρυσμένης διαδικασίας (RPC) για να επικοινωνούν μεταξύ τους. Το HDFS αποθηκεύει μεγάλα αρχεία (συνήθως στο εύρος από gigabytes σε terabytes) σε πολλαπλές μηχανές. Επιτυγχάνει αξιοπιστία με την αντιγραφή δεδομένων σε πολλούς υπολογιστές, και ως εκ τούτου, θεωρητικά δεν απαιτεί αποθήκευση RAID(αλλά για να αυξηθεί η απόδοση Input/Output μερικές διαμορφώσεις RAID εξακολουθούν να είναι χρήσιμες). Με την προεπιλεγμένη τιμή αντιγραφής, (που ισούται με 3), τα δεδομένα αποθηκεύονται σε τρεις διαφορετικούς κόμβους: δύο στο ίδιο rack, και μία σε διαφορετικό. Οι DataNodes, μπορούν να επικοινωνούν μεταξύ τους για να εξισορροπήσουν τα δεδομένα, για να μετακινήσουν αντίτυπα μεταξύ των κόμβων και για να κρατήσουν την επανάληψη (replication) των δεδομένων σε υψηλά επίπεδα. Το HDFS δεν είναι πλήρως συμβατό με το POSIX, γιατί οι απαιτήσεις και οι στόχοι ενός POSIX συστήματος αρχείων διαφέρουν από τους στόχους μιας εφαρμογής Hadoop. Το κέρδος της μη POSIX συμβατότητας, είναι η αυξημένη απόδοση για τη διαμεταγωγή δεδομένων και υποστήριξη για μη-posix λειτουργίες όπως είναι η προσάρτηση (Append). Εικόνα 14:Απλοποιημένη άποψη της δομής του HDFS -31-

42 Το σύστημα αρχείων HDFS, περιλαμβάνει προαιρετικά ένα δευτερεύων NameNode, ένα παραπλανητικό όνομα που μερικοί ερμηνεύουν εσφαλμένα ως εφεδρικό NameNode, σε περίπτωση που ο πρωτεύων NameNode τεθεί εκτός σύνδεσης. Στην πραγματικότητα, ο δευτερεύων NameNode συνδέεται τακτικά με τον πρωτεύων NameNode και αποθηκεύει στιγμιότυπα των πληροφοριών καταλόγου του πρωτογενούς NameNode σε τοπικούς ή απομακρυσμένους καταλόγους. Αυτά τα στιγμιότυπα μπορούν να χρησιμοποιηθούν για να επανεκκινήσουμε έναν πρωτογενή NameNode, χωρίς να χρειάζεται να επαναληφθεί ολόκληρη η διαδικασία εκκίνησης του συστήματος αρχείων. Στη συνέχεια απλά επεξεργαζόμαστε το μητρώο για να δημιουργηθεί μια up-todate δομή καταλόγων. Ένα πλεονέκτημα της χρήσης του HDFS είναι το data awareness μεταξύ του job tracker και του task tracker. Ο job tracker προγραμματίζει την ανάθεση map και reduce εργασιών στους task trackers,γνωρίζοντας επακριβώς την θέση των δεδομένων. Με αυτήν την ιδιότητα μπορεί οι εργασίες να προγραμματιστούν με τέτοιον τρόπο, ώστε οι κοντινότεροι κόμβοι να επεξεργαστούν τα δεδομένα ανάλογα με την θέση τους. Αυτό μειώνει το ποσό της κίνησης που πηγαίνει πέρα από το δίκτυο και αποτρέπει την άσκοπη μεταφορά δεδομένων. Όταν το Hadoop χρησιμοποιείται με άλλα συστήματα αρχείων, δεν είναι πάντα δυνατό να υπάρξει αυτού του είδους το πλεονέκτημα. Αυτό μπορεί να έχει σημαντικές επιπτώσεις στο χρόνο εργασίας και ολοκλήρωσης, κάτι το οποίο έχει αποδειχθεί, ιδιαίτερα κατά την επεξεργασία μεγάλου όγκου δεδομένων. Το HDFS μπορεί να προσαφθεί πολύ εύκολα μέσω FUSE σε περιβάλλον Linux, κάτι που το κάνει πολύ ευέλικτο και εύκολα εγκαταστάσιμο σε οποιοδήποτε σύγχρονο Unix σύστημα. Μία απλή προσάρτηση κατά την εκκίνηση του Hadoop είναι ό,τι χρειάζεται ώστε να ξεκινήσει και να είναι πλήρως λειτουργικό σε όλους τους κόμβους. Έχει σχεδιαστεί για μεγάλο όγκο δεδομένων, τα οποία κατά βάση είναι σχετικά α- μετάβλητα. Συνεπώς δεν ενδείκνυται για εργασίες οι οποίες χρειάζονται συνεχή επεξεργασία και μεταβολή αρχείων. Η πρόσβαση στα αρχεία μπορεί να γίνει με διάφορους τρόπους και συνεχώς δημιουργούνται καινούρια εργαλεία ώστε να ικανοποιούν τις εκάστοτε απαιτήσεις. Υπάρχουν για παράδειγμα, το native Java API του Hadoop, το Thrift API, το commandline interface, web-interface μέσω HTTP κ.α. Συνοψίζοντας, τα χαρακτηριστικά που κάνουν τόσο λειτουργικό και χρήσιμο το HDFS είναι η αρθρωτή δομή του, το rack awareness όπως και η ασφάλεια σε περιπτώ- -32-

43 σεις αποτυχίας. Είναι από τα πιο ευρέως διαδεδομένα κατανεμημένα συστήματα αρχείων, και λόγω αυτού έχει γίνει η βάση για πάρα πολλά custom made συστήματα που χρησιμοποιούν εταιρίες όπως η Amazon, Facebook, Yahoo. Εντολές διαχείρισης αρχείων στο HDFS : Στην παράγραφο αυτήν θα παρουσιάσουμε μερικές εντολές στο command line interface για να δείξουμε τον τρόπο που λειτουργεί και πως αλληλοεπιδρούμε με το σύστημα αρχείων. Δεν διαφέρει ουσιαστικά από ένα τυπικό σύστημα αρχείων Unix, παρέχοντας μας αρκετές από τις πολύ χρήσιμες εντολές ενός τυπικού π.χ. bash shell. Δημιουργία φακέλου : hadoop fs -mkdir /hadoop_user/testfolder/dir1 /hadoop_user/testfolder/dir2 (όπως παρατηρούμε, η δομή του συστήματος αρχείων είναι πανομοιότυπη με ένα σύστημα αρχείων unix) Παρουσίαση περιεχομένων φακέλου : hadoop fs -ls /hadoop_user/testfolder Ανέβασμα(αντιγραφή προς HDFS) αρχείου στο κατανεμημένο σύστημα αρχείων : hadoop fs -put /home/user/test.txt /hadoop_user/testfolder/dir1/ Το πρώτο path μετά την εντολή put δείχνει στο αρχείο που θέλουμε να μεταφέρουμε από το τοπικό σύστημα αρχείων, ενώ το δεύτερο είναι το path του HDFS στο οποίο θα μεταφερθεί το αρχείο. Όμοια με την εντολή copyfromlocal Κατέβασμα(αντιγραφή από HDFS) αρχείου από το κατανεμημένο σύστημα αρχείων: hadoop fs -get /hadoop_user/testfolder/dir1/samplefile.txt /home/ Το πρώτο path μετά την εντολή get δείχνει στο αρχείο που θέλουμε να μεταφέρουμε από το HDFS,ενώ το δεύτερο είναι ο φάκελος του τοπικού συστήματος αρχείων. Όμοια με την εντολή copytolocal Εμφάνιση περιεχομένων αρχείου: hadoop fs -cat /hadoop_user/testfolder/dir1/abc.txt Αντιγραφή αρχείων εντός του HDFS: hadoop fs -cp /hadoop_user/testfolder/dir1/abc.txt /hadoop_user/testfolder/dir2 Μετακίνηση αρχείου εντός του HDFS: hadoop fs -cp /hadoop_user/testfolder/dir1/abc.txt /hadoop_user/testfolder/dir2 Διαγραφή αρχείων ή άδειων φακέλων: hadoop fs -rm /hadoop_user/testfolder/dir1/abc.txt Διαγραφή φακέλων με περιεχόμενα(recursive delete): hadoop fs -rmr /hadoop_user/testfolder/dir1/ -33-

44 Εμφάνιση τελευταίων γραμμών ενός αρχείου : hadoop fs -tail /hadoop_user/testfolder/dir1/abc.txt Αυτή η εντολή είναι ιδιαίτερα συνηθισμένη για την εμφάνιση διαφόρων αρχείων καταγραφής ενεργειών. Εμφάνιση μεγέθους αρχείου : hadoop fs -du /hadoop_user/testfolder/dir1/abc.txt Στην ιστοσελίδα του Hadoop μπορεί να βρεθεί μία πλήρης λίστα με όλες τις εντολές που υπάρχουν για το HDFS ακολουθούμενες από επεξήγηση της λειτουργίας τους. 3.3 Hadoop MapReduce Η MapReduce Engine, η οποία αποτελείται από ένα JobTracker, στον οποίο οι εκάστοτε εφαρμογές υποβάλλουν εργασίες MapReduce. Ο JobTracker σπρώχνει τις εργασίες στους διαθέσιμους TaskTracker κόμβους, προσπαθώντας να τις κρατήσει όσο πιο κοντά στα δεδομένα γίνεται. Ο JobTracker γνωρίζει ποιός κόμβος περιέχει τα δεδομένα, και ποιά άλλα μηχανήματα βρίσκονται κοντά. Αν οι εργασίες δεν μπορούν να φιλοξενηθούν στους κόμβους που περιέχουν τα δεδομένα, δίνεται προτεραιότητα στους κόμβους στο ίδιο rack. Αυτό μειώνει την κυκλοφορία του δικτύου και την ταχύτητα διαμεταγωγής. Εάν ένας TaskTracker για κάποιο λόγο δεν μπορεί να ανταποκριθεί σε κάποιο μέρος των εργασιών, ειδοποιείται ο JobTracker και τις αποστέλλει αλλού. Ο TaskTracker σε κάθε κόμβο ξεκινά μία JVM διεργασία έτσι ώστε αν ο TaskTracker α- ποτύχει να εκτελέσει κάποια διεργασία, να μην σταματήσει η λειτουργία του συνολικά. Μία ειδοποίηση στέλνεται από τον TaskTracker στον JobTracker κάθε λίγα λεπτά ώστε να ενημερώσει για την κατάστασή του. Οι καταστάσεις και οι πληροφορίες των JobTrackers και TaskTrackers μπορούν ανά πάσα στιγμή να παρατηρηθούν μέσω web interface. Αν και γενικά η παραπάνω περιγραφή, καλύπτει τη γενική εικόνα της μηχανής MapReduce, κατά την πάροδο του χρόνου έχει υποστεί τεράστιες αλλαγές, με μεγαλύτερη αυτήν της μετάβασης στην 2η έκδοση της, που ονομάζεται και YARN-Mapreduce. Η μεγαλύτερη αλλαγή που δικαιολογεί την μετάβαση στην v2.0, είναι ο διαχωρισμός στον JobTracker των 2 βασικών λειτουργιών του σε διαφορετικούς δαίμονες(daemons),οι οποίοι είναι ο resource manager daemon, και ο job scheduler/manager daemon. -34-

45 Εικόνα 15: Διαχωρισμός του Yarn Mapreduce Λειτουργία του μοντέλου MapReduce Η εκάστοτε εφαρμογή που εκτελείται, στέλνει τις map και reduce εργασίες της στον JobTracker, ο οποίος με πολιτική FIFO (First In First Out), τις στέλνει στους TaskTrackers για εκτέλεση ανάλογα με τα ελεύθερα slots του καθενός. Οι TaskTrackers απλά εκτελούν τις εργασίες που τους αναθέτει ο JobTracker. Εάν ένας TaskTracker α- ποτύχει τότε στέλνεται ένα σήμα στον JobTracker που αναλαμβάνει να επιλύσει το πρόβλημα, χωρίς να χρειαστεί να τερματίσει ολόκληρη την εργασία Επισκόπηση της εκτέλεσης μιας MAPREDUCE εργασίας Αρχικά η είσοδος μοιράζεται σε Μ κομμάτια, που μπορούν να επεξεργαστούν παράλληλα, κάθε ένα από τα οποία θα πάει σε ξεχωριστή map διεργασία. Τα ενδιάμεσα κλειδιά μοιράζονται στους R Reducers με χρήση κάποιας συνάρτησης κατακερματισμού (π.χ. hash (key) mod R).Οι ενέργειες γίνονται με την εξής σειρά: 1. Η βιβλιοθήκη Map Reduce διασπά την είσοδο σε Μ κομμάτια, συνήθως μεγέθους 16-64Mb, και ξεκινά αρκετά αντίγραφα του προγράμματος στους κόμβους. 2. Ο JobTracker αναλαμβάνει την εύρεση των ανενεργών κόμβων, TaskTrackers, και να τους αναθέσει μια εργασία map ή reduce. 3. Εάν στο κόμβο, TaskTracker, έχει ανατεθεί μια εργασία map τότε διαβάζει το κομμάτι εισόδου που του αντιστοιχεί και το διαμορφώνει ως κλειδί-τιμή και το δίνει ως παράμετρο στην συνάρτηση map. Τα ενδιάμεσα αποτελέσματα κρατούνται στην μνήμη. -35-

46 4. Με βάση την συνάρτηση κατακερματισμού τα ενδιάμεσα αποτελέσματα γράφονται στο τοπικό δίσκο (σε R μέρη). Οι θέσεις των αποτελεσμάτων στέλνονται στον master - JobTracker ο οποίος είναι υπεύθυνος να τις διαμοιράσει στους R reducers - TaskTrackers. 5. Όταν κάποιος reducer ειδοποιηθεί για αυτές τις τοποθεσίες διαβάζει απομακρυσμένα τα δεδομένα από το δίσκο του αντίστοιχου mapper. Αφού διαβάσει όλα τα δεδομένα τα ταξινομεί με βάση το κλειδί και ομαδοποιεί τιμές που αντιστοιχούν στο ίδιο κλειδί. Εάν τα δεδομένα δεν χωράνε στην μνήμη τότε χρησιμοποιείται κάποιος αλγόριθμος εξωτερικής ταξινόμησης. 6. Τα ταξινομημένα ενδιάμεσα αποτελέσματα περνιούνται στην συνάρτηση reduce για να παραχθεί η τελική έξοδος η οποία γράφεται στο τέλος ενός αρχείου για την έξοδο της συγκεκριμένης διαμέρισης. 7. Αφού τελειώσουν όλες οι εργασίες στους TaskTrackers (map και reduce) ο JobTracker επιστρέφει και η εκτέλεση συνεχίζεται από τον κώδικα του χρήστη. Στο κατάλογο που έχει ορισθεί για την έξοδο υπάρχουν R αρχεία (ένα για κάθε reducer). Συνήθως αυτά χρησιμοποιούνται σαν είσοδος σε κάποια άλλη Map Reduce εργασία και δεν χρειάζεται να συγχωνευτούν. Τα ονόματα των αρχείων, ο αριθμός των reducers καθώς και ο διαμερισμός της εισόδου μπορούν να οριστούν από τον χρήστη. Σε όλες τις φάσεις εκτελείται διαχείριση σφαλμάτων και σε περίπτωση αποτυχίας το Hadoop μπορεί να επανεκκινήσει την εργασία που απέτυχε σε κάποιο άλλο κόμβο ή να ανακάμψει και να συνεχίσει την εκτέλεση με μικρό overhead. Όσο μεγαλύτερος ο αριθμός TaskTrackers, τόσο καλύτερο θα είναι και το load balancing. Εικόνα 16: Απλοποιημένη άποψη της λειτουργίας του MapReduce. -36-

47 3.4 Ποιοι το χρησιμοποιούν : Εικόνα 17: Άποψη της χρήσης του Hadoop, ανάλογα με το μέγεθος των cluster της κάθε εταιρίας Πλέον, δεν είναι υπερβολικό να πούμε ότι η συντριπτική πλειοψηφία των εταιριών που δραστηριοποιούνται άμεσα ή έμμεσα στον τομέα των Big Data, βασίζουν τις υποδομές τους στο Apache Hadoop ή κάποια τροποποιημένη έκδοσή του. Εταιρίες όπως Facebook, Amazon, Microsoft και Google δεν έχουν απλά υιοθετήσει την τεχνολογία του Hadoop, αλλα έχουν βελτιώσει την λειτουργία του, παρέχοντας α- κόμα και δικές τους λύσεις στα Big Data, όπως το EC2/3 Elastion MapReduce της Amazon. Μερικές από τις εταιρίες που έχουν επενδύσει, τροποποιήσει ή απλά χρησιμοποιήσει το Hadoop για τις ανάγκες τους είναι οι: Adobe Amazon Ebay Facebook Google IBM Last.fm LinkedIn Spotify -37-

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

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

Διαβάστε περισσότερα

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

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06 Τεχνολογικά Επιτεύγµατα Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 Ανάπτυξη ισχυρών µικροεπεξεργαστών ηµιουργία τοπικών δικτύων υψηλών ταχυτήτων «Εισαγωγή στα Κατανεµηµένα Λειτουργικά Συστήµατα»

Διαβάστε περισσότερα

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

EPL 660: Lab 4 Introduction to Hadoop

EPL 660: Lab 4 Introduction to Hadoop EPL 660: Lab 4 Introduction to Hadoop Andreas Kamilaris Department of Computer Science MapReduce Πρόβλημα: Ανάγκη για επεξεργασία μεγάλου όγκου δεδομένων στα συστήματα ανάκτησης πληροφορίας. Λύση: κατανομή

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 22 Διάρθρωση 1 Βασικές

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Δίκτυα Δεδομένων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Δίκτυο υπολογιστών: ένα σύνολο διασυνδεδεμένων

Διαβάστε περισσότερα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα 1 Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα εύκολη, τη στιγμή που γνωρίζουμε ότι ένα σύνθετο δίκτυο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

Διαβάστε περισσότερα

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

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας Ινστιτούτα Επαγγελματική Κατάρτισης ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι Σημειώσεις Θεωρίας Επιμέλεια: Ματθές Δημήτριος Αθήνα 2017 Μάθημα 1: Βασικές Έννοιες στα Δίκτυα Υπολογιστών 1.1 Δίκτυο Υπολογιστών Ένα δίκτυο είναι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου ΚΕΦΑΛΑΙΟ 1.7 Πρωτόκολλα και Αρχιτεκτονική Δικτύου Επικοινωνία δύο σταθμών Ύπαρξη διαδρομής Αποκατάσταση σύνδεσης Ο σταθμός-πηγή πρέπει να ξέρει πότε ο σταθμός-προορισμός είναι έτοιμος να λάβει δεδομένα.

Διαβάστε περισσότερα

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου

Διάρθρωση. Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης. Διάρθρωση. Δίκτυο Υπολογιστών: ένας απλός ορισμός. Ευάγγελος Παπαπέτρου Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 22 Ε.Παπαπέτρου

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

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

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Τι είναι το υλικό ενός υπολογιστικού συστήματος; Το σύνολο των ηλεκτρονικών και μηχανικών μερών του που έχουν

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Νέες Επικοινωνιακές Τεχνολογίες

Νέες Επικοινωνιακές Τεχνολογίες Νέες Επικοινωνιακές Τεχνολογίες Λύσεις Θεμάτων http://nop33.wordpress.com Τι ορίζουμε ως Τοπικό Δίκτυο Υπολογιστών; Ποια είναι τα βασικά χαρακτηριστικά των Τοπικών Δικτύων; Ποιες οι βασικές τοπολογίες

Διαβάστε περισσότερα

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

Διαβάστε περισσότερα

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 7: Εισαγωγή στα δίκτυα Η/Υ (μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το

Διαβάστε περισσότερα

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

Διαβάστε περισσότερα

Linux Terminal Server Project

Linux Terminal Server Project Linux Terminal Server Project Ένα κεντρικό σύστημα διαχείρισης των τερματικών κοινού της Βιβλιοθήκης & Κέντρου Πληροφόρησης του Πανεπιστημίου Μακεδονίας Κολοβός Φίλιππος filippos@uom.gr Ευάγγελος Μπάνος

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

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

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. ΚΕΦΑΛΑΙΟ 13 Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου. Οι υπηρεσίες νέφους παρέχονται με τέτοιο τρόπο ώστε ο τελικός χρήστης δεν μπορεί να διακρίνει τεχνικές λεπτομέρειες. Η χρηστικότητα, η διαθεσιμότητα

Διαβάστε περισσότερα

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ

Ειδικά Θέματα Δικτύων ΙΙ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 9: Shortest Path First - SPF Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Βασικές Αρχές Δικτύωσης Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 20 Διάρθρωση 1 Βασικές

Διαβάστε περισσότερα

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης

Κεφάλαιο 7. ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης ΕΠΑΛ Σύμης Εφαρμογές πληροφορικής Ερωτήσεις επανάληψης Κεφάλαιο 7 1. Σε τι διαφέρει ο Η/Υ από τις υπόλοιπες ηλεκτρικές και ηλεκτρονικές συσκευές; Που οφείλεται η δυνατότητά του να κάνει τόσο διαφορετικές

Διαβάστε περισσότερα

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

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα Ανδρέας Βέγλης, Αναπληρωτής Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη 01 Εισαγωγή Μια απλή και γρήγορη εισαγωγή Το Splunk > είναι ένα πρόγραμμα το οποίο πρωτοεμφανίστηκε στην αγορά το 2003 και αποτελεί ένα πρόγραμμα εξόρυξης

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 11 η : Εισαγωγή σε Παράλληλες Αρχιτεκτονικές Παράλληλη Επεξεργασία Επίπεδο Παραλληλισμού Από εντολές έως ανεξάρτητες διεργασίες Οργανώσεις Παράλληλων Αρχιτεκτονικών Συμμετρικοί,

Διαβάστε περισσότερα

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση 6.1 Επεκτείνοντας το δίκτυο Τοπικά δίκτυα (LAN): επικοινωνία με περιορισμένη απόσταση κάλυψης (μικρή εμβέλεια) Δίκτυα Ευρείας Περιοχής (WAN): επικοινωνία σε ευρύτερη γεωγραφική κάλυψη. Από την άποψη του

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

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

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

Διαβάστε περισσότερα

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

Επαναληπτικές Ασκήσεις Μαθήματος

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

Διαβάστε περισσότερα

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

Διαχείριση Πολιτισμικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διαχείριση Πολιτισμικών Δεδομένων Ενότητα 6: Εισαγωγή στις Βάσεις Δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Δίκτυα Η/Υ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Δρ. Μελάς Χρήστος, Επίκουρος Καθηγητής V.1.0, 2017, Τμήμα Νοσηλευτικής ΤΕΙ Κρήτης Διάλεξη 8 Δίκτυο υπολογιστών: Ένα σύνολο από υπολογιστές που συνδέονται μεταξύ τους

Διαβάστε περισσότερα

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

ΤΕΧΝΙΚΗ ΥΠΟΣΤΗΡΙΞΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΔΙΚΤΥΑΚΩΝ ΥΠΟΔΟΜΩΝ ΤΕΧΝΙΚΗ ΥΠΟΣΤΗΡΙΞΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΔΙΚΤΥΑΚΩΝ ΥΠΟΔΟΜΩΝ ΚΕΦΑΛΑΙΟ 1 Τρόποι και Μεθοδολογία Τεχνικής Υποστήριξης Υπολογιστικά Συστήματα Υπολογιστικό Σύστημα (Υ.Σ.) λέγεται μία πλήρης υπολογιστική

Διαβάστε περισσότερα

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες 4.1 Γενικά Σκοπός ενός δικτύου υπολογιστών είναι οι χρήστες να έχουν τη δυνατότητα να διαμοιράζονται πληροφορίες και συσκευές του δικτύου. Η σχεδίαση και η ανάπτυξη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Σχεδίαση και Αρχιτεκτονική Δικτύων Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 19 Διάρθρωση

Διαβάστε περισσότερα

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

Κάντε κλικ για έναρξη Σημειώσεις : Χρήστος Μουρατίδης Κάντε κλικ για έναρξη Ορισμός Δίκτυο Υπολογιστών = Mία ομάδα από 2 ή περισσότερους υπολογιστές που είναι συνδεδεμένοι μεταξύ τους. Ο κύριος σκοπός είναι να ανταλλάσσουν

Διαβάστε περισσότερα

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

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail: e.leligkou@puas.gr

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Έστω ότι θέλετε να συνδέσετε 20 υπολογιστές με συνδέσεις από σημείο σε σημείο (point-to-point), ώστε να είναι δυνατή η επικοινωνία όλων

Διαβάστε περισσότερα

ΔΙΚΤΥΑ (15-17) Π. Φουληράς

ΔΙΚΤΥΑ (15-17) Π. Φουληράς ΔΙΚΤΥΑ (15-17) Π. Φουληράς Χαρακτηριστικά Δικτύου: Ιδιοκτησία, Υπόδειγμα Υπηρεσίας, και Απόδοση Ιδιωτικά Δίκτυα Κλασσικό Παράδειγμα τα LAN Μεγάλες εταιρείες όμως και σε επίπεδο WAN Αγοράζουν υλικό διασύνδεσης

Διαβάστε περισσότερα

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) Α. Α. Οικονομίδης Πανεπιστήμιο Μακεδονίας Διασυνδεδεμένο δίκτυο διασύνδεση δικτύων που το καθένα διατηρεί την ταυτότητά του χρησιμοποιώντας ειδικούς μηχανισμούς διασύνδεσης

Διαβάστε περισσότερα

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

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 4 Λογισμικό συστήματος Καραμαούνας Πολύκαρπος 1 4.1 Λογισμικό συστήματος (application software) Καραμαούνας Πολύκαρπος 2 Λογισμικό εφαρμογών (application software): προγράμματα για την αντιμετώπιση

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 1: Βασικές Έννοιες Λειτουργικών Συστημάτων

Διαβάστε περισσότερα

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

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1 STORAGE AREA NETWORK Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1 ΤΙ ΕΙΝΑΙ ΔΙΚΤΥΟ ΑΠΟΘΗΚΕΥΣΗΣ ΔΕΔΟΜΕΝΩΝ (SAN) ΟΡΙΣΜΟΣ ΔΙΚΤΥΟΥ ΑΠΟΘΗΚΕΥΣΗΣ ΔΕΔΟΜΕΝΩΝ (SAN) Οποιοδήποτε, υψηλής απόδοσης, δίκτυο

Διαβάστε περισσότερα

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

Περίληψη Λαμπρόπουλος

Περίληψη Λαμπρόπουλος Περίληψη Λαμπρόπουλος 1. Αντικείμενο και Περιγραφή της Διατριβής H διδακτορική διατριβή με τίτλο «Σχεδιασμός και υλοποίηση συστήματος διαχείρισης και ενοποίησης διαφορετικών ταυτοτήτων χρηστών σε δίκτυα

Διαβάστε περισσότερα

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

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων Λειτουργικά Συστήματα Ι Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων Δομή Η/Υ Ο Η/Υ αποτελείται από δυο βασικά στοιχεία: Υλικό (το ηλεκτρονικό-μηχανικό μέρος πχ συσκευές, πλακέτες κλπ) Λογισμικό

Διαβάστε περισσότερα

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

Διαβάστε περισσότερα

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

Κατανεμημένα Συστήματα με Java. Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Κατανεμημένα Συστήματα με Java Ενότητα # 4: Αμοιβαίος αποκλεισμός Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

Διαβάστε περισσότερα

Σχεδίαση Δικτύων Υπολογιστών

Σχεδίαση Δικτύων Υπολογιστών Σχεδίαση Δικτύων Υπολογιστών Ενότητα 5: Δυναμική δρομολόγηση Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Ειδικά Θέματα Δικτύων ΙΙ Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα3 Επικοινωνία και Διαδίκτυο Κεφ8: Δίκτυα Υπολογιστών 8.1 Επικοινωνία και Δίκτυα Υπολογιστών Τι εννοούμε με τον όρο δίκτυο; Εννοούμε ένα σύνολο αντικειμένων (π.χ. τηλεφώνων, υπολογιστών) ή ανθρώπων

Διαβάστε περισσότερα

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Ενότητα 1 Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Εύρος Ζώνης και Ταχύτητα Μετάδοσης Η ταχύτητα µετάδοσης [εύρος ζώνης (banwidth)] των δεδοµένων αποτελεί ένα δείκτη επίδοσης των δικτύων και συνήθως

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ > ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΡΙΣΜΟΣ: Το Cloud Computing είναι η ονοµασία της τεχνολογίας η οποία επιτρέπει στους χρήστες να

Διαβάστε περισσότερα

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1 ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελών ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ Μάθημα 2ο Βελών - 1ο Τ.Ε.Ε. Κατερίν Καθηγητής Πληροφορικής ΠΕ20 2-1 Τεχνολογίες Μεταγωγής Δεδομένων Δίκτυα Μεταγωγής Βελών Βελών Δίκτυα Μεταγωγής Δίκτυα Μεταγωγής

Διαβάστε περισσότερα

Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών

Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών Η LINK Technologies Α.Ε. ιδρύθηκε το 2002 με στόχο να καταστεί πυρήνας καινοτομικών λύσεων Τηλεματικής αναβαθμίζοντας καθημερινά

Διαβάστε περισσότερα

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

EM 361: Παράλληλοι Υπολογισμοί ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #2: Αρχιτεκτονική Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Διαβάστε περισσότερα

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

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Τα αρχεία των διαλέξεων του μαθήματος μπορείτε να βρείτε στο: http://eclass.gunet.gr/

Διαβάστε περισσότερα

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

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

Υπολογιστική Νέφους Cloud computing Υπολογιστική Νέφους Cloud computing Χρ. Ηλιούδης Clouds Cloud computing??? Διείσδυση του Cloud Ορισμός - χαρακτηριστικά Ο όρος cloud έχει τις ρίζες στου στην αρχή του internet όπου συνήθιζαν να το αναπαριστούν

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

Διαβάστε περισσότερα

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα