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

Σχετικά έγγραφα
Βασικές έννοιες. Κατανεμημένα Συστήματα 1

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

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

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

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

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

ΜΑΘΗΜΑ: Υπολογιστικά Νέφη

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

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

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

Network Address Translation (NAT)

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

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

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

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

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

ΚΕΝΤΡΟ ΔΙΑΧΕΙΡΙΣΗΣ ΚΥΚΛΟΦΟΡΙΑΣ

Διπλωματική Εργασία. Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης. Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών

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

1.8 Το μοντέλο OSI 1 / 33

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων

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

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

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

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

Κατανεμημένα συστήματα και Επικοινωνία Πραγματικού Χρόνου

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

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

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

Information Technology for Business

Υπολογιστικά Νέφη. Ενότητα 12: MapReduce. Άγγελος Μιχάλας Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

ΚΕΦΑΛΑΙΟ 11: Διαδικασία Μετάδοσης Δεδομένων Εισαγωγή

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

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

EPL 660: Lab 4 Introduction to Hadoop

Σύστημα Ηλεκτρονικού Πρωτοκόλλου. Σχεδιασμός Υποσυστημάτων

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Επικοινωνία Client/Server

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

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

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

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

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

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

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

Δίκτυα. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

Παρουσίαση Παρεχόμενων Υπηρεσιών Πληροφορικής της DBS AE

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

7.2.2 Σχέση OSI και TCP/IP

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

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

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

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Εγγυημένη ποιότητα υπηρεσίας

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

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

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

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

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

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

2 η Σειρά Ασκήσεων Data Link Layer

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Εικόνα 1: Κριτήρια αναζήτησης προϋπολογισμών

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

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

ιαχείριση Τηλεφωνικών Κλήσεων

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

Ταχύτητα, Απλότητα & Αξιοπιστία

Η ολοκλήρωση της προσβασιμότητας στον χώρο της υγείας με την υπηρεσία

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

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

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

Εγχειρίδιο Χρήσης Slide Recorder

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 3113/

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

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

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

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

Επίσηµη Εφηµερίδα της Ευρωπαϊκής Ένωσης. (Μη νομοθετικές πράξεις) ΚΑΝΟΝΙΣΜΟΙ

Γκέγκα Ευρώπη Κωστοπούλου Ειρήνη

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

ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ. Αριθμ. Πρωτ.: /2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ

Χαράλαμπος Καραγιαννίδης

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

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

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

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

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

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Αποµακρυσµένη κλήση διαδικασιών

Συνεχής ροή πολυµέσων

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

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

Transcript:

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Τεχνολογίες Υπολογιστικού Νέφους ΔΙΑΛΕΞΗ 3: ΕΦΑΡΜΟΓΈΣ ΚΑΙ ΠΑΡΑΔΕΊΓΜΑΤΑ ΥΠΟΛΟΓΙΣΤΙΚΏΝ ΝΕΦΏΝ ΒΑΣΙΛΕΙΟΣ Δ. ΤΣΑΚΑΝΙΚΑΣ

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

Περιεχόμενα ενότητας Εφαρμογές νέφους. Επικοινωνία στο Zookeeper. Προκλήσεις για την ανάπτυξη εφαρμογών νέφους. Κοινός ιεραρχικός χώρος ονομάτων. Εγγυήσεις υπηρεσιών ZooKeeper. Υπάρχουσες και νέες ευκαιρίες εφαρμογών. Το API του Zookeeper. Επεξεργασία διασωληνώσεων. Ελαστικότητα κα κατανομή φόρτου. Εφαρμογές μαζικής επεξεργασίας. Πρόσβαση στον Ιστό. Αρχιτεκτονικοί σχεδιασμοί για εφαρμογές νέφους. Ροές εργασιών. Ασφάλεια και ζωντάνια. Βασικά πρότυπα ροών εργασίας. Συνεργασία - ZooKeeper. Η φιλοσοφία του MapReduce. Μελέτη: GrepTheWeb. Υπολογιστικά νέφη για την επιστήμη και τη μηχανική. Διαδικτυακή ανάκτηση δεδομένων. Υπολογιστική υψηλής απόδοσης στο νέφος. Εφαρμογές παλαιού τύπου στο νέφος. Cirrus. Κοινωνική υπολογιστική και ψηφιακό υλικό.

