Deterministic, elastic and real - time processing in the big data era
Authors: Ζαχείλας Νικόλαος 
Published: September 2021

Τα τελευταία χρόνια παρατηρούμε μία ραγδαία αύξηση του πλήθους τωνδεδομένων τα οποία είναι απαραίτητο να αναλυθούν σε πραγματικό χρόνοαπό διαφορετικού είδους εφαρμογές, οι οποίες περιλαμβάνουν, εφαρμογέςανάλυσης της κυκλοφοριακής συμφόρησης, ιατροφαρμακευτικής περίθαλψηςκαθώς και χρηματοοικονομικές εφαρμογές. Προκείμενου να γίνει μεαποδοτικό τρόπο η επεξεργασία τόσου μεγάλου όγκου δεδομένων, έχουνπροταθεί πρωτότυπα κατανεμημένα συστήματα επεξεργασίας μεγάλου όγκουδεδομένων όπως το Apache Storm και το Apache Spark. Αυτά τα συστήματαείναι κλιμακωτά και παρέχουν χαμηλό χρόνο απόκρισης με το νακατανέμουν την επεξεργασία των δεδομένων σε πολλαπλούς και παράλληλαεκτελέσιμους υπολογιστικούς πόρους. Παρόλα αυτά, υπάρχουν αρκετές καισημαντικές ερευνητικές προκλήσεις που πρέπει να διευθετηθούνπροκειμένου να χρησιμοποιηθούν με τις πλήρεις δυνατότητές τους. Αυτέςοι προκλήσεις περιλαμβάνουν - αλλά δεν περιορίζονται μόνο σε αυτές -την παροχή της ντετερμινιστικής επεξεργασίας των δεδομένων, τονκαθορισμό των υπολογιστικών πόρων που πρέπει να χρησιμοποιηθούν, τηδιαχείριση της ασυμμετρίας που παρουσιάζεται στα δεδομένα που πρέπεινα επεξεργαστούν παράλληλα καθώς και τον αποτελεσματικόχρονοπρογραμματισμό των πολλαπλών εφαρμογών που εκτελούνται πάνω απότο σύστημα όταν οι εφαρμογές έχουν απαιτήσεις απόκρισης πραγματικούχρόνου. Ο σκοπός αυτής της διδακτορικής διατριβής είναι η πρότασηπρακτικών μεθόδων για την αντιμετώπιση αυτών των προβλημάτων.Το πρώτο μέρος της διδακτορικής διατριβής περιλαμβάνει προτάσεις γιατη βελτίωση της απόδοσης των συστημάτων επεξεργασίας μεγάλου όγκουδεδομένων μέσω της αντιμετώπισης του προβλήματος της παροχήςντετερμιστικής επεξεργασίας των δεδομένων και ταυτόχρονα τηνικανοποίηση απαιτήσεων απόκρισης πραγματικού χρόνου. Προκειμένου ταδεδομένα να επεξεργαστούν ντετερμινιστικά, είναι απαραίτητη η χρήσημηχανισμών που καθορίζουν τη σειρά με την οποία τα δεδομέναεπεξεργάζονται από τους υπολογιστικούς πόρους. Αφ'ετέρου, ηικανοποίηση περιορισμών πραγματικού χρόνου σε τέτοια συστήματα απαιτείτην αποτελεσματική διαχείριση του αντισταθμίσματος (trade-off) μεταξύτης ντετερμινιστικής επεξεργασίας και του μικρού χρόνου απόκρισης.Εξετάζοντας αυτές τις προκλήσεις και το αντιστάθμισμα πουδημιουργείται λόγω των περιορισμών πραγματικού χρόνου, ένα σύνολο απόσυστήματα και μεθοδολογίες προτείνονται στα πλαίσια του διδακτορικούπροκειμένου να επιτραπεί στους χρήστες των εφαρμογών και τουςδιαχειριστές των συστημάτων να χαλαρώνουν δυναμικά τους περιορισμούςτου ντετερμινισμού οταν είναι απαραίτητο, ώστε να ικανοποιηθούν οιπεριορισμοί στο χρόνο απόκρισης των εφαρμογών.Το δεύτερο μέρος της διατριβής επικεντρώνεται στο πρόβλημα τουχρονοπρογραμματισμού εφαρμογών με απαιτήσεις πραγματικού χρόνου σεσυστήματα επεξεργασίας δεδομένων μεγάλης κλίμακας δεδομένων πουχρησιμοποιούν το MapReduce προγραμματιστικό μοντέλο, και επιπροσθέτωςστο πρόβλημα της δημιουργίας υψηλής ακρίβειας μοντέλων πρόβλεψης τουχρόνου εκτέλεσης των εφαρμογών. Η δυσκολία των προβλημάτων έγκειταιστο ότι οι εφαρμογές πολλές φορές εκτελούνται σε ετερογενήπεριβάλλοντα, στην ανομοιομορφία των δεδομένων που επεξεργάζονται οιυπολογιστικοί πόροι λόγου της ασυμμετρίας (skewness) των δεδομένων,στις απαιτήσεις πραγματικού χρόνου που έχουν οι εφαρμογές καθώς και τοπεριορισμένο πλήθος διαθέσιμων εκτελέσεων για τη δημιουργία μοντέλωνπρόβλεψης υψηλής ακρίβειας. Προκειμένου να αντιμετωπιστούν ταπροαναφερθέντα προβλήματα προτείνονται ένα σύνολο από αλγορίθμουςχρονοπρογραμματισμού καθώς και ένα πρωτότυπο σύστημα δημιουργίαςπροφιλ εφαρμογών . Τέλος, το τρίτο μέρος της διδακτορικής διατριβήςσυνεισφέρει στο πρόβλημα της αποτελεσματικής διαχείρισης των πόρων σεκατανεμημένα συστήματα ροών δεδομένων. Προτείνεται ένας πρωτότυποςμηχανισμός ελαστικότητας (elasticity) ο οποίος επιτρέπει των καθορισμόεκ των προτέρων του βαθμού του παραλληλισμού των επεξεργαστικών πόρωντου συστήματος, καθώς επίσης εξετάζεται και η χρήση γνωστών αλγορίθμωνδιαμοιρασμού του φόρτου εργασίας μεταξύ των υπολογιστικών πόρωνπροκειμένου να βελτιώσουμε περαιτέρω το διαμετακομιστικό ρυθμό(throughput) του συστήματος.Καθ' όλη την διατριβή, οι μεθοδολογίες που αναπτύχθηκαν έχουναξιολογηθεί σε πραγματικά δεδομένα και σενάρια. Τα πειραματικάαποτελέσματα έδειξαν ότι οι προτεινόμενοι αλγόριθμοι ξεπερνούνσυστηματικά τις υπάρχουσες προσεγγίσεις και ότι αποτελούν πρακτικέςτεχνικές που μπορούν να χρησιμοποιηθούν σε δημοφιλή κατανεμημένασυστήματα επεξεργασίας ροών δεδομένων, όπως το Apache Storm και τοApache Spark.