Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18925
Title: Horizontal Scalability in cloud environments orchestrated by Kubernetes
Authors: Τζαβάρα, Νεφέλη Παναγιώτα
Κοζύρης Νεκτάριος
Keywords: Βαθιά Μάθηση, Kubernetes, Deep Q Learning, Reinforcement Learning, LSTM, Οριζόντια κλιμακωσιμότητα, πρόβλεψη χρονοσειράς
Issue Date: 2-Nov-2023
Abstract: Μελετώντας σε βάθος τα χαρακτηριστικά του 21ου αιώνα, μπορούμε να παρατηρήσουμε το γεγονός ότι ο όγκος των δεδομένων που παράγονται αυξάνεται συνεχώς, περισσότερο από ποτέ. Οι πρόσφατες τεχνολογικές εξελίξεις στην επιστήμη της πληροφορικής και στις υπηρεσίες της έχουν καταστήσει πλέον δυνατό τον εξ αποστάσεως υπολογισμό μεγάλων δεδομένων σε κατανεμημένα συστήματα και/ή σε υπηρεσίες νέφους. Ο εξ αποστάσεως υπολογισμός, σε αυτά τα πλαίσια, καθίσταται δυνατός με τη χρήση microservices που μπορούν να εκτελούνται ανεξάρτητα σε δομές περιεκτών (containers), οι οποίες έχουν επίσης γίνει πολύ δημοφιλείς. Η οργάνωση ή αλλιώς ¨ενορχήστρωση’ των περιεκτών γίνεται από τους λεγόμενους ενορχηστρωτές, με πιο δημοφιλή το Kubernetes , το οποίο είναι λογισμικό ανοικτού κώδικα. Το Kubernetes είναι υπεύθυνο για τον χρονοπρογραμματισμό των pods σε διαφορετικούς κόμβους μιας συστάδας (cluster) και επίσης για τη λήψη αποφάσεων σχετικά με την κλίμακα του cluster. Τα pods είναι μονάδες που ενσωματώνουν συλλογές containers και εκτελούνται μέσα σε κόμβους. Η κλίμακα της συστάδας παίζει καθοριστικό ρόλο, καθώς οι απαιτήσεις των υπηρεσιών μεταβάλλονται και η συστάδα πρέπει να είναι σε θέση να αντέξει τις διαφορετικές συνθήκες χρήσης (λ.χ. δημιουργία πολλών pods από αυξημένο φόρτο κίνησης σε έναν server). ΄Ετσι, η αποτελεσματική κλιμάκωση έγκειται στην αποτελεσματική και έγκαιρη πρόβλεψη σχετικά με το πόσοι και ποιοι πόροι θα διατεθούν σε ορισμένες διεργασίες, ώστε να αποφεύγεται η αποτυχία του συστήματος και να ελαχιστοποιείται η αδράνεια των πόρων. Στην παρούσα διπλωματική, ξεκινάμε με τη μελέτη της αρχιτεκτονικής του Kubernetes και των διαφόρων εννοιών κλιμάκωσης με έμφαση στην οριζόντια κλιμάκωση, δηλαδή την κλιμάκωση όπου τροποποιείται ο αριθμός των κόμβων συστάδας. Για τις δοκιμές μας, μελετάμε τη χρήση της εξεργαστικής ισχύος CPU σε μια συστάδα που ενορχηστρώνεται από το Kubernetes. Συγκεκριμένα, μελετάμε ανώνυμα δεδομένα που συλλέχθηκαν επί 15 ημέρες από έναν διακομιστή παραγωγής στο ινστιτούτο CERN και περιέχουν δεδομένα χρήσης της CPU με την πάροδο του χρόνου. Πραγματοποιούμε διερευνητική ανάλυση δεδομένων για την περαιτέρω κατανόηση των δεδομένων αυτών και έπειτα, προχωράμε στην ανάπτυξη μοντέλων πρόβλεψης για την πρόβλεψη της χρήσης της CPU . Τέλος, αναπτύσσουμε έναν πράκτορα ενισχυτικής μάθησης με πολιτική ελαχιστοποίησης της χρήσης CPU με βάση την οριζόντια κλιμάκωση της συστάδας. Απώτερος στόχος μας είναι να προτείνουμε έναν προορατικό custom resource allocator που μπορεί να ενσωματωθεί σε μια συστάδα του Kubernetes , έτσι ώστε οι αποφάσεις κλιμάκωσης να βασίζονται στην πρόβλεψη της χρήσης της CPU και συνεπώς στην χρήση του απαραίτητου αριθμού κόμβων.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18925
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
thesis-final.pdf3.55 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.