Εφαρμογές και παραδείγματα υπολογιστικών νεφών Τα υπολογιστικά νέφη προσελκύουν τους χρήστες: Οικονομικοί λόγοι. Μικρή επένδυση στην υποδομή. Μικρό κόστος: Οι πελάτες πληρώνουν μόνο για τους πόρους που χρησιμοποιούν. Τα υπολογιστικά νέφη προσελκύουν τους χρήστες: Ευκολία κι απόδοση. Οι προγραμματιστές εφαρμογών προσελκύονται από τα πλεονεκτήματα από μίας just-intime υποδομής. Τους παρέχει ελευθερία ως προς το σχεδιασμό μίας εφαρμογής χωρίς να ανησυχούν για το σύστημα όπου η εφαρμογής θα εκτελεστεί. Τα υπολογιστικά νέφη προσελκύουν τους χρήστες: Ευκολία κι απόδοση.

Εφαρμογές και παραδείγματα υπολογιστικών νεφών Ο χρόνος εκτέλεσης μίας απαιτητικής εφαρμογής, ως προς τους υπολογιστικούς πόρους και τα δεδομένα, μειώνεται μέσω παράλληλης εκτέλεσης των εργασιών. Αν μία εφαρμογή μπορεί να τμηματοποιήσει το φόρτο εργασία σε n τμήματα αναπαράγοντας n υποστάσεις του εαυτού της, τότε ο χρόνος εκτέλεσης μπορεί να μειωθεί με συντελεστεί που τείνει στο n. Τα υπολογιστικά νέφη προσφέρουν πλεονεκτήματα και για τους παρόχους. Οδηγούν σε υψηλότερα επίπεδα εκμετάλλευσης των υπολογιστικών πόρων. Ιδανικές εφαρμογές για τα υπολογιστικά νέφη: Υπηρεσίες ιστού (Web services). Υπηρεσίες βάσεων δεδομένων. Υπηρεσίες που βασίζονται σε συναλλαγές (transaction-oriented). Οι απαιτήσεις σε πόρους, των υπηρεσιών που βασίζονται σε συναλλαγές, επωφελούνται από ένα ελαστικό περιβάλλον όπου οι πόροι είναι διαθέσιμοι όποτε είναι απαραίτητοι κι όταν κάποιος χρεώνεται μόνο για τους πόρους που χρησιμοποιεί.

Εφαρμογές και παραδείγματα υπολογιστικών νεφών Εφαρμογές που δύσκολα αποδίδουν καλά σε περιβάλλον νέφους Εφαρμογές με πολύπλοκη ροή εργασιών και πολλαπλές εξαρτήσεις, όπως συμβαίνει συχνά στην περίπτωση υψηλής απόδοσης υπολογιστικής. Εφαρμογές που απαιτούν εντατική επικοινωνία μεταξύ ταυτόχρονων υποστάσεων. Όταν ο φόρτος εργασίας δεν μπορεί να τμηματοποιηθεί με αυθαίρετο τρόπο.

Προκλήσεις για την ανάπτυξη εφαρμογών νέφους Απομόνωση απόδοσης. Σχεδόν αδύνατο να επιτευχθεί σε ένα πραγματικό σύστημα, ειδικά όταν το σύστημα είναι υπερφορτωμένο. Αξιοπιστία - σημαντική ανησυχία: Αποτυχίες σε έναν server είναι αναμενόμενες όταν ένας μεγάλος αριθμός από servers συνεργάζονται. Η υποδομή νέφους παρουσιάζει διακυμάνσεις ως προς την καθυστέρηση και το εύρος ζώνης, οι οποίες επηρεάζουν την απόδοση των εφαρμογών. Εκτιμήσεις απόδοσης περιορίζουν την ποσότητα της καταγραφής δεδομένων (data logging). Η ικανότητα τους προσδιορισμού μίας πηγής που παράγει μη αναμενόμενα αποτελέσματα και σφάλματα ενισχύεται από την συχνή καταγραφή δεδομένων.

