Adding machine intelligence to hybrid memory management
Authors: Δούδαλη Θάλεια-Δήμητρα 
Published: March 2023

Οι υπολογιστικές πλατφόρμες ενσωματώνουν ολοένα και περισσότερο ετερογενείς τεχνολογίες υλικού μνήμης, ως τρόπο βελτίωσης της απόδοσης της εφαρμογής, της χωρητικότητας της μνήμης και της επίτευξης οικονομικής αποδοτικότητας. Ωστόσο, αυτή η ετερογένεια, μαζί με την ευρύτερη ανομοιογένεια στη συμπεριφορά των σύγχρονων εφαρμογών, καθιστούν αναποτελεσματικές τις υπάρχουσες μεθόδους διαχείρισης υβριδικής μνήμης, απαιτώντας πιο ευφυείς λύσεις. Για τον σκοπό αυτό, η παρούσα διατριβή συνεισφέρει νέες ιδέες, αναπτύσσει νέες μεθόδους και μηχανισμούς σε επίπεδο λειτουργικού συστήματος για την πρακτική ενσωμάτωση της μηχανικής μάθησης στη διαχείριση υβριδικής μνήμης, ενισχύοντας την απόδοση των εφαρμογών και την αποδοτική λειτουργία των πόρων του συστήματος. Οι συγκεκριμένες συνεισφορές της παρούσας διατριβής είναι οι ακόλουθες.Πρώτον, αυτή η διατριβή δημιουργεί το Kleio, έναν μηχανισμό διαχείρισης υβριδικής μνήμης με τεχνητή νοημοσύνη. Το Kleio αναπτύσσει επαναλαμβανόμενα νευρωνικά δίκτυα για να μάθει τα μοτίβα με τα οποία οι εφαρμογές χρησιμοποιούν τη μνήμη σε επίπεδο σελίδας, και να βελτιώσει την επιλογή των σελίδων που θα ανακατανεμηθούν δυναμικά ανάμεσα στις διαθέσιμες τεχνολογίες μνήμης. Το Kleio εστιάζει έξυπνα τη μηχανική εκμάθηση στο υποσύνολο σελίδων του οποίου η έγκαιρη ανακατανομή θα φέρει τη μεγαλύτερη βελτίωση στην απόδοση της εφαρμογής, διατηρώντας παράλληλα τη γρήγορη διαχείριση των υπόλοιπων σελίδων με βάση το ιστορικό των προσβάσεων. Με αυτόν τον τρόπο, το Kleio γεφυρώνει κατά μέσο όρο το 80% του σχετικού υφιστάμενου χάσματος απόδοσης εφαρμογών, ενώ θέτει τις βάσεις για την ευφυή αλλά και πρακτική διαχείριση δεδομένων με αποδεκτό κόστος μηχανικής εκμάθησης.Δεύτερον, αυτή η διατριβή συνεισφέρει το Cori, ένα μηχανισμό σε επίπεδο λειτουργικού συστήματος για τον συντονισμό της συχνότητας λειτουργίας των μεθόδων διαχείρισης υβριδικής μνήμης που λειτουργούν περιοδικά. Το Cori συνθέτει πληροφορίες σχετικά με την επαναχρησιμοποίηση των δεδομένων των εφαρμογών για να προσδιορίσει σωστά τις συχνότητες ανακατανομής δεδομένων που πρόκειται να δοκιμαστούν, μειώνοντας κατά 5 φορές τον αριθμό των δοκιμών συντονισμού σε σύγκριση με τις υπάρχουσες εμπειρικές προσεγγίσεις συντονισμού. Με αυτόν τον τρόπο, το Cori προσφέρει επίπεδα απόδοσης εφαρμογής εντός 3% από την περίπτωση της βέλτιστα επιλεγμένης συχνότητας, εξαλείφοντας το 10%-100% χάσμα απόδοσης εφαρμογών που δημιουργείται όταν χρησιμοποιούνται συχνότητες που υιοθετούνται επί του παρόντος από σχετικές λύσεις. Τέτοιες βελτιώσεις είναι συμπληρωματικές με τη χρήση της μηχανικής εκμάθησης και ενισχύουν περαιτέρω την επίδρασή της στην απόδοση της εφαρμογής.Τρίτον, αυτή η διατριβή συνεισφέρει στο Coeus, έναν μηχανισμό ομαδοποίησης σελίδων για μηχανισμούς διαχείρισης υβριδικής μνήμης με τεχνητή νοημοσύνη, όπως το Kleio. Το Coeus αξιοποιεί τις πληροφορίες επαναχρησιμοποίησης δεδομένων που αποκάλυψε το Cori για να ρυθμίσει το επίπεδο στο οποίο ερμηνεύονται τα μοτίβα με τα οποία οι εφαρμογές χρησιμοποιούν τη μνήμη σε επίπεδο σελίδας, με τέτοιο τρόπο ώστε να αυξάνεται η ομοιότητα των μοτίβων μεταξύ των σελίδων. Στη συνέχεια, το Coeus ομαδοποιεί τις σελίδες που μοιράζονται το ίδιο μοτίβο πρόσβασης, επιτρέποντας την εκπαίδευση ενός μεμονωμένου επαναλαμβανόμενου νευρωνικού δικτύου ανά ομάγα σελίδων. Ως αποτέλεσμα, το Coeus μειώνει σχεδόν κατά 3 φορές το σχετικό κόστος μηχανικής εκμάθησης σε σύγκριση με το Kleio. Επιπλέον, το Coeus επιτυγχάνει 3 φορές υψηλότερη απόδοση εφαρμογών, λόγω του συνδυασμού της χρήσης μηχανικής εκμάθησης σε περισσότερες σελίδες και του αποτελεσματικού συντονισμού λειτουργίας του μηχανισμού διαχείρισης της υβριδικής μνήμης. Τέλος, αυτή η διατριβή συνεισφέρει στο Cronus, έναν επιλογέα σελίδων που βασίζεται σε εικόνες για μηχανισμούς διαχείρισης υβριδικής μνήμης με τεχνητή νοημοσύνη, όπως το Kleio. Το Cronus χρησιμοποιεί μεθόδους απεικόνισης για να επιταχύνει τη διαδικασία επιλογής των μοτίβων σελίδας που θα πρέπει να διαχειρίζονται με μηχανική εκμάθηση. Η απεικόνιση αποκαλύπτει χωρικούς και χρονικούς συσχετισμούς μεταξύ των σελίδων, που το Kleio δεν μπορεί να βρει κατά τη διαδικασία επιλογής σελίδων. Αντίθετα, το Kleio χρησιμοποιεί περίπλοκα μοντέλα εκτίμησης απόδοσης που συνοδεύονται από χρονοβόρα εκτέλεση. Το Cronus χρησιμοποιεί μια αλληλουχία από μεθόδους απεικόνισης και όρασης υπολογιστών που εντοπίζει ποια μοτίβα πρόσβασης σελίδας πρέπει να διαχειριστούν με μηχανική εκμάθηση. Η ποιότητα των επιλεγμένων σελίδων είναι συγκρίσιμη με αυτή του Kleio και προσφέρει παρόμοια επίπεδα απόδοσης της εφαρμογής, με αντάλλαγμα τη μείωση του χρόνου επιλογής κατά 75 φορές. Το Cronus θέτει τα θεμέλια για μελλοντική χρήση μεθόδων απεικόνισης και όρασης υπολογιστή στη διαχείριση μνήμης, όπως η ταξινόμηση, η αναγνώριση και η πρόβλεψη μοτίβων πρόσβασης στη μνήμη βάσει εικόνας.