title: Dynamic service placement in Kubernetes using reinforcement learning
title: Δυναμική τοποθέτηση υπηρεσιών σε Κουμπερνέτες μέσω ενισχυτικής μάθησης
Creators: name: Βιωνης Γεωργιος
Publisher: name: Technical University of Crete
Year: 2025

description: This thesis takes a deep dive into the space of Service Placement in Distributed Multi-Clustered Cloud environments. This work aims to reduce the operational cost of the system as well as the latency of using a Highly Scalable Reinforcement Learning model. For this model, the system follows a hierarchical directed acyclic graph structure with multiple tiers. The First tier makes up the central computational and resource infrastructure providing the most potential for scaling. Intermediate tiers are located physically closer to the outer-most tier meaning they have substantially lower propagation delay, they are however lacking when compared to the Central tier regarding compute and scaling capabilities. The aforementioned outside tier represents the final tier consisting of nodes with potentially low computational power and is the server through which clients connect to the system, whether that is IoT devices, smartphones, or any other potential consumer. All applications follow Micro-Service Architectures, meaning they are comprised of a multitude of (micro)services. This allows for moving these services across the tiers as needed to maximize performance and minimize cost and latency. As described earlier the inner-most tiers provide improved performance at the expense of increased latency. Therefore, moving these services to the intermediate or even the outer-most tier can be beneficial both cost wise and in terms of latency if the gain of reduced latency and network I/O outweighs the loss stemming from multiple deployments across many tiers for the same service. The proposed model: DynaQSP, aims to handle the placement and deletion of deployments across each tier utilizing a dynamic Q Reinforcement Learning model while also appropriately managing the traffic flow after each change. To collect metric information and manage functions and networking of applications a Service Mesh technology (Linkerd) will be utilized. DynaQSP collects this information and uses it to train our Reinforcement Learning model which in turn makes decisions regarding the management of all the services. Three realistic microservices-based applications, Google’s “Online Boutique”, “Bank of Anthos” and “TeaStore”, were deployed in the previously described heterogeneous multicluster environment on the Google Cloud Platform with the purpose of evaluating the effectiveness of the proposed model. After considerable implementation-testing-evaluation cycles the model was fine-tuned and the system latency and cost was measured for different load scenarios and compared to default behavior as well as related work. The experimental results demonstrate significant improvement over both default behavior and related work in terms of both reduced cost and latency while ensuring uptime consistency. More Specifically Latency has been reduced by up to 80% and operational costs have been cut by as much as 44%. The employment of realistic applications in a heterogeneous multicluster environment ensures practicality and relevance to the evaluation, confirming the efficacy of the DynaQSP model in real-world cases.
description: Η παρούσα διπλωματική εργασία εστιάζει στην περιοχή της Τοποθέτησης Υπηρεσιών σε Κατανεμημένα Πολυ-Συστοιχιακά Περιβάλλοντα Cloud. Στόχος της είναι η μείωση της καθυστέρησης (latency) των υπηρεσιών, καθώς και του λειτουργικού κόστους του συστήματος, μέσω ενός μοντέλου Μηχανικής Μάθησης Ενίσχυσης (Reinforcement Learning) με υψηλή επεκτασιμότητα (highly scalable). Το σύστημα ακολουθεί μια ιεραρχική δομή κατευθυνόμενου ακύκλου γράφου με Βαθμίδες. Η κεντρική βαθμίδα αποτελεί τον κεντρικό υπολογιστικό και πόρο-εντατικό πυρήνα του συστήματος, προσφέροντας τη μεγαλύτερη δυνατότητα κλιμάκωσης. Οι ενδιάμεσες βαθμίδες βρίσκεται σταδιακά ολοένα και πιο κοντά στη βαθμίδα επαφής με τον χρήστη, η οποία είναι και τελευταία, γεγονός που μειώνει σημαντικά την καθυστέρηση διάδοσης, αλλά υστερεί σε σχέση με την κεντική όσον αφορά τις υπολογιστικές και κλιμακούμενες δυνατότητες. Η εξωτερική βαθμίδα αντιπροσωπεύει το τελευταίο επίπεδο και πιθανώς αποτελείται από κόμβους χαμηλής υπολογιστικής ισχύος που λειτουργούν ως διακομιστές μέσω των οποίων οι χρήστες συνδέονται στο σύστημα, είτε πρόκειται για συσκευές IoT, smartphones, υπολογιστές ή οποιονδήποτε άλλο καταναλωτή υπηρεσιών. Όλες οι εφαρμογές ακολουθούν αρχιτεκτονικές Micro-Service, που σημαίνει ότι αποτελούνται από πολλαπλές (μικρο)υπηρεσίες. Αυτό επιτρέπει τη μεταφορά αυτών των υπηρεσιών μεταξύ των επιπέδων, όπως απαιτείται, για να μεγιστοποιηθεί η απόδοση και να ελαχιστοποιηθούν το κόστος και η καθυστέρηση. Όπως περιγράφηκε προηγουμένως, τα ανώτερα επίπεδα προσφέρουν βελτιωμένη απόδοση εις βάρος αυξημένης καθυστέρησης. Συνεπώς, η μετακίνηση αυτών των υπηρεσιών πιο κοντά στην εξωτερική βαθμίδα μπορεί να είναι ωφέλιμη τόσο από πλευράς κόστους όσο και καθυστέρησης, εάν το κέρδος από τη μείωση της καθυστέρησης και του δικτυακού I/O υπερβαίνει τις απώλειες από πολλαπλές αναπτύξεις στις διάφορες βαθμίδες για την ίδια υπηρεσία. Το προτεινόμενο μοντέλο: DynaQSP, στοχεύει στη διαχείριση της τοποθέτησης και διαγραφής αναπτύξεων σε κάθε επίπεδο χρησιμοποιώντας ένα δυναμικό μοντέλο Ενίσχυσης Q, ενώ παράλληλα διαχειρίζεται κατάλληλα τη ροή κίνησης μετά από κάθε αλλαγή. Για τη συλλογή πληροφοριών μεταβλητών, τη διαχείριση λειτουργιών και τη δικτύωση των εφαρμογών θα χρησιμοποιηθεί τεχνολογία Service Mesh (Linkerd). Το DynaQSP συλλέγει αυτές τις πληροφορίες και τις χρησιμοποιεί για την εκπαίδευση του μοντέλου Reinforcement Learning, το οποίο με τη σειρά του λαμβάνει αποφάσεις για τη διαχείριση όλων των υπηρεσιών. Τρεις ρεαλιστικές εφαρμογές βασισμένες σε μικρο-υπηρεσίες, το “Online Boutique” της Google, το “Bank of Anthos” και το “TeaStore”, εγκαταστήθηκαν στο προαναφερθέν ετερογενές πολυ-συστοιχιακό περιβάλλον στο Google Cloud Platform με σκοπό την αξιολόγηση της αποτελεσματικότητας του προτεινόμενου μοντέλου. Μετά από αρκετούς κύκλους υλοποίησης, δοκιμών και αξιολόγησης, το μοντέλο βελτιστοποιήθηκε και η καθυστέρηση και το κόστος του συστήματος μετρήθηκαν για διαφορετικά σενάρια φόρτου και συγκρίθηκαν με την προεπιλεγμένη συμπεριφορά και με σχετικές έρευνες. Τα πειραματικά αποτελέσματα δείχνουν σημαντική βελτίωση τόσο στο κόστος όσο και στην καθυστέρηση σε σχέση με την προεπιλεγμένη συμπεριφορά και τις σχετικές έρευνες, διασφαλίζοντας παράλληλα τη συνέπεια του uptime. Πιο συγκεκριμένα τα πειραματικά αποτελέσματα εμφανίζουν ελάττωση της καθυστέρησης του συστήματος έως και κατά 80% και του κόστους λειτουργίας κατά 44%. Η χρήση ρεαλιστικών εφαρμογών σε ένα ετερογενές πολυ-συστοιχιακό περιβάλλον εξασφαλίζει την πρακτικότητα και τη συνάφεια της αξιολόγησης, επιβεβαιώνοντας την αποτελεσματικότητα του μοντέλου DynaQSP σε πραγματικές περιπτώσεις.