Υπάρχουσες και νέες ευκαιρίες εφαρμογών Υπάρχουν τρεις γενικές κατηγορίες υπάρχουσων εφαρμογών: Επεξεργασία διασωληνώσεων (pipelines). Συστήματα μαζικής επεξεργασίας (batch). Εφαρμογές ιστού. Πιθανές νέες εφαρμογές: Μαζική επεξεργασία για συστήματα υποστήριξης αποφάσεων κι επιχειρηματικής ανάλυσης. Κινητές διαδραστικές εφαρμογές που επεξεργάζονται μεγάλους όγκους δεδομένων προερχόμενους από διαφόρων τύπων αισθητήρες. Πιθανές νέες εφαρμογές: Η επιστήμη και η μηχανική μπορούν να επωφεληθούν από την υπολογιστική νέφους διότι πολλές εφαρμογές αυτών των τομέων έχουν μεγάλες υπολογιστικές απαιτήσεις ή/και διαχειρίζονται μεγάλες ποσότητες δεδομένων.

Υπάρχουσες και νέες ευκαιρίες εφαρμογών Ευρετηρίαση μεγάλων συνόλων δεδομένων που δημιουργούνται από μηχανές ανίχνευσης ιστούς (web crawler engines). Σημασία δεδομένων (data mining). Αναζήτηση μεγάλων συλλόγων από εγγραφές για τον εντοπισμό στοιχείων ενδιαφέροντος. Επεξεργασία εικόνας. Μετατροπή εικόνας. Π.χ. μεγέθυνση μίας εικόνας ή δημιουργία μικρογραφίας. Συμπίεση ή κρυπτογράφηση εικόνων. Μετατροπή της κωδικοποίησης ενός βίντεο. Π.χ. από AVI σε MPEG.

Εφαρμογές μαζικής επεξεργασίας Επεξεργασία εγγράφων. Μετατροπής μεγάλων συλλογών εγγράφων από ένα τύπο σε έναν άλλο. Π.χ. από Word σε PDF. Κρυπτογράφηση εγγράφων. Χρήση Οπτικής Αναγνώρισης Χαρακτήρων για παραγωγή ψηφιακών εικόνων από έγγραφα. Δημιουργία ημερήσιων, εβδομαδιαίων, μηνιαίων κι ετήσιων αναφορών δραστηριοτήτων σχετικά με λιανικό εμπορείο, μεταποίηση κι άλλους οικονομικούς τομείς. Επεξεργασία, συνάθροιση και περίληψη ημερήσιων συναλλαγών για οικονομικά ινστιτούτα, εταιρείες ασφαλίσεων κι οργανισμών υγείας.

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

Πρόσβαση στον Ιστό Ιστοσελίδες για διαδικτυακό εμπόριο. Ιστοσελίδες με περιοδική ή προσωρινή παρουσία: Συνέδρια ή άλλο γεγονότα. Ενεργές κατά τη διάρκεια μία συγκεκριμένης περιόδου (π.χ. περίοδος καλοκαιρινών διακοπών) ή ιστοσελίδες υποβολής φορολογικών δηλώσεων. Ιστοσελίδες για την προώθηση ενεργειών. Ιστοσελίδες που «κοιμούνται» κατά τη διάρκεια της νύχτας και αυτό κλιμακώνονται κατά τη διάρκεια της ημέρας. Stateless servers. Βλέπουν ένα αίτημα από έναν client ως ανεξάρτητη συναλλαγή κι ανταποκρίνονται σε αυτό. Δεν απαιτείται από τον client να εγκαθιδρύσει σύνδεση με τον server.

Αρχιτεκτονικοί σχεδιασμοί για εφαρμογές νέφους Συνήθως οι clients και οι servers επικοινωνούν χρησιμοποιώντας Remote Procedure Calls (RPCs). Simple Object Access Protocol (SOAP): Πρωτόκολλο εφαρμογής για εφαρμογές ιστού. Μορφοποίηση μηνυμάτων βασιζόμενη σε XML. Χρησιμοποιείται είτε TCP είτε UDP για τη μετάδοση των μηνυμάτων. Representational State Transfer (REST). Αρχιτεκτονική λογισμικού για κατανεμημένα συστήματα υπερμέσων. Υποστηρίζει την επικοινωνίας ενός client με stateless servers. Είναι ανεξάρτητο της πλατφόρμας (platform independent) καθώς και της γλώσσας (language independent). Υποστηρίζει προσωρινή αποθήκευση δεδομένων (data caching). Μπορεί να χρησιμοποιηθεί με την παρουσία firewall.

