Elastic dataflow processing on the cloud

Τα νέφη έχουν μετατραπεί σε μια ελκυστική πλατφόρμα για την πολύπλοκη επεξεργασία δεδομένων μεγάλης κλίμακας, ειδικά εξαιτίας της έννοιας της ελαστικότητας, η οποία και τα χαρακτηρίζει: οι υπολογιστικοί πόροι μπορούν να εκμισθωθούν δυναμικά και να χρησιμοποιούνται για όσο χρόνο είναι απαραίτητο. Αυτό δίνει την δυνατότητα να δημιουργηθεί μια εικονική υποδομή η οποία μπορεί να αλλάζει δυναμικά στο χρόνο. Οι σύγχρονες εφαρμογές απαιτούν την εκτέλεση πολύπλοκων ερωτημάτων σε Μεγάλα Δεδομένα για την εξόρυξη γνώσης και την υποστήριξη επιχειρησιακών αποφάσεων. Τα πολύπλοκα αυτά ερωτήματα, εκφράζονται σε γλώσσες υψηλού επιπέδου και τυπικά μεταφράζονται σε ροές επεξεργασίας δεδομένων, ή απλά ροές δεδομένων. ́Ενα λογικό ερώτημα που τίθεται είναι κατά πόσον η ελαστικότητα επηρεάζει την εκτέλεση των ροών δεδομένων και με πιο τρόπο. Είναι λογικό ότι η εκτέλεση να είναι πιθανόν γρηγορότερη αν χρησιμοποιηθούν περισσότεροι υπολογιστικοί πόροι, αλλά το κόστος θα είναι υψηλότερο. Αυτό δημιουργεί την έννοια της οικο-ελαστικότητας, ενός επιπλέον τύπου ελαστικότητας ο οποίος προέρχεται από την οικονομική θεωρία, και συλλαμβάνει τις εναλλακτικές μεταξύ του χρόνου εκτέλεσης και του χρηματικού κόστους όπως προκύπτει από την χρήση των πόρων. Στα πλαίσια αυτής της διδακτορικής διατριβής, προσεγγίζουμε την ελαστικότητα με ένα ενοποιημένο μοντέλο που περιλαμβάνει και τις δύο ειδών ελαστικότητες που υπάρχουν στα υπολογιστικά νέφη. Αυτή η ενοποιημένη προσέγγιση της ελαστικότητας είναι πολύ σημαντική στην σχεδίαση συστημάτων που ρυθμίζονται αυτόματα (auto-tuned) σε περιβάλλοντα νέφους. Αρχικά δείχνουμε ότι η οικο-ελαστικότητα υπάρχει σε αρκετούς τύπους υπολογισμού που εμφανίζονται συχνά στην πράξη και ότι μπορεί να βρεθεί χρησιμοποιώντας έναν απλό, αλλά ταυτόχρονα αποδοτικό και επεκτάσιμο αλγόριθμο. ́Επειτα, παρουσιάζουμε δύο εφαρμογές που χρησιμοποιούν αλγόριθμους οι οποίοι χρησιμοποιούν το ενοποιημένο μοντέλο ελαστικότητας που προτείνουμε για να μπορούν να προσαρμόζουν δυναμικά το σύστημα στα ερωτήματα της εισόδου: 1) την ελαστική επεξεργασία αναλυτικών ερωτημάτων τα οποία έχουν πλάνα εκτέλεσης με μορφή δέντρων με σκοπό την μεγιστοποίηση του κέρδους και 2) την αυτόματη διαχείριση χρήσιμων ευρετηρίων λαμβάνοντας υπόψη το χρηματικό κόστος των υπολογιστικών και των αποθηκευτικών πόρων. Τέλος, παρουσιάζουμε το EXAREME, ένα σύστημα για την ελαστική επεξεργασία μεγάλου όγκου δεδομένων στο νέφος το οποίο έχει χρησιμοποιηθεί και επεκταθεί σε αυτήν την δουλειά. Το σύστημα προσφέρει δηλωτικές γλώσσες που βασίζονται στην SQL επεκταμένη με συναρτήσεις οι οποίες μπορεί να οριστούν από χρήστες (User-Defined Functions, UDFs). Επιπλέον, το συντακτικό της γλώσσας έχει επεκταθεί με στοιχεία παραλληλισμού. Το EXAREME έχει σχεδιαστεί για να εκμεταλλεύεται τις ελαστικότητες που προσφέρουν τα νέφη, δεσμεύοντας και αποδεσμεύοντας υπολογιστικούς πόρους δυναμικά με σκοπό την προσαρμογή στα ερωτήματα.