Details

Primerjava podatkovnih struktur za hranjenje pomnilniških oznak
ID Kristan, Matej (Author), ID Mihelič, Jurij (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (1,14 MB)
MD5: F8AF19B912CAA8D1C93AC31567629B2C

Abstract
V diplomskem delu so proučeni različni pristopi k programskemu označevanju pomnilnika ter njihove časovne in prostorske lastnosti. Za primerjavo so implementirane štiri podatkovne strukture: senčni pomnilnik, dvonivojska tabela, AVL drevo in kukavičja zgoščevalna tabela. Vse implementacije uporabljajo enoten vmesnik in skupno simulirano pomnilniško okolje, kar omogoča primerljivo izvajanje meritev. Pri posameznih pristopih so analizirane časovna zahtevnost operacij označevanja, preverjanja in sproščanja pomnilnika ter prostorska režija. Rezultati omogočajo primerjavo primernosti posameznih podatkovnih struktur glede na različne vzorce uporabe pomnilnika. Senčni pomnilnik omogoča najpreprostejše in najhitrejše preverjanje, vendar zahteva prostor za celoten pokriti naslovni prostor. Dvonivojska tabela zmanjša prostorsko porabo pri redko uporabljenem naslovnem prostoru, medtem ko AVL drevo in kukavičja zgoščevalna tabela shranjujeta informacije predvsem za dejansko uporabljene pomnilniške bloke. Delo tako pokaže kompromis med časovno zahtevnostjo, prostorsko režijo in načinom organizacije oznak pri programskih izvedbah označevanja pomnilnika.

Language:Slovenian
Keywords:Varnost pomnilnika, označevanje pomnilnika, ARM MTE, senčni pomnilnik, dvonivojska tabela, AVL drevo, Kukavičja zgoščevalna tabela, podatkovne strukture
Work type:Bachelor thesis/paper
Organization:FRI - Faculty of Computer and Information Science
Year:2026
PID:20.500.12556/RUL-187783 This link opens in a new window
Publication date in RUL:14.09.2026
Views:5
Downloads:2
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:English
Title:Comparison of data structures for storing memory tags
Abstract:
This thesis examines various approaches to software-based memory tagging, along with their time and space characteristics. Four data structures were implemented for comparison: shadow memory, a two-level table, an AVL tree, and a Cuckoo hash table. All implementations utilize a unified interface and a shared simulated memory environment, enabling comparable performance measurements. For each approach, the time complexity of tagging, checking, and untagging operations is analyzed, as is the memory overhead. The results allow for a comparison of the suitability of each data structure based on different memory usage patterns. Shadow memory offers the simplest and fastest checking mechanism but requires space to cover the entire address range. A two-level table reduces space consumption when the address space is sparsely used, whereas the AVL tree and Cuckoo hash table store information primarily for the memory blocks actually in use. Thus, the thesis demonstrates the trade-offs between time complexity, space overhead, and tag organization methods in software-based memory tagging implementations.

Keywords:Memory safety, memory tagging, ARM MTE, shadow memory, two-page table, AVL tree, Cuckoo hash table, data structures

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back