Ροές εργασιών Περιγραφή διαδικασίας. Δομημένη περιγραφή των εργασιών που θα εκτελεστούν καθώς και της σειράς εκτέλεσής τους. Μοιάζει με διάγραμμα ροής. Περίπτωση. Μία υπόσταση μίας περιγραφής διαδικασίας. Κατάσταση της περίπτωσης τη χρονική στιγμή t. Ορίζεται από την άποψη των εργασιών που έχουν ολοκληρωθεί έως εκείνη τη χρονική στιγμή. Γεγονότα. Προκαλούν τις μεταβάσεις μεταξύ των καταστάσεων. Ο κύκλος ζωής μίας ροής εργασιών: Δημιουργία, ορισμός, επαλήθευση κι αναπαράσταση. Παρόμοιος με τον κύκλο ζωής ενός παραδοσιακού προγράμματος (δημιουργία, μεταγλώττιση κι εκτέλεση). Επιθυμητές ιδιότητες των ροών εργασιών. Ασφάλεια.

Βασικά πρότυπα ροών εργασίας Ζωντάνια. Τελικά θα συμβεί κάτι «ευχάριστο». Πρότυπα ροών εργασίας. Η χρονική σχέση μεταξύ των εργασιών μίας διεργασίας. Σειρά. Πολλές εργασίες πρέπει να χρονοπρογραμματιστούν η μία μετά την ολοκλήρωση της άλλης. Διαχωρισμός AND. Δύο εργασίες B και Γ ενεργοποιούνται όταν τερματίζει μία εργασία A. Συγχρονισμός. Μία εργασία Γ μπορεί να εκκινήσει μόνο όταν οι εργασίες Α και Β τερματιστούν. Διαχωρισμός XOR. Ύστερα από την ολοκλήρωση μίας εργασίας Α, μπορεί να ενεργοποιηθεί είτε η εργασία Β είτε η Γ. Συγχώνευση XOR. Μία εργασία Γ ενεργοποιείται όταν τερματίζεται είτε η εργασία Α είτε η Β.

Βασικά πρότυπα ροών εργασίας Διαχωρισμός OR. Ύστερα από την ολοκλήρωση μίας εργασίας A, μπορεί να ενεργοποιηθεί είτε η εργασία Β είτε η Γ, ή και οι δύο. Πολλαπλή συγχώνευση. Μόλις τερματιστεί η εργασία Α, οι εργασίες Β και Γ εκτελούνται ταυτόχρονα. Όταν τερματιστεί η πρώτη από αυτές, έστω η Β, τότε ενεργοποιείται η εργασία Δ. Στη συνέχεια, όταν τερματιστεί και η Γ, ενεργοποιείται ξανά η εργασία Δ. Διευκρινιστής. Αναμένει την ολοκλήρωση ενός αριθμού εισερχομένων κλαδιών προτού ενεργοποιήσει μεταγενέστερες λειτουργίες. Στη συνέχεια αναμένει για την ολοκλήρωση των υπολοίπων κλαδιών χωρίς να πραγματοποιεί καμία ενέργεια έως ότου ολοκληρωθούν όλα Ακολούθως, ανανεώνει (resets) τον εαυτό του.

Βασικά πρότυπα ροών εργασίας N out of M join. Όριο συγχρονισμού. Υποθέτοντας ότι M εργασίες εκτελούνται ταυτόχρονα, N (N<M) από αυτές πρέπει να φθάσουν το όριο πριν ενεργοποιηθεί η επόμενη εργασία. Στο παράδειγμά μας, οποιεσδήποτε δύο από τις τρεις εργασίες Α, Β και Γ πρέπει να ολοκληρωθούν πριν ενεργοποιηθεί η διεργασία Δ. Αναβαλλόμενη επιλογή. Παρόμοιο με τον «Διαχωρισμό XOR» αλλά η επιλογή δεν πραγματοποιείται ρητά. Το run-time περιβάλλον αποφασίζει ποιο κλαδί θα αναλάβει. Ελαστικότητα νέφους. Κατανέμει υπολογισμούς και δεδομένα σε πολλαπλά συστήματα.

