dc.contributor.author | Μορές, Κωνσταντίνος![]() |
el |
dc.contributor.author | Mores, Konstantinos![]() |
en |
dc.date.accessioned | 2025-03-06T08:56:27Z | |
dc.date.available | 2025-03-06T08:56:27Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/61213 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.28909 | |
dc.rights | Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/gr/ | * |
dc.subject | Πυρήνας του Linux | el |
dc.subject | Διαχείριση μνήμης | el |
dc.subject | Εικονική μνήμη | el |
dc.subject | Χώρος χρήστη | el |
dc.subject | Χώρος πυρήνα | el |
dc.subject | Huge pages | en |
dc.subject | eBPF | en |
dc.subject | Address Translation | en |
dc.title | User-space guided memory management with eBPF | en |
dc.title | Διαχείριση μνήμης καθοδηγούμενη από τον χώρο χρήστη μέσω μηχανισμού eBPF | el |
heal.type | bachelorThesis | |
heal.classification | Λειτουργικά Συστήματα | el |
heal.classification | Υπολογιστικά Συστήματα | el |
heal.classification | Διαχείριση Μνήμης | el |
heal.classification | Operating Systems | en |
heal.classification | Computing Systems | en |
heal.classification | Memory Management | en |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2024-10-11 | |
heal.abstract | Οι συνεχώς αυξανόμενες ανάγκες μνήμης των σύγχρονων εφαρμογών ασκούν ολοένα και μεγαλύτερη πίεση στο υποσύστημα διαχείρισης μνήμης των λειτουργικών συστημάτων. Ταυτόχρονα, το κόστος μετάφρασης εικονικών διευθύνσεων αποτελεί σημαντικό παράγοντα καθυστέρησης των προσβάσεων στη μνήμη. Συνεπώς, οι κατασκευαστές σύγχρονων επεξεργαστών εντάσσουν στις αρχιτεκτονικές όλο και πιο σύνθετο, εξειδικευμένο υλικό για την επιτάχυνση της διαδικασίας της μετάφρασης. Μείζον κομμάτι της υλικής υποστήριξης αποτελούν τα Translation Lookaside Buffers (TLBs), υλικές caches που αποθηκεύουν τις πιο πρόσφατες μεταφράσεις διευθύνσεων. Στοχεύοντας στη βελτίωση της απόδοσής τους, το λειτουργικό σύστημα συνεργάζεται με το υλικό για την υλοποίηση μεγάλων σελίδων (huge pages). Οι μεγάλες σελίδες είναι εικονικά και φυσικά συνεχόμενες περιοχές μνήμης, μεγαλύτερες από 4KiB, που μπορούν να μεταφραστούν χρησιμοποιώντας μία μόνο εγγραφή στο TLB. Ωστόσο, τα σύγχρονα λειτουργικά συστήματα φαίνεται να μην επιτυγχάνουν τα αναμενόμενα οφέλη απόδοσης τους. Αυτό οφείλεται εν μέρει στην υιοθέτηση ευκαιριακών και άπληστων πολιτικών κατανομής μεγάλων σελίδων που δεν λαμβάνουν υπόψη τα υποκείμενα κόστη, οδηγώντας σε λάθος αποφάσεις. Από την άλλη πλευρά, αρχιτεκτονικές όπως οι ARMv8-A και RISC-V εισάγουν νέα μεγέθη μεγάλων σελίδων, συγκεκριμένα 64KiB και 32MiB, περιπλέκοντας περαιτέρω τις πολιτικές κατανομής τους. Στην διπλωματική αυτή παρουσιάζουμε την τεχνολογία eBPF και στη συνέχεια δείχνουμε πώς μπορεί να χρησιμοποιηθεί για την υλοποίηση προσαρμοσμένων πολιτικών διαχείρισης μνήμης. Συγκεκριμένα, εμπνευσμένοι από το CBMM, υλοποιούμε μέσω του eBPF μια πολιτική διαχείρισης μεγάλων σελίδων βασισμένη σε ένα cost-benefit μοντέλο. Μέσω eBPF προγραμμάτων καθοδηγούμε τον πυρήνα του Linux ώστε να επιλέξει το πιο ωφέλιμο μέγεθος μεγάλης σελίδας για μία περιοχή μνήμης. | el |
heal.abstract | With the ever growing memory needs of modern applications, the memory management subsystem of Operating Systems (OSes) faces increasing pressure. The focus has shifted to the address translation (AT) overhead, a major contributor to memory access latency, and inherent to the decade-old, yet essential, virtual memory abstraction. Thus, CPU vendors provide increasingly complex hardware caches, Translation Lookaside Buffers (TLBs), aiming to speed up this operation. In order to enhance TLB's efficiency, OS and HW cooperatively implement and support huge pages. Huge pages are virtually and physically contiguous memory areas, larger than 4KiB, that can be translated using a single TLB entry. Modern, widely adopted OSes seem to not quite achieve the expected performance benefits of huge pages, partially due to cost-unaware, opportunistic, greedy allocation policies that lead them to pitfalls. On the other hand, architectures such as ARMv8-A and RISC-V introduce new huge page sizes of 64KiB and 32MiB, further complicating huge page allocation policies. In this Thesis, we present an existing, revolutionary technology, named eBPF, and demonstrate how it can be used to implement custom policies in the Linux memory subsystem. Inspired by CBMM, we develop an eBPF-based system that guides the kernel's decision on which huge page size, if any, to allocate. Our approach determines the most beneficial huge page size based on user-defined benefits and empirically calculated, fixed system costs associated with promoting memory regions to different huge page sizes. | en |
heal.advisorName | Γκούμας, Γεώργιος | el |
heal.committeeMemberName | Γκούμας, Γεώργιος | el |
heal.committeeMemberName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Πνευματικάτος, Διονύσιος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Υπολογιστικών Συστημάτων | el |
heal.academicPublisherID | ntua | |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: