Το έργο με τίτλο Δυναμική τοποθέτηση υπηρεσιών σε Κουμπερνέτες μέσω ενισχυτικής μάθησης από τον/τους δημιουργό/ούς Vionis Georgios διατίθεται με την άδεια Creative Commons Αναφορά Δημιουργού 4.0 Διεθνές
Βιβλιογραφική Αναφορά
Γεώργιος Βιώνης, "Δυναμική τοποθέτηση υπηρεσιών σε Κουμπερνέτες μέσω ενισχυτικής μάθησης", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2025
https://doi.org/10.26233/heallink.tuc.98339
Η παρούσα διπλωματική εργασία εστιάζει στην περιοχή της Τοποθέτησης Υπηρεσιών σε Κατανεμημένα Πολυ-Συστοιχιακά Περιβάλλοντα 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 σε πραγματικές περιπτώσεις.