Συνεργασία - ZooKeeper ZooKeeper. Κατανεμημένη υπηρεσία συνεργασία για κατανεμημένα συστήματα μεγάλης κλίμακας. Υπηρεσία υψηλής ρυθμαπόδοσης και χαμηλής καθυστέρησης. Υλοποιεί μία έκδοση του αλγόριθμου συναίνεσης Paxos. Λογισμικό ανοιχτού κώδικα γραμμένο σε Java με διασυνδέσεις (bindings ) για Java και C. Οι servers της ομάδας επικοινωνούν κι εκλέγουν έναν «αρχηγό». Μία βάση δεδομένων αντιγράφεται (replicated) σε κάθε server. Διατηρείται συνοχή μεταξύ των αντιγράφων. Ένας client συνδέεται σε έναν απλό server, συγχρονίζει το ρολόι του με αυτό του server κι αποστέλλει αιτήσεις, λαμβάνει αποκρίσεις και παρακολουθεί γεγονότα μέσω μίας σύνδεσης TCP.

Συνεργασία - ZooKeeper

Επικοινωνία στο Zookeeper Επίπεδο μηνυμάτων. Εγγυήσεις του επιπέδου μηνυμάτων: Υπεύθυνο για την εκλογή ενός νέου αρχηγού όταν ο τρέχον αρχηγός αποτύχει. Τα πρωτόκολλα μηνυμάτων χρησιμοποιούν: Πακέτα: Σειρά από Bytes που αποστέλλονται μέσω ενός καναλιού FIFO. Προτάσεις: Μονάδες της συμφωνίας. Μηνύματα: Σειρά από Bytes sequence of bytes που μεταδίδονται σε όλους τους servers. Ένα μήνυμα περιλαμβάνεται μέσα σε μία πρόταση κι έχει συμφωνηθεί πριν μεταφερθεί. Οι προτάσεις συμφωνούνται μέσω ανταλλαγής πακέτων με έναν αριθμό από servers, όπως απαιτείται από τον αλγόριθμο Paxos. Αξιόπιστη μεταφορά. Αν ένα μήνυμα m μεταφέρεται σε έναν server, πρόκειται να μεταφερθεί σε όλους τους servers. Συνολική σειρά. Αν ένα μήνυμα m μεταφέρεται πριν από ένα μήνυμα n σε έναν server, πρόκειται να μεταφερθεί πριν από το n σε όλους τους servers. Συναφείς σειρά. Αν ένα μήνυμα n αποστέλλεται αφού ένα μήνυμα m έχει μεταφερθεί από τον αποστολέα του n, τότε το m πρέπει να καταταχθεί πριν από το n.

Κοινός ιεραρχικός χώρος ονομάτων Παρόμοια με ένα σύστημα αρχείων - znodes αντί για inodes

Το API του Zookeeper Ατομικότητα. Αποτελείται από επτά λειτουργίες: Μία συναλλαγή είτε ολοκληρώνεται είτε αποτυγχάνει. Διαδοχική συνοχή των ενημερώσεων. Δημιουργία: Προσθήκη ενός κόμβου σε μία δοθείσα τοποθεσία του δένδρου. Οι ενημερώσεις εφαρμόζονται αυστηρά με τη σειρά που λαμβάνονται. Απλή εικόνα συστήματος για τους clients. Ένας client λαμβάνει την ίδια απόκριση ανεξάρτητα από τον server στο οποίο συνδέθηκε Ανθεκτικότητα ενημερώσεων. Αφού εφαρμοστεί, μία ενημέρωση παραμένει έως ότου αντικατασταθεί από έναν client. Αξιοπιστία. Το σύστημα εγγυάται ότι θα λειτουργεί σωστά για όσο χρονικό διάστημα λειτουργεί σωστά η πλειοψηφία των servers. Διαγραφή: Διαγραφή ενός κόμβου. Λήψη δεδομένων: Ανάγνωση δεδομένων από έναν κόμβο. Καθορισμός δεδομένων: Εγγραφή δεδομένων σε έναν κόμβο. Ένα front-end κατανέμει τις εισερχόμενες συναλλαγές σε έναν αριθμό από of back-end συστήματα. Όσο ο φόρτος εργασίας αυξάνεται, νέα back-end συστήματα προστίθενται. Απλό API.

