HEAL DSpace

User-space guided memory management with eBPF

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

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


Αρχεία σε αυτό το τεκμήριο

Αρχεία σε αυτό το τεκμήριο

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα