{"id":{"repo_id":"athens","oai_identifier":"oai:lib.uoa.gr:uoadl:5370592"},"canonical_url":"https://search.dev.ndltd.org/etd/athens/oai:lib.uoa.gr:uoadl:5370592","repository":{"repo_id":"athens","name":"National and Kapodistrian University of Athens","base_url":"https://pergamos.lib.uoa.gr/uoa/dl/frontend/oaipmh"},"display":{"title":"Evaluation and Performance Optimization of Virtual Memory Support for GPUs","abstract":"Οι σύγχρονες Μονάδες Επεξεργασίας Γραφικών (GPUs) βασίζονται στην υποστήριξη εικονικής μνήμης και τη σελιδοποίηση για τη διαχείριση της μνήμης τους. Ωστόσο, η επιβάρυνση της μετάφρασης εικονικών διευθύνσεων σε πραγματικές παραμένει ένα κρίσιμο σημείο συμφόρησης της απόδοσης εφαρμογών, που επιδεινώνεται από τις υψηλές επιπτώσεις των αστοχιών στην Κρυφή Μνήμη Μεταφράσεων (TLB). Ενώ οι σύγχρονες GPUs της NVIDIA υποστηρίζουν πολλαπλά μεγέθη σελίδων στο υλικό για να μετριάσουν αυτό το φαινόμενο, μέσω της εξισορρόπησης της εμβέλειας του TLB και του εσωτερικού κατακερματισμού, αυτή η δυνατότητα είναι κρυφή από τους προγραμματιστές. Προηγούμενες προσπάθειες για την αποκάλυψη ποικίλων μεγεθών σελίδων είτε βασίζονται σε προσομοιωμένα περιβάλλοντα, είτε θυσιάζουν τη συμβατότητα με τις καθιερωμένες διεπαφές προγραμματισμού (API) της CUDA. Η παρούσα διπλωματική εργασία παρουσιάζει τον σχεδιασμό, την υλοποίηση και την αξιολόγηση ενός συστήματος που εκθέτει τα εγγενή μεγέθη σελίδων υλικού με διαφάνεια προς τις εφαρμογές. Τροποποιώντας το πρόγραμμα οδήγησης πυρήνα που αφορά την ενοποιημένη διαχείριση μνήμης (UVM), εισάγουμε μια διεπαφή δυναμικής επιλογής του μεγέθους σελίδας σε επίπεδο συστήματος, χωρίς να αλλάξουμε το μοντέλο προγραμματισμού. Για την υποστήριξη εφαρμογών που βασίζονται σε ρητή διαχείριση μνήμης, αναπτύσσουμε μια δυναμική βιβλιοθήκη που τροποποιεί τις ρητές δεσμεύσεις μνήμης σε ελεγχόμενες από το σύστημα ενοποιημένης διαχείρησης μνήμης, χωρίς να απαιτείται επαναμεταγλώττιση αυτών. Αξιολογούμε τις επιπτώσεις της επιλογής μεγέθους σελίδας στην απόδοση μιας σουίτας εφαρμογών από ποικίλους επιστημονικούς κλάδους. Χρησιμοποιώντας μικροαρχιτεκτονικές μετρικές και αναλύοντας την ευαισθησία των εφαρμογών στα μεγέθη εισόδου διαφαίνεται ότι το βέλτιστο μέγεθος σελίδας εξαρτάται σε μεγάλο βαθμό από το μοτίβο πρόσβασης στη μνήμη και το φόρτο εργασίας. Αυτά τα ευρήματα παρέχουν χρήσιμες πληροφορίες για τη βελτίωση της διαχείρισης της εικονικής μνήμης σε GPUs, υποδηλώνοντας ότι η χρήση ευέλικτων μεγεθών σελίδας προάγει την αποδοτικότερη χρήση της μνήμης και εγγυάται προβλεψιμότητα σε περιβάλλοντα διαμοιρασμού μονάδων επεξεργασίας γραφικών μεταξύ πολλαπλών χρηστών.","abstract_html":"Οι σύγχρονες Μονάδες Επεξεργασίας Γραφικών (GPUs) βασίζονται στην υποστήριξη εικονικής μνήμης και τη σελιδοποίηση για τη διαχείριση της μνήμης τους. Ωστόσο, η επιβάρυνση της μετάφρασης εικονικών διευθύνσεων σε πραγματικές παραμένει ένα κρίσιμο σημείο συμφόρησης της απόδοσης εφαρμογών, που επιδεινώνεται από τις υψηλές επιπτώσεις των αστοχιών στην Κρυφή Μνήμη Μεταφράσεων (TLB). Ενώ οι σύγχρονες GPUs της NVIDIA υποστηρίζουν πολλαπλά μεγέθη σελίδων στο υλικό για να μετριάσουν αυτό το φαινόμενο, μέσω της εξισορρόπησης της εμβέλειας του TLB και του εσωτερικού κατακερματισμού, αυτή η δυνατότητα είναι κρυφή από τους προγραμματιστές. Προηγούμενες προσπάθειες για την αποκάλυψη ποικίλων μεγεθών σελίδων είτε βασίζονται σε προσομοιωμένα περιβάλλοντα, είτε θυσιάζουν τη συμβατότητα με τις καθιερωμένες διεπαφές προγραμματισμού (API) της CUDA. Η παρούσα διπλωματική εργασία παρουσιάζει τον σχεδιασμό, την υλοποίηση και την αξιολόγηση ενός συστήματος που εκθέτει τα εγγενή μεγέθη σελίδων υλικού με διαφάνεια προς τις εφαρμογές. Τροποποιώντας το πρόγραμμα οδήγησης πυρήνα που αφορά την ενοποιημένη διαχείριση μνήμης (UVM), εισάγουμε μια διεπαφή δυναμικής επιλογής του μεγέθους σελίδας σε επίπεδο συστήματος, χωρίς να αλλάξουμε το μοντέλο προγραμματισμού. Για την υποστήριξη εφαρμογών που βασίζονται σε ρητή διαχείριση μνήμης, αναπτύσσουμε μια δυναμική βιβλιοθήκη που τροποποιεί τις ρητές δεσμεύσεις μνήμης σε ελεγχόμενες από το σύστημα ενοποιημένης διαχείρησης μνήμης, χωρίς να απαιτείται επαναμεταγλώττιση αυτών. Αξιολογούμε τις επιπτώσεις της επιλογής μεγέθους σελίδας στην απόδοση μιας σουίτας εφαρμογών από ποικίλους επιστημονικούς κλάδους. Χρησιμοποιώντας μικροαρχιτεκτονικές μετρικές και αναλύοντας την ευαισθησία των εφαρμογών στα μεγέθη εισόδου διαφαίνεται ότι το βέλτιστο μέγεθος σελίδας εξαρτάται σε μεγάλο βαθμό από το μοτίβο πρόσβασης στη μνήμη και το φόρτο εργασίας. Αυτά τα ευρήματα παρέχουν χρήσιμες πληροφορίες για τη βελτίωση της διαχείρισης της εικονικής μνήμης σε GPUs, υποδηλώνοντας ότι η χρήση ευέλικτων μεγεθών σελίδας προάγει την αποδοτικότερη χρήση της μνήμης και εγγυάται προβλεψιμότητα σε περιβάλλοντα διαμοιρασμού μονάδων επεξεργασίας γραφικών μεταξύ πολλαπλών χρηστών.","abstract_has_math":false,"creators":["Τσαγκαρόπουλος Αλέξανδρος","Tsagkaropoulos Alexandros"],"institution":null,"degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2026,"date_issued":"2026","date_published":"2026","updated_at":"2026-07-24T01:02:07Z","subjects":["Θετικές Επιστήμες","Science"],"languages":["Ελληνικά","English","Greek"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["uoadl:5370592"],"render_values":[{"text":"uoadl:5370592","href":null,"code":true}]}]},"links":{"outbound_url":"https://pergamos.lib.uoa.gr/uoa/dl/object/5370592","outbound_label":"Repository record","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["Τσαγκαρόπουλος Αλέξανδρος","Tsagkaropoulos Alexandros"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2026"]},{"key":"dc:type","label":"Dc Type","values":["born_digital_postgraduate_thesis","Διπλωματική Εργασία","Postgraduate Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Θετικές Επιστήμες","Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["Ελληνικά","English","Greek"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["uoadl:5370592","https://pergamos.lib.uoa.gr/uoa/dl/object/5370592"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Οι σύγχρονες Μονάδες Επεξεργασίας Γραφικών (GPUs) βασίζονται στην υποστήριξη εικονικής μνήμης και τη σελιδοποίηση για τη διαχείριση της μνήμης τους. Ωστόσο, η επιβάρυνση της μετάφρασης εικονικών διευθύνσεων σε πραγματικές παραμένει ένα κρίσιμο σημείο συμφόρησης της απόδοσης εφαρμογών, που επιδεινώνεται από τις υψηλές επιπτώσεις των αστοχιών στην Κρυφή Μνήμη Μεταφράσεων (TLB). Ενώ οι σύγχρονες GPUs της NVIDIA υποστηρίζουν πολλαπλά μεγέθη σελίδων στο υλικό για να μετριάσουν αυτό το φαινόμενο, μέσω της εξισορρόπησης της εμβέλειας του TLB και του εσωτερικού κατακερματισμού, αυτή η δυνατότητα είναι κρυφή από τους προγραμματιστές. Προηγούμενες προσπάθειες για την αποκάλυψη ποικίλων μεγεθών σελίδων είτε βασίζονται σε προσομοιωμένα περιβάλλοντα, είτε θυσιάζουν τη συμβατότητα με τις καθιερωμένες διεπαφές προγραμματισμού (API) της CUDA. Η παρούσα διπλωματική εργασία παρουσιάζει τον σχεδιασμό, την υλοποίηση και την αξιολόγηση ενός συστήματος που εκθέτει τα εγγενή μεγέθη σελίδων υλικού με διαφάνεια προς τις εφαρμογές. Τροποποιώντας το πρόγραμμα οδήγησης πυρήνα που αφορά την ενοποιημένη διαχείριση μνήμης (UVM), εισάγουμε μια διεπαφή δυναμικής επιλογής του μεγέθους σελίδας σε επίπεδο συστήματος, χωρίς να αλλάξουμε το μοντέλο προγραμματισμού. Για την υποστήριξη εφαρμογών που βασίζονται σε ρητή διαχείριση μνήμης, αναπτύσσουμε μια δυναμική βιβλιοθήκη που τροποποιεί τις ρητές δεσμεύσεις μνήμης σε ελεγχόμενες από το σύστημα ενοποιημένης διαχείρησης μνήμης, χωρίς να απαιτείται επαναμεταγλώττιση αυτών. Αξιολογούμε τις επιπτώσεις της επιλογής μεγέθους σελίδας στην απόδοση μιας σουίτας εφαρμογών από ποικίλους επιστημονικούς κλάδους. Χρησιμοποιώντας μικροαρχιτεκτονικές μετρικές και αναλύοντας την ευαισθησία των εφαρμογών στα μεγέθη εισόδου διαφαίνεται ότι το βέλτιστο μέγεθος σελίδας εξαρτάται σε μεγάλο βαθμό από το μοτίβο πρόσβασης στη μνήμη και το φόρτο εργασίας. Αυτά τα ευρήματα παρέχουν χρήσιμες πληροφορίες για τη βελτίωση της διαχείρισης της εικονικής μνήμης σε GPUs, υποδηλώνοντας ότι η χρήση ευέλικτων μεγεθών σελίδας προάγει την αποδοτικότερη χρήση της μνήμης και εγγυάται προβλεψιμότητα σε περιβάλλοντα διαμοιρασμού μονάδων επεξεργασίας γραφικών μεταξύ πολλαπλών χρηστών.","Modern Graphics Processing Units (GPUs) rely on virtual memory abstractions and paging for Memory Management (MM). However, the overhead of address translation remains a critical performance bottleneck, exacerbated by high Translation Lookaside Buffer (TLB) miss penalties. While contemporary NVIDIA GPUs inherently support multiple page sizes in hardware to mitigate this bottleneck, by balancing TLB reach and internal fragmentation, this capability is hidden from programmers. Prior efforts to expose varied page sizes either depend on simulated environments or sacrifice compatibility with established Compute Unified Architecture (CUDA) Application Programming Interfaces (APIs). This thesis presents the design, implementation, and evaluation of an application-transparent system that exposes native hardware page sizes on real NVIDIA GPUs. By modifying the Unified Virtual Memory (UVM) kernel driver module, we introduce a system-level configuration interface to dynamically select page sizes without altering the underlying programming model. To support applications that rely on Explicit Memory Management (EMM), we further develop a dynamic interception library that seamlessly redirects EMM allocations through our modified UVM path, requiring no application recompilation. We evaluate the performance implications of page size selection across a diverse suite of General Purpose computing on Graphics Processing Units (GPGPU) workloads. Guided by microarchitectural profiling and input size sensitivity analysis, the results reveal that optimal page granularity is heavily dependent on application memory access patterns and working set sizes. These findings provide actionable insights for optimizing GPU virtual memory support, suggesting that exposing flexible page sizes can facilitate more efficient memory utilization and improved predictability in multi-tenant GPU deployments."]},{"key":"dc:title","label":"Title","values":["Evaluation and Performance Optimization of Virtual Memory Support for GPUs"]}]}],"canonical_facts":{"dc:creator":["Τσαγκαρόπουλος Αλέξανδρος","Tsagkaropoulos Alexandros"],"dc:date":["2026"],"dc:description":["Οι σύγχρονες Μονάδες Επεξεργασίας Γραφικών (GPUs) βασίζονται στην υποστήριξη εικονικής μνήμης και τη σελιδοποίηση για τη διαχείριση της μνήμης τους. Ωστόσο, η επιβάρυνση της μετάφρασης εικονικών διευθύνσεων σε πραγματικές παραμένει ένα κρίσιμο σημείο συμφόρησης της απόδοσης εφαρμογών, που επιδεινώνεται από τις υψηλές επιπτώσεις των αστοχιών στην Κρυφή Μνήμη Μεταφράσεων (TLB). Ενώ οι σύγχρονες GPUs της NVIDIA υποστηρίζουν πολλαπλά μεγέθη σελίδων στο υλικό για να μετριάσουν αυτό το φαινόμενο, μέσω της εξισορρόπησης της εμβέλειας του TLB και του εσωτερικού κατακερματισμού, αυτή η δυνατότητα είναι κρυφή από τους προγραμματιστές. Προηγούμενες προσπάθειες για την αποκάλυψη ποικίλων μεγεθών σελίδων είτε βασίζονται σε προσομοιωμένα περιβάλλοντα, είτε θυσιάζουν τη συμβατότητα με τις καθιερωμένες διεπαφές προγραμματισμού (API) της CUDA. Η παρούσα διπλωματική εργασία παρουσιάζει τον σχεδιασμό, την υλοποίηση και την αξιολόγηση ενός συστήματος που εκθέτει τα εγγενή μεγέθη σελίδων υλικού με διαφάνεια προς τις εφαρμογές. Τροποποιώντας το πρόγραμμα οδήγησης πυρήνα που αφορά την ενοποιημένη διαχείριση μνήμης (UVM), εισάγουμε μια διεπαφή δυναμικής επιλογής του μεγέθους σελίδας σε επίπεδο συστήματος, χωρίς να αλλάξουμε το μοντέλο προγραμματισμού. Για την υποστήριξη εφαρμογών που βασίζονται σε ρητή διαχείριση μνήμης, αναπτύσσουμε μια δυναμική βιβλιοθήκη που τροποποιεί τις ρητές δεσμεύσεις μνήμης σε ελεγχόμενες από το σύστημα ενοποιημένης διαχείρησης μνήμης, χωρίς να απαιτείται επαναμεταγλώττιση αυτών. Αξιολογούμε τις επιπτώσεις της επιλογής μεγέθους σελίδας στην απόδοση μιας σουίτας εφαρμογών από ποικίλους επιστημονικούς κλάδους. Χρησιμοποιώντας μικροαρχιτεκτονικές μετρικές και αναλύοντας την ευαισθησία των εφαρμογών στα μεγέθη εισόδου διαφαίνεται ότι το βέλτιστο μέγεθος σελίδας εξαρτάται σε μεγάλο βαθμό από το μοτίβο πρόσβασης στη μνήμη και το φόρτο εργασίας. Αυτά τα ευρήματα παρέχουν χρήσιμες πληροφορίες για τη βελτίωση της διαχείρισης της εικονικής μνήμης σε GPUs, υποδηλώνοντας ότι η χρήση ευέλικτων μεγεθών σελίδας προάγει την αποδοτικότερη χρήση της μνήμης και εγγυάται προβλεψιμότητα σε περιβάλλοντα διαμοιρασμού μονάδων επεξεργασίας γραφικών μεταξύ πολλαπλών χρηστών.","Modern Graphics Processing Units (GPUs) rely on virtual memory abstractions and paging for Memory Management (MM). However, the overhead of address translation remains a critical performance bottleneck, exacerbated by high Translation Lookaside Buffer (TLB) miss penalties. While contemporary NVIDIA GPUs inherently support multiple page sizes in hardware to mitigate this bottleneck, by balancing TLB reach and internal fragmentation, this capability is hidden from programmers. Prior efforts to expose varied page sizes either depend on simulated environments or sacrifice compatibility with established Compute Unified Architecture (CUDA) Application Programming Interfaces (APIs). This thesis presents the design, implementation, and evaluation of an application-transparent system that exposes native hardware page sizes on real NVIDIA GPUs. By modifying the Unified Virtual Memory (UVM) kernel driver module, we introduce a system-level configuration interface to dynamically select page sizes without altering the underlying programming model. To support applications that rely on Explicit Memory Management (EMM), we further develop a dynamic interception library that seamlessly redirects EMM allocations through our modified UVM path, requiring no application recompilation. We evaluate the performance implications of page size selection across a diverse suite of General Purpose computing on Graphics Processing Units (GPGPU) workloads. Guided by microarchitectural profiling and input size sensitivity analysis, the results reveal that optimal page granularity is heavily dependent on application memory access patterns and working set sizes. These findings provide actionable insights for optimizing GPU virtual memory support, suggesting that exposing flexible page sizes can facilitate more efficient memory utilization and improved predictability in multi-tenant GPU deployments."],"dc:identifier":["uoadl:5370592","https://pergamos.lib.uoa.gr/uoa/dl/object/5370592"],"dc:language":["Ελληνικά","English","Greek"],"dc:subject":["Θετικές Επιστήμες","Science"],"dc:title":["Evaluation and Performance Optimization of Virtual Memory Support for GPUs"],"dc:type":["born_digital_postgraduate_thesis","Διπλωματική Εργασία","Postgraduate Thesis"]},"updated_at":"2026-07-24T01:02:07Z"}