Το API του Zookeeper Αποτελείται από επτά λειτουργίες: Λήψη παιδιών: Ανάκτηση της λίστας των παιδιών ενός κόμβου. Συγχρονισμός: Αναμονή για διάδοση των δεδομένων. Ελαστικότητα: Ικανότητα χρήσης όσων servers είναι απαραίτητοι για τη βέλτιστη απόκριση περιορισμούς κόστους και χρόνου μίας εφαρμογής. Διαμοιρασμός φόρτου: Συστήματα επεξεργασίας συναλλαγών.

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

Η φιλοσοφία του MapReduce Μία εφαρμογή εκκινεί μία υπόσταση master, M υποστάσεις worker για τη φάση του Map και στη συνέχεια R υποστάσεις worker για τη φάση του Reduce. Η υπόσταση master διαχωρίζει τα δεδομένα εισόδου σε M τμήματα. Κάθε υπόσταση map διαβάζει το δικό της τμήμα δεδομένων εισόδου και το επεξεργάζεται. Τα αποτελέσματα της επεξεργασίας αποθηκεύονται σε τοπικά μέσα αποθήκευσης των servers όπου εκτελούνται οι υποστάσεις map. Όταν όλες οι υποστάσεις map ολοκληρώσουν την επεξεργασία των δεδομένων τους, οι R υποστάσεις reduce διαβάζουν τα τμηματικά αποτελέσματα της πρώτης φάσης και τα συγχωνεύουν. Τα τελικά αποτελέσματα εγγράφονται από τις υποστάσεις reduce σε έναν κοινόχρηστο server αποθήκευσης. Η υπόσταση master επιβλέπει τις υποστάσεις reduce κι όταν όλες από αυτές αναφέρουν ότι ολοκλήρωσαν την εργασία τους, τερματίζεται η εφαρμογή. Η εφαρμογή παρέχει τα μέσα για: Δημιουργία μίας κατά απαίτηση υποδομής. Την εκτέλεσή της σε ένα κατανεμημένο σύστημα με τρόπο που να επιτρέπει την παράλληλη επεξεργασία καθώς και την κλιμάκωση, ανάλογα με τον αριθμό τον χρηστών και το μέγεθος του προβλήματος.

Μελέτη: GrepTheWeb GrepTheWeb: Πραγματοποιεί αναζήτηση σε ένα πολύ μεγάλο σύνολο εγγραφών ώστε να εντοπίσει εγγραφές που ικανοποιούν μία κανονική έκφραση. Είναι αντίστοιχη της εντολείς grep στο Unix. Η πηγή είναι μία συλλογή από URLs εγγράφων που έχουν παραχθεί από την Alexa Web Search, ένα σύστημα λογισμικού που ανιχνεύει τον ιστό κάθε βράδυ. Χρησιμοποιεί ανταλλαγή μηνυμάτων για να ενεργοποιήσει της ενέργειες πολλαπλών νημάτων (threads) ελέγχου που εκκινούν την εφαρμογή, προβαίνουν στην επεξεργασία, απενεργοποιούν το σύστημα και δημιουργούν εγγραφές πληρωμών. Τα γενικά προβλήματα σε πρακτικά όλες τις περιοχές της επιστήμης είναι: Συλλογή πειραματικών δεδομένων. Διαχείριση πολύ μεγάλου όγκου δεδομένων. Δημιουργία κι εκτέλεση μοντέλων.

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

Υπολογιστικά νέφη για την επιστήμη και τη μηχανική Αναγνώριση του πληροφοριακού προβλήματος. Δημιουργία ερωτημάτων αναζήτησης χρησιμοποιώντας μία ή περισσότερες μηχανές αναζήτησης. Αξιολόγηση αποτελεσμάτων αναζήτησης. Αξιολόγηση των εγγράφων του Ιστού. Σύγκριση πληροφοριών μεταξύ διαφορετικών πηγών.

