Το έργο με τίτλο Βελτιστοποίηση της αποδοτικότητας και του κόστους επεξεργασίας ροών : TALOS- αυτοκλιμακωτής σε επίπεδο διεργασίας για την πλατφόρμα Apache Flink από τον/τους δημιουργό/ούς Ntouni Ourania διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού 4.0 Διεθνές
Βιβλιογραφική Αναφορά
Ουρανία Ντούνη, "Βελτιστοποίηση της αποδοτικότητας και του κόστους επεξεργασίας ροών : TALOS- αυτοκλιμακωτής σε επίπεδο διεργασίας για την πλατφόρμα Apache Flink", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2024
https://doi.org/10.26233/heallink.tuc.99094
Το Apache Flink είναι μια πλατφόρμα και μηχανή κατανεμημένης επεξερ- γασίας για stateful υπολογισμούς σε αόριστες και περιορισμένες ροές δεδο- μένων. Οι πλατφόρμες Big Data , λόγω της δυναμικής φύσης τους, συνήθως αντιμετωπίζουν διακυμάνσεις στο φορτίο ροών δεδομένων, προκαλώντας over- provisiong ή under-provisioning πόρων λόγω της στατικής δέσμευσης πόρων. Οι κυρίως υπάρχουσες λύσεις, είναι κλιμάκωση σε επίπεδο job. Αυτού του είδους λύσεις, δεν αποτελούν την βέλτιστη προσέγγιση, σε περιπτώσεις όπου δεν ̈πιέζονται’ όλα τα task το ίδιο. Στο πλαίσιο αυτό, αποφάσισαμε να ανα- πτύξουμε έναν πράκτορα που διαχειρίζεται τους πόρους ενός Flink job κατά τη διάρκεια εκτέλεσης, σε επίπεδο διεργασίας. Η παρούσα διατριβή παρου- σιάζει τον TALOS, έναν πρωτότυπο Autoscaler σε επίπεδο διεργασίας που σχεδιάστηκε ειδικά για το Apache Flink. Το TALOS αλλάζει δυναμικά τον παραλληλισμό των tasks σε Flink jobs ανάλογα με τις διακυμάνσεις του φορ- τίου δεδομένων κατά τον χρόνο εκτέλεσης. Το TALOS είναι ένας πράκτορας που βασίζεται σε τιμές κατώφλιου (threshold based) και χρησιμοποιεί έναν συνδυασμό μετρικών, όπως το Kafka consumer lag,throughput, backpressure, buffer metrics, και idleness για να λάβει αποφάσεις για τον καινούριο παραλ- ληλισμό των διεργασιών. Αυτός ο αλγόριθμος στοχεύει στην βελτιστοποίηση της απόδοσης του Flink Job, αλλά και στην ελαχιστοποίηση του κόστους σε περιβάλλοντα cloud, ειδικά για εφαρμογές μεγάλης διάρκειας. Αξίζει να ση- μειωθεί ότι το TALOS παρακολουθεί κάθε task ξεχωριστά, χωρίς να λάβει υπόψη τη ταχύτητα εξόδου και είσοδου των upstream ή downstream tasks , αντίστοιχα. Σε αυτήν τη διατριβή, δείχνουμε ότι το μοντέλο μας επιτυγχάνει να διατηρήσει επιτυχώς την απόδοση της εφαρμογής, ενώ ελαχιστοποιεί το κόστος, παρέχοντας μία βέλτιστη αναλογία απόδοσης-κόστους σε σχέση με την υπάρχουσα εργασία στην κλιμάκωση του Flink job. Η σύγκριση υλο- ποιείται με το Flink Kubernetes Operator autoscaler, έναν threshold-based αλγόριθμο, και οι δύο πράκτορες ελέγχονται σε απαιτητικά φορτία ροής δεδο- μένων.