ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Τεχνολογίες Υπολογιστικού Νέφους ΔΙΑΛΕΞΗ 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/