Διαδικτυακή ανάκτηση δεδομένων Μεγάλα επιστημονικά σύνολα δεδομένων: Βιοϊατρικά και γονιδιακά δεδομένα από το National Center for Biotechnology Information (NCBI). Αστροφυσικά δεδομένα από τη NASA. Ατμοσφαιρικά δεδομένα από το National Oceanic and Atmospheric Administration (NOAA) και το National Center for Atmospheric Research (NCAR).

Υπολογιστική υψηλής απόδοσης στο νέφος Συγκριτική αξιολόγηση EC2 και τριών υπερυπολογιστών του National Energy Research Scientific Computing Center (NERSC) στο Lawrence Berkeley National Laboratory. Το NERSC διαθέτει περίπου 3000 ερευνητές και περιλαμβάνει 400 projects. Συμπεράσματα: Οι εφαρμογές που είναι απαιτητικές ως προς την επικοινωνία (communicationintensive) επηρεάζονται από την αυξημένη καθυστέρηση και το χαμηλότερο εύρος ζώνης του νέφους. Η χαμηλή καθυστέρηση και το υψηλό εύρος ζώνης του δικτύου διασύνδεσης ενός υπερυπολογιστή δεν μπορεί να συνδυαστεί με ένα υπολογιστικό νέφος.

Εφαρμογές παλαιού τύπου στο στο νέφος Είναι εφικτή η εκτέλεση εφαρμογών παλαιού τύπου σε ένα υπολογιστικό νέφος; Cirrus: Μία γενική πλατφόρμα για εκτέλεση παλαιών Windows εφαρμογών στο νέφος. Μία εργασία Cirrus αποτελείται από πρόλογο, εντολές και παραμέτρους. Ο πρόλογος δημιουργεί το περιβάλλον εκτέλεσης. Οι εντολές είναι αλληλουχίες σεναρίων κελύφους συμπεριλαμβανομένων εντολών σχετικών με την αποθήκευση στο Azure, για τη μεταφορά δεδομένων μεταξύ της υποδομής αποθήκευσης του Azure και του instance.

Εφαρμογές παλαιού τύπου στο στο νέφος BLAST: Ένας βιολογικός κώδικας ο οποίος εντοπίζει περιοχές τοπικής ομοιότητας μεταξύ ακολουθιών. Συγκρίνει νουκλεοτίδια ή πρωτεϊνικές αλληλουχίες σε ακολουθιακές βάσεις δεδομένων και υπολογίζει τη στατιστική σημαντικότητα των ταιριασμάτων. Χρησιμοποιείται για τη σύναξη λειτουργικών κι εξελικτικών σχέσεων μεταξύ ακολουθιών και εντοπίζει μέλη οικογενειών γονιδίων. AzureBLAST: Μία έκδοση του BLAST που εκτελείται στην πλατφόρμα Azure.

Κοινωνική υπολογιστική και ψηφιακό υλικό Τα δίκτυα που επιτρέπουν στους ερευνητές να διαμοιράζουν δεδομένα και παρέχουν ένα εικονικό περιβάλλον που υποστηρίζει την απομακρυσμένη εκτέλεση ροών εργασιών, θεωρούνται ως δίκτυα συγκεκριμένου χώρου: MyExperiment για βιολογία. nanohub για νανοτεχνολογία. Εθελοντική υπολογιστική: Ένας μεγάλος αριθμός χρηστών κάνουν δωρεά υπολογιστικούς πόρους, όπως επεξεργαστικοί κύκλοι κι αποθηκευτικός χώρος, σε συγκεκριμένα projects όπως: Mersenne Prime Search. SETI@Home. Folding@home. Storage@Home. PlanetLab. Berkeley Open Infrastructure for Network Computing (BOINC). Middleware για μία κατανεμημένη υποδομή που είναι κατάλληλη για διαφόρων τύπων εφαρμογές.

Αναφορές Το παρών υλικό βασίστηκε πάνω στην δράση «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» http://creativecommons.org/licenses/by-nc-sa/4.0/ http://openclass.teiwm.gr/courses/informatic122/