heal.abstract |
H συνεχής άνοδος των Νεφοϋπολογιστικών Συστημάτων (Cloud Computing), έχει δημιουργήσει την ανάγκη για μεγαλύτερη και αποτελεσματικότερη χρησιμοποίηση (utilization) των πόρων των υπολογιστικών συστημάτων. H πλέον συχνή και διάσημη στους μεγάλους παρόχους εξυπηρετητών (Datacenters) λύση για τον διαμοιρασμό αυτών των πόρων, είναι η τεχνική της Εικονικοποίησης (Virtualization). Δίνoντας με αυτόν τον τρόπο τη δυνατότητα χρησιμοποίησης κοινών πόρων από διαφορετικά Εικονικά Μηχανήματα (Virtuals Machines - VMs). Ωστόσο, η τεχνική της εικονικοποίησης δεν παρέχει την απόλυτη απομόνωση των εφαρμογών, με αποτέλεσμα να υπάρχει ανταγωνισμός για τους μη δεσμεύσιμους πόρους, όπως η Κρυφή Μνήμη (Cache), το εύρος ζώνης εισόδου-εξόδου (I/O Bandwith), το δίκτυο (Νetwork) κ.α. Η αποφυγή παρεμβολής (Interference) που δημιουργείται μεταξύ των εφαρμογών αποτελεί εν τέλει καθοριστικό παράγοντα για την έγκαιρη εκτέλεσή τους.
Στην παρούσα διπλωματική προτείνεται η χρήση δυο τεχνικών, η οποία λαμβάνοντας υπόψιν το IPC κάνει εκτίμηση του ποσοστού καθυστέρησης των εφαρμογών. Η πρώτη μέθοδος περιλαμβάνει ένα αρχικό offline στάδιο εκπαίδευσης (Training mode), στο οποίο χρησιμοποιώντας Μίξη Γκαουσιανών (Mixture of Gaussians - GMM) εντοπίζονται οι φάσεις εκτέλεσης της κάθε εφαρμογής. Το στάδιο αυτό περιλαμβάνει εκτός των άλλων και ένα ακόμη βήμα, στο οποίο γειτονικές συστοιχίες (clusters) συγχωνεύονται ενισχύοντας την γενικότητα του μοντέλου. Έπειτα, κατά την διάρκεια της ταυτόχρονης εκτέλεσης των εφαρμογών (Interference mode), για τις μετρήσεις κάθε εφαρμογής που ανήκει σε συγκεκριμένη συστοιχία-φάση, μετριέται το ποσοστό προσαρμογής από το κέντρο της κάθε συστοιχίας. Το τελικό ποσοστό προσαρμογής, άρα τελικά και το ποσοστό καθυστέρησης της κάθε εφαρμογής, προκύπτει από τον σταθμισμένο μέσο όρο βάσει της συνεισφοράς της κάθε συστοιχίας. Η μέθοδος έδειξε πολύ ικανοποιητικά αποτελέσματα κατά την διάρκεια των πειραμάτων, με ποσοστό κάτω του 2% απόκλιση από την πραγματική καθυστέρηση των εφαρμογών. Καθιστώντας την ιδανική σε εφαρμογές όπου υπάρχει εκ των προτέρων γνώση της εφαρμογής, τέτοιες εφαρμογές είναι οι Batch εφαρμογές.
Στην δεύτερη μέθοδο δοκιμάστηκαν βαθιά νευρωνικά δίκτυα τύπου LSTMs, διαφόρων παραλλαγών χρησιμοποιώντας πάλι το σήμα IPC, ως το μοναδικό στοιχείο επεξεργασίας. Και σε αυτήν την περίπτωση υπάρχει ένα αρχικό offline στάδιο εκπαίδευσης, στην οποία τα LSTMs μοντέλα μαθαίνουν τα χαρακτηριστικά του σήματος εισόδου (απομονωμένη εκτέλεση), ενώ κατά την διάρκεια της συνεκτέλεσης των εφαρμογών τα μοντέλα των εφαρμογών που δημιουργήθηκαν πριν, χρησιμοποιούνται για την εκτίμηση της παραμόρφωσης του
σήματος. Για την εκτίμηση της παραμόρφωσης και κατ’ επέκταση της καθυστέρησης των εφαρμογών, χρησιμοποιείται μια απλή σχέση όπου λαμβάνεται υπ’ όψιν το IPC των εφαρμογών κατά την συνεκτέλεση και η έξοδος του μοντέλου που είχε εκπαιδευτεί προηγουμένως. Η μέθοδος των βαθιών νευρωνικών δικτύων έδειξε κάποια θετικά αποτελέσματα αλλά προέκυψαν και κάποιοι περιορισμοί που χρήζουν περαιτέρω διερεύνησης. Τελικά, το μέσο σφάλμα από την πραγματική καθυστέρηση των εφαρμογών ήταν άνω του 4%. |
el |