Institutional Repository
Technical University of Crete
EN  |  EL

Search

Browse

My Space

Optimizing stream processing efficiency and cost: TALOS Task level autoscaler for Apache Flink platform

Ntouni Ourania

Simple record


URIhttp://purl.tuc.gr/dl/dias/99180917-FF67-4143-A05F-D95D9D9C03FB-
Identifierhttps://doi.org/10.26233/heallink.tuc.99094-
Languageen-
Extent63 pagesen
Extent4.6 megabytesen
TitleOptimizing stream processing efficiency and cost: TALOS Task level autoscaler for Apache Flink platform en
TitleΒελτιστοποίηση της αποδοτικότητας και του κόστους επεξεργασίας ροών : TALOS- αυτοκλιμακωτής σε επίπεδο διεργασίας για την πλατφόρμα Apache Flinkel
CreatorNtouni Ouraniaen
CreatorΝτουνη Ουρανιαel
Contributor [Thesis Supervisor]Petrakis Evripidisen
Contributor [Thesis Supervisor]Πετρακης Ευριπιδηςel
Contributor [Committee Member]Giatrakos Nikolaosen
Contributor [Committee Member]Γιατρακος Νικολαοςel
Contributor [Committee Member]Samoladas Vasilisen
Contributor [Committee Member]Σαμολαδας Βασιληςel
PublisherΠολυτεχνείο Κρήτηςel
PublisherTechnical University of Creteen
Academic UnitTechnical University of Crete::School of Electrical and Computer Engineeringen
Academic UnitΠολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστώνel
Content SummaryApache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Big Data plat- forms, due to their dynamic nature, often face fluctuations in data streams workloads, leading to potential over-provisioning or under-provisioning be- cause of static resource allocation. Most existing solutions solve the re- source adaptation problem by scaling the entire Job. These solutions are sub-optimal since not all Tasks are equally stressed and need not be scaled. Therefore, we decided to develop an agent that manages the resources of a Flink job during runtime, at a Task level. This thesis presents TALOS, an innovative task autoscaler specifically designed for Apache Flink. TALOS dynamically changes the parallelism of tasks within Flink jobs in response to real-time workload fluctuations. TALOS is a threshold-based agent that utilizes a combination of metrics, such as Kafka consumer lag, throughput, backpressure, buffer metrics, and idleness to make scaling decisions. This al- gorithm targets not only in optimizing the performance of the Flink Job, but also in minimizing the cost in cloud environments, especially for long run- ning applications. Notable is, that TALOS monitors each task separately, without taking into consideration output and input rate of upstream or downstream tasks, respectively. In this thesis, we prove that our model not only successfully maintains the performance of the application while min- imizing infrastructure costs, but can provide a better performance-to-cost ratio compared to already existing work on Flink autoscaling. Our system is compared against Flink Kubernetes Operator autoscaler, a threshold based algorithm, and both of the agents are tested in pretentious workloads.en
Content SummaryΤο 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 αλγόριθμο, και οι δύο πράκτορες ελέγχονται σε απαιτητικά φορτία ροής δεδο- μένων.el
Type of ItemΔιπλωματική Εργασίαel
Type of ItemDiploma Worken
Licensehttp://creativecommons.org/licenses/by/4.0/en
Date of Item2024-03-13-
Date of Publication2024-
SubjectStream processingen
Bibliographic CitationOurania Ntouni, "Optimizing stream processing efficiency and cost: TALOS Task level autoscaler for Apache Flink platform", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2024en
Bibliographic CitationΟυρανία Ντούνη, "Βελτιστοποίηση της αποδοτικότητας και του κόστους επεξεργασίας ροών : TALOS- αυτοκλιμακωτής σε επίπεδο διεργασίας για την πλατφόρμα Apache Flink", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2024el

Available Files

Services

Statistics