Improving the Locality of Page Table Walks in the Cache Hierarchy of Modern Microprocessors

Το τεκμήριο παρέχεται από τον φορέα :
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών   

Αποθετήριο :
Πέργαμος   

δείτε την πρωτότυπη σελίδα τεκμηρίου
στον ιστότοπο του αποθετηρίου του φορέα για περισσότερες πληροφορίες και για να δείτε όλα τα ψηφιακά αρχεία του τεκμηρίου*



Improving the Locality of Page Table Walks in the Cache Hierarchy of Modern Microprocessors

ΧΑΤΖΟΠΟΥΛΟΣ ΑΓΓΕΛΟΣ ΔΩΡΟΘΕΟΣ (EL)
CHATZOPOULOS ANGELOS-DOROTHEOS (EN)

born_digital_graduate_thesis
Πτυχιακή Εργασία (EL)
Graduate Thesis (EN)

2024


Καθώς οι απαιτήσεις μνήμης των σύγχρονων εφαρμογών αυξάνονται, οι συμβατικοί πίνακες μετάφρασης σελίδων (TLB) των μικροεπεξεργαστών είναι συχνά ανεπαρκείς για να καλύψουν τα συνεχώς αυξανόμενα δεδομένα που επεξεργάζονται οι εφαρμογές αυτές, οδηγώντας σε συχνές αστοχίες TLB που προκαλούν χρονοβόρες διασχίσεις του πίνακα σελίδων λόγω προσβάσεων στην κύρια μνήμη. Σε αυτή την πτυχιακή εργασία, προτείνουμε το PT-Baker, μια προσέγγιση λογισμικού που μειώνει την καθυστέρηση στη διάσχιση του πίνακα σελίδων για εφαρμογές με υψηλές αστοχίες TLB και ανεπαρκή τοπικότητα στον πίνακα σελίδων. Η βασική ιδέα του PT-Baker είναι η εισαγωγή ενός βοηθητικού νήματος στην εφαρμογή που περιοδικά πραγματοποιεί προσβάσεις μνήμης για να διατηρήσει τις καταχωρήσεις του πίνακα σελίδων της εφαρμογής εντός της ιεραρχίας της κρυφής μνήμης και να επιταχυνθεί με αυτόν τον τρόπο η μετάφραση εικονικών διευθύνσεων. Υλοποιούμε αυτή την προσέγγιση τόσο (i) σε επίπεδο χώρου χρήστη, όπου το βοηθητικό νήμα αγγίζει τη μνήμη της εφαρμογής ούτως ώστε να παράγει εκκούσια αστοχίες TLB και διασχίσεις στο πίνακα σελίδων για να φορτωθεί στην ιεραρχία της κρυφής μνήμης, όσο και (ii) σε επίπεδο πυρήνα, εισάγοντας μια νέα κλήση συστήματος που φορτώνει άμεσα τον πίνακα σελίδων της εφαρμογής στην ιεραρχία των κρυφών μνημών. Η προσέγγιση σε επίπεδο χρήστη αυξάνει την πίεση στην ιεραρχία της μνήμης γιατί φορτώνει και δεδομένα της εφαρμογής στην ιεραρχία των κρυφών μνημών, αλλά δεν απαιτείται εγκατάσταση τροποποιημένου πυρήνα λειτουργικού συστήματος. Η προσέγγιση σε επίπεδο πυρήνα φορτώνει άμεσα τις καταχωρήσεις του πίνακα σελίδων χωρίς να γεμίζει τη μνήμη με δεδομένα της εφαρμογής, αλλά απαιτείται επιπλέον τροποποίηση του πυρήνα. Αξιολογούμε την προσέγγισή μας σε φυσικό και εικονικό σύστημα, καθώς και σε σύστημα με υψηλή πίεση μνήμης λόγω ανταγωνισμού στην ιεραρχία των κρυφών μνημών. Διεξάγουμε πολλαπλά πειράματα εξετάζοντας διάφορες παραμέτρους για να διαχειριστούμε την επιθετικότητα του βοηθητικού νήματος, και εξετάζουμε την τοποθέτησή του βοηθητικού νήματος στον μικροεπεξεργαστή για να αξιοποιήσουμε την ιεραρχία των κρυφών μνημών. Η αξιολόγηση μας δείχνει ότι το PT-Baker μπορεί να μειώσει τις προσβάσεις στην κύρια μνήμη έως και 83% και να βελτιώσει την απόδοση έως και 5.9% με την προσέγγιση επιπέδου χρήστη σε ένα φυσικό σύστημα. Με την προσέγγιση επιπέδου πυρήνα, το PT-Baker μπορεί να μειώσει τις προσβάσεις στην κύρια μνήμη έως και 99% και να βελτιώσει την απόδοση έως και 18%. (EL)
As the memory footprints of modern, memory-intensive workloads are increasing, conventional TLBs are often inadequate to fully cover their growing working sets, leading to frequent TLB misses that cause long latency page table walks due to accesses in the main memory. In this thesis we propose PT-Baker, a software, system-level approach for reducing the latency of page table walks for applications that suffer from a high number of TLB misses and insufficient page table walks locality. The key idea of PT-Baker is the introduction of a helper thread that periodically iterates and accesses the workload’s page table entries to preserve them within the cache hierarchy and accelerate the address translation process. We design and implement this approach in both (i) user-level, where the helper thread touches the workload’s allocated memory using a page-size stride and triggers on purpose page walks, and (ii) kernel-level, by introducing a new system call that directly accesses the page table of the application. The user-level approach avoids any kernel modifications. However, it results in increased memory pressure because, as the helper thread iterates through the application’s allocated memory to touch the page table entries and fetch them in the cache hierarchy, it also fetches the corresponding application data. On the other hand, the kernel-level approach directly fetches the page table entries without filling the memory hierarchy with application data, but this approach requires kernel modifications, in addition to application modifications. We evaluate our approach on a native and a virtualized system, as well as on a memory-pressured system. We conduct experiments with various parameter settings to adjust the aggressiveness of the helper thread, while we also consider thread placement on the microprocessor to utilize different parts of the cache hierarchy. Our evaluation shows that PT-Baker reduces the main memory accesses due to page walks by up to 83% and improves the performance by up to 5.9% with the user-level approach on a native system. With the kernel-level approach, PT-Baker reduces the main memory accesses due to page walks by up to 99% and improves the performance by up to 18%. (EN)

Τεχνολογία – Πληροφορική

Τεχνολογία – Πληροφορική (EL)
Technology - Computer science (EN)

Ελληνική γλώσσα
Αγγλική γλώσσα

Βιβλιοθήκη και Κέντρο Πληροφόρησης » Βιβλιοθήκη Σχολής Θετικών Επιστημών » Πληροφορική
Σχολή Θετικών Επιστημών » Τμήμα Πληροφορικής & Τηλεπικοινωνιών

https://creativecommons.org/licenses/by-nc/4.0/




*Η εύρυθμη και αδιάλειπτη λειτουργία των διαδικτυακών διευθύνσεων των συλλογών (ψηφιακό αρχείο, καρτέλα τεκμηρίου στο αποθετήριο) είναι αποκλειστική ευθύνη των αντίστοιχων Φορέων περιεχομένου.