added corrections to the abstract, FAT pointer section and conclusion

This commit is contained in:
2025-04-04 14:20:56 +01:00
parent 05cb379c0c
commit a0d0ae6ec9
9 changed files with 339 additions and 290 deletions

View File

@@ -6,15 +6,16 @@
\citation{panwar_hawkeye_2019}
\citation{woodruff_cheri_2014}
\citation{woodruff_cheri_2019}
\@writefile{toc}{\contentsline {section}{Abstract}{1}{section*.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}\protected@file@percent }
\citation{panwar_hawkeye_2019}
\citation{THP}
\@writefile{toc}{\contentsline {section}{Abstract}{1}{section*.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}\protected@file@percent }
\citation{Shadow_superpages}
\citation{DirectSegment}
\citation{karakostas_redundant_2015}
\citation{chen_flexpointer_2023}
\citation{karakostas_redundant_2015}
\citation{woodruff_cheri_2019}
\@writefile{toc}{\contentsline {section}{\numberline {2}Related work}{2}{section.2}\protected@file@percent }
\newlabel{sec:org0e192da}{{2}{2}{Related work}{section.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Huge Pages}{2}{subsection.2.1}\protected@file@percent }
@@ -27,54 +28,49 @@
\citation{woodruff_cheri_2019}
\citation{woodruff_cheri_2019}
\citation{woodruff_cheri_2019}
\citation{TLBBehavoir}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Encoding Ranges as Bounds to the Pointer}{3}{subsection.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}128 bit compressed bounds}{3}{subsection.3.2}\protected@file@percent }
\newlabel{sec:128bitCompressedBounds}{{3.2}{3}{128 bit compressed bounds}{subsection.3.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Instrumenting Block-Based Allocators with Physically Contiguous Memory}{3}{subsection.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}Memory allocator design}{3}{section.4}\protected@file@percent }
\newlabel{sec:MemoryAllocator}{{4}{3}{Memory allocator design}{section.4}{}}
\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Malloc implementation}}{3}{algorithm.1}\protected@file@percent }
\newlabel{alg:malloc}{{1}{3}{Malloc implementation}{algorithm.1}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces High overview architecture}}{4}{figure.caption.3}\protected@file@percent }
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
\newlabel{fig:HighOverviewArchitecture}{{1}{4}{High overview architecture}{figure.caption.3}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Range of memory}}{4}{figure.caption.4}\protected@file@percent }
\newlabel{fig:RangeOfMemory}{{2}{4}{Range of memory}{figure.caption.4}{}}
\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Malloc implementation}}{4}{algorithm.1}\protected@file@percent }
\newlabel{alg:malloc}{{1}{4}{Malloc implementation}{algorithm.1}{}}
\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces Free implementation}}{4}{algorithm.2}\protected@file@percent }
\newlabel{alg:free}{{2}{4}{Free implementation}{algorithm.2}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Fat-pointer Address Translations using huge pages}}{4}{figure.caption.5}\protected@file@percent }
\newlabel{fig:HugePages}{{3}{4}{Fat-pointer Address Translations using huge pages}{figure.caption.5}{}}
\citation{jemalloc}
\citation{cheribsd}
\citation{Morello}
\citation{BenchmarkABI}
\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces Free implementation}}{5}{algorithm.2}\protected@file@percent }
\newlabel{alg:free}{{2}{5}{Free implementation}{algorithm.2}{}}
\citation{PerformanceCounter}
\citation{Benchmark}
\@writefile{loa}{\contentsline {algorithm}{\numberline {3}{\ignorespaces Init alloc function to create a initial 1 GB huge page}}{5}{algorithm.3}\protected@file@percent }
\newlabel{alg:initAlloc}{{3}{5}{Init alloc function to create a initial 1 GB huge page}{algorithm.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Evaluation}{5}{section.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Experiment setup}{5}{subsection.5.1}\protected@file@percent }
\citation{PerformanceCounter}
\citation{Benchmark}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Benchmarks}{6}{subsection.5.2}\protected@file@percent }
\newlabel{sec:org41c278c}{{5.2.1}{6}{Micro benchmark}{subsubsection.5.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Micro benchmark}{6}{subsubsection.5.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Benchmarks}{5}{subsection.5.2}\protected@file@percent }
\newlabel{sec:org41c278c}{{5.2.1}{5}{Micro benchmark}{subsubsection.5.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Micro benchmark}{5}{subsubsection.5.2.1}\protected@file@percent }
\newlabel{sec:org89020f2}{{5.2.2}{6}{Macro benchmark}{subsubsection.5.2.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}Macro benchmark}{6}{subsubsection.5.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Results}{6}{subsection.5.3}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces ARM performance counters}}{6}{table.caption.6}\protected@file@percent }
\newlabel{tab:org246a883}{{1}{6}{ARM performance counters}{table.caption.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Results}{7}{subsection.5.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Usability}{7}{subsection.5.4}\protected@file@percent }
\newlabel{sec:orgd6ba6f0}{{5.4}{7}{Usability}{subsection.5.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Future work}{7}{section.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Storing Offsets Directly on Pointers}{7}{subsection.6.1}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Percentage difference between the modified memory allocator against the default system memory allocator}}{7}{figure.caption.7}\protected@file@percent }
\newlabel{fig:bargraph}{{4}{7}{Percentage difference between the modified memory allocator against the default system memory allocator}{figure.caption.7}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Kmeans COZ benchmark executed against various cluster sizes}}{7}{figure.caption.8}\protected@file@percent }
\newlabel{fig:org8683315}{{5}{7}{Kmeans COZ benchmark executed against various cluster sizes}{figure.caption.8}{}}
\bibstyle{unsrt}
\bibdata{paperReferences}
\bibcite{mittal_survey_2017}{{1}{}{{}}{{}}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Percentage difference between the modified memory allocator against the default system memory allocator}}{8}{figure.caption.7}\protected@file@percent }
\newlabel{fig:bargraph}{{4}{8}{Percentage difference between the modified memory allocator against the default system memory allocator}{figure.caption.7}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Kmeans COZ benchmark executed against various cluster sizes}}{8}{figure.caption.8}\protected@file@percent }
\newlabel{fig:org8683315}{{5}{8}{Kmeans COZ benchmark executed against various cluster sizes}{figure.caption.8}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Hardware Modifications:}{8}{subsection.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{8}{section.7}\protected@file@percent }
\bibcite{panwar_hawkeye_2019}{{2}{}{{}}{{}}}
\bibcite{woodruff_cheri_2014}{{3}{}{{}}{{}}}
\bibcite{woodruff_cheri_2019}{{4}{}{{}}{{}}}
@@ -83,12 +79,20 @@
\bibcite{DirectSegment}{{7}{}{{}}{{}}}
\bibcite{karakostas_redundant_2015}{{8}{}{{}}{{}}}
\bibcite{chen_flexpointer_2023}{{9}{}{{}}{{}}}
\bibcite{jemalloc}{{10}{}{{}}{{}}}
\bibcite{cheribsd}{{11}{}{{}}{{}}}
\bibcite{Morello}{{12}{}{{}}{{}}}
\bibcite{BenchmarkABI}{{13}{}{{}}{{}}}
\bibcite{PerformanceCounter}{{14}{}{{}}{{}}}
\bibcite{Benchmark}{{15}{}{{}}{{}}}
\bibcite{TLBBehavoir}{{10}{}{{}}{{}}}
\bibcite{jemalloc}{{11}{}{{}}{{}}}
\bibcite{cheribsd}{{12}{}{{}}{{}}}
\bibcite{Morello}{{13}{}{{}}{{}}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Usability}{8}{subsection.5.4}\protected@file@percent }
\newlabel{sec:orgd6ba6f0}{{5.4}{8}{Usability}{subsection.5.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Future work}{8}{section.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Storing Offsets Directly on Pointers}{8}{subsection.6.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Hardware Modifications:}{8}{subsection.6.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{8}{section.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{References}{8}{section*.10}\protected@file@percent }
\bibcite{BenchmarkABI}{{14}{}{{}}{{}}}
\bibcite{PerformanceCounter}{{15}{}{{}}{{}}}
\bibcite{Benchmark}{{16}{}{{}}{{}}}
\newlabel{tocindent-1}{0pt}
\newlabel{tocindent0}{0pt}
\newlabel{tocindent1}{4.185pt}
@@ -97,6 +101,5 @@
\newlabel{tocindent4}{0pt}
\newlabel{tocindent5}{0pt}
\providecommand\NAT@force@numbers{}\NAT@force@numbers
\@writefile{toc}{\contentsline {section}{References}{9}{section*.10}\protected@file@percent }
\newlabel{TotPages}{{9}{9}{}{page.9}{}}
\gdef \@abspage@last{9}

View File

@@ -58,6 +58,11 @@ Dongwei Chen, Dong Tong, Chun Yang, Jiangfang Yi, and Xu~Cheng.
tagged pointers.
\newblock 20(2):1--24.
\bibitem{TLBBehavoir}
Gokul~B. Kandiraju and Anand Sivasubramaniam.
\newblock Characterizing the d-tlb behavior of spec cpu2000 benchmarks.
\newblock {\em SIGMETRICS Perform. Eval. Rev.}, 30(1):129139, June 2002.
\bibitem{jemalloc}
{JEMALLOC}.

View File

@@ -25,45 +25,45 @@ Warning--empty year in THP
Warning--empty year in karakostas_redundant_2015
Warning--empty journal in chen_flexpointer_2023
Warning--empty year in chen_flexpointer_2023
You've used 15 entries,
You've used 16 entries,
1791 wiz_defined-function locations,
522 strings with 6536 characters,
and the built_in function-call counts, 3384 in all, are:
= -- 247
> -- 203
530 strings with 6709 characters,
and the built_in function-call counts, 3631 in all, are:
= -- 269
> -- 211
< -- 3
+ -- 75
- -- 60
* -- 264
:= -- 513
add.period$ -- 37
call.type$ -- 15
change.case$ -- 15
+ -- 78
- -- 62
* -- 286
:= -- 551
add.period$ -- 40
call.type$ -- 16
change.case$ -- 16
chr.to.int$ -- 0
cite$ -- 27
duplicate$ -- 134
empty$ -- 333
format.name$ -- 60
if$ -- 736
cite$ -- 28
duplicate$ -- 143
empty$ -- 359
format.name$ -- 62
if$ -- 790
int.to.chr$ -- 0
int.to.str$ -- 15
missing$ -- 9
newline$ -- 68
num.names$ -- 10
pop$ -- 66
int.to.str$ -- 16
missing$ -- 10
newline$ -- 73
num.names$ -- 11
pop$ -- 67
preamble$ -- 1
purify$ -- 0
quote$ -- 0
skip$ -- 89
skip$ -- 93
stack$ -- 0
substring$ -- 191
swap$ -- 28
substring$ -- 218
swap$ -- 29
text.length$ -- 3
text.prefix$ -- 0
top$ -- 0
type$ -- 0
warning$ -- 12
while$ -- 25
width$ -- 17
write$ -- 128
while$ -- 27
width$ -- 18
write$ -- 139
(There were 17 warnings)

View File

@@ -1,13 +1,13 @@
# Fdb version 4
["bibtex paper"] 1743691797.52386 "paper.aux" "paper.bbl" "paper" 1743691799.22059 0
"./paperReferences.bib" 1740927020.63231 43881 89a1490784dad1fc6ac99d5562dad496 ""
["bibtex paper"] 1743772752.6196 "paper.aux" "paper.bbl" "paper" 1743772754.21184 0
"./paperReferences.bib" 1743764985.86235 45813 26a8e1c09695a94d7f7d7e673ad229c8 ""
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
"paper.aux" 1743691798.89658 7542 b79ea1cba94bca38f389744af310d596 "pdflatex"
"paper.aux" 1743772753.90955 7634 e3ca248423f988aad8615b956b665125 "pdflatex"
(generated)
"paper.bbl"
"paper.blg"
(rewritten before read)
["pdflatex"] 1743691797.61372 "paper.tex" "paper.pdf" "paper" 1743691799.22072 0
["pdflatex"] 1743772752.70293 "paper.tex" "paper.pdf" "paper" 1743772754.21196 0
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc" 1490131464 2921 8ca0eb0831f9bc5da080d3697cfe67bf ""
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_76gpa5.enc" 1490131464 2933 9ad527ce78d7c5fa0a642dead095f172 ""
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc" 1490131464 2934 a4a9158faed2e9e89c771b4e3b7fc12f ""
@@ -215,10 +215,10 @@
"diagram/TLBAccess.drawio.png" 1740922321.38286 77522 75367f218335fe386db852966a892e9b ""
"diagram/bargraph.png" 1740924635.40478 74263 65509d21744edc6c9ca02b8c67d664fb ""
"diagram/kmeans.png" 1740924635.40653 94217 5d14308c169ff296bf499805b9823aa6 ""
"paper.aux" 1743691798.89658 7542 b79ea1cba94bca38f389744af310d596 "pdflatex"
"paper.bbl" 1743691797.60985 3371 e1ba8bd3501bd6b1af1d5ca27a21f4ec "bibtex paper"
"paper.out" 1743691798.8975 3691 57df4bceeaeac4f8a0aa4a6219c57ca6 "pdflatex"
"paper.tex" 1743691793.79403 75500 6a1397c4c145a36d4baefe6abc12da97 ""
"paper.aux" 1743772753.90955 7634 e3ca248423f988aad8615b956b665125 "pdflatex"
"paper.bbl" 1743772752.69999 3588 3b324cb71c9931b08d5c6f1eb2446cbc "bibtex paper"
"paper.out" 1743772753.91034 3691 57df4bceeaeac4f8a0aa4a6219c57ca6 "pdflatex"
"paper.tex" 1743772746.19734 77060 eb619787267ca9f1a143fc540a008d93 ""
(generated)
"paper.aux"
"paper.log"

View File

@@ -491,15 +491,15 @@ INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txsys.tfm
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txex-bar.tfm
INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineTB-tlf-t1.vf
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTB-tlf-t1--base.tfm
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1.tfm
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1.tfm
INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinBiolinumT-tlf-t1.vf
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1--base.tfm
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/HighOverviewArchitecture.drawio.png
INPUT ./diagram/AllocationOverview24.png
INPUT ./diagram/AllocationOverview24.png
INPUT ./diagram/AllocationOverview24.png

View File

@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 3 APR 2025 15:49
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 4 APR 2025 14:19
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@@ -1032,52 +1032,52 @@ Package caption Info: listings package is loaded.
Package caption Info: End \AtBeginDocument code.
\c@lstlisting=\count355
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 17.28pt on input line 292.
(Font) scaled to size 17.28pt on input line 299.
LaTeX Font Info: Trying to load font information for T1+LinuxBiolinumT-TLF o
n input line 292.
n input line 299.
(/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/T1LinuxBiolinumT-TLF.fd
File: T1LinuxBiolinumT-TLF.fd 2017/03/20 (autoinst) Font definitions for T1/Lin
uxBiolinumT-TLF.
)
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
(Font) scaled to size 17.28pt on input line 292.
(Font) scaled to size 17.28pt on input line 299.
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `LinuxBiolinumT-TLF' (encoding: T1).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/b/n' will be
(Font) scaled to size 17.28pt on input line 292.
(Font) scaled to size 17.28pt on input line 299.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `LinuxLibertineT-TLF' (encoding: OT1).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.6pt on input line 292.
(Font) scaled to size 6.6pt on input line 299.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 6.6pt on input line 292.
(Font) scaled to size 6.6pt on input line 299.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 6.6pt on input line 292.
(Font) scaled to size 6.6pt on input line 299.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 6.6pt on input line 292.
(Font) scaled to size 6.6pt on input line 299.
(/usr/local/texlive/2025/texmf-dist/tex/latex/microtype/mt-msa.cfg
File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS)
)
@@ -1085,31 +1085,31 @@ File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS)
File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS)
)
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 6.6pt on input line 292.
(Font) scaled to size 6.6pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 6.6pt on input line 292.
(Font) scaled to size 6.6pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 6.6pt on input line 292.
(Font) scaled to size 6.6pt on input line 299.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 12.0pt on input line 292.
(Font) scaled to size 12.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 6.6pt on input line 292.
(Font) scaled to size 6.6pt on input line 299.
LaTeX Font Info: Trying to load font information for TS1+LinuxLibertineT-TLF
on input line 292.
on input line 299.
(/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/TS1LinuxLibertineT-TLF.
fd
@@ -1117,97 +1117,103 @@ File: TS1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for TS1/
LinuxLibertineT-TLF.
)
LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.8pt on input line 292.
(Font) scaled to size 8.8pt on input line 299.
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `LinuxLibertineT-TLF' (encoding: TS1).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
(Font) scaled to size 10.0pt on input line 292.
(Font) scaled to size 10.0pt on input line 299.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be
(Font) scaled to size 7.0pt on input line 292.
(Font) scaled to size 7.0pt on input line 299.
LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 7.0pt on input line 292.
(Font) scaled to size 7.0pt on input line 299.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
(Font) scaled to size 9.0pt on input line 292.
(Font) scaled to size 9.0pt on input line 299.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
(Font) scaled to size 10.95pt on input line 292.
(Font) scaled to size 10.95pt on input line 299.
Overfull \hbox (4.22212pt too wide) in paragraph at lines 299--299
\T1/LinuxLibertineT-TLF/m/n/9 (-20) rently, ad-vance-ments in hardware-level sy
s-tem se-cu-rity^^Vexemplified
[]
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.0pt on input line 292.
(Font) scaled to size 6.0pt on input line 299.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 6.0pt on input line 292.
(Font) scaled to size 6.0pt on input line 299.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 6.0pt on input line 292.
(Font) scaled to size 6.0pt on input line 299.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 6.0pt on input line 292.
(Font) scaled to size 6.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 6.0pt on input line 292.
(Font) scaled to size 6.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 6.0pt on input line 292.
(Font) scaled to size 6.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 6.0pt on input line 292.
(Font) scaled to size 6.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 8.0pt on input line 292.
(Font) scaled to size 8.0pt on input line 299.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 6.0pt on input line 292.
(Font) scaled to size 6.0pt on input line 299.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 9.0pt on input line 344.
(Font) scaled to size 9.0pt on input line 351.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 9.0pt on input line 344.
(Font) scaled to size 9.0pt on input line 351.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 9.0pt on input line 344.
(Font) scaled to size 9.0pt on input line 351.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 9.0pt on input line 344.
(Font) scaled to size 9.0pt on input line 351.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 9.0pt on input line 344.
(Font) scaled to size 9.0pt on input line 351.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 9.0pt on input line 344.
(Font) scaled to size 9.0pt on input line 351.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 9.0pt on input line 344.
(Font) scaled to size 9.0pt on input line 351.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 9.0pt on input line 344.
(Font) scaled to size 9.0pt on input line 351.
Overfull \hbox (5.26212pt too wide) in paragraph at lines 344--346
Overfull \hbox (5.26212pt too wide) in paragraph at lines 351--353
[]\T1/LinuxLibertineT-TLF/b/n/9 (-20) Fat pointer Based Range Ad-dresses\T1/Lin
uxLibertineT-TLF/m/n/9 (-20) : In-tro-duces fat-pointers
[]
@@ -1218,59 +1224,59 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.0pt on input line 361.
(Font) scaled to size 6.0pt on input line 383.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 36.135pt on input line 361.
LaTeX Font Info: Calculating math sizes for size <36.135> on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Calculating math sizes for size <36.135> on input line 383.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 36.135pt on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 26.37839pt on input line 361.
(Font) scaled to size 26.37839pt on input line 383.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 19.87434pt on input line 361.
(Font) scaled to size 19.87434pt on input line 383.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 36.135pt on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 26.37839pt on input line 361.
(Font) scaled to size 26.37839pt on input line 383.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 19.87434pt on input line 361.
(Font) scaled to size 19.87434pt on input line 383.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 36.135pt on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 26.37839pt on input line 361.
(Font) scaled to size 26.37839pt on input line 383.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 19.87434pt on input line 361.
(Font) scaled to size 19.87434pt on input line 383.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 36.135pt on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 26.37839pt on input line 361.
(Font) scaled to size 26.37839pt on input line 383.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 19.87434pt on input line 361.
(Font) scaled to size 19.87434pt on input line 383.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 36.135pt on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 26.37839pt on input line 361.
(Font) scaled to size 26.37839pt on input line 383.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 19.87434pt on input line 361.
(Font) scaled to size 19.87434pt on input line 383.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 36.135pt on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 26.37839pt on input line 361.
(Font) scaled to size 26.37839pt on input line 383.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 19.87434pt on input line 361.
(Font) scaled to size 19.87434pt on input line 383.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 36.135pt on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 26.37839pt on input line 361.
(Font) scaled to size 26.37839pt on input line 383.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 19.87434pt on input line 361.
(Font) scaled to size 19.87434pt on input line 383.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 36.135pt on input line 361.
(Font) scaled to size 36.135pt on input line 383.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 26.37839pt on input line 361.
(Font) scaled to size 26.37839pt on input line 383.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 19.87434pt on input line 361.
(Font) scaled to size 19.87434pt on input line 383.
[1.1{/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map}{/usr
/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_76gpa5.enc}{/usr/
local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc}{/usr/l
@@ -1278,6 +1284,19 @@ ocal/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc}
{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_nh77jq.enc}{
/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}]
Underfull \vbox (badness 10000) has occurred while \output is active []
<diagram/HighOverviewArchitecture.drawio.png, id=131, 1072.005pt x 836.12375pt>
File: diagram/HighOverviewArchitecture.drawio.png Graphic file (type png)
<use diagram/HighOverviewArchitecture.drawio.png>
Package pdftex.def Info: diagram/HighOverviewArchitecture.drawio.png used on i
nput line 483.
(pdftex.def) Requested size: 303.78008pt x 236.93262pt.
Class acmart Warning: A possible image without description on input line 487.
Underfull \vbox (badness 10000) has occurred while \output is active []
@@ -1285,114 +1304,107 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
(Font) scaled to size 9.0pt on input line 455.
(Font) scaled to size 9.0pt on input line 487.
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
(Font) scaled to size 7.0pt on input line 455.
(Font) scaled to size 7.0pt on input line 487.
[2.2]
<diagram/HighOverviewArchitecture.drawio.png, id=140, 1072.005pt x 836.12375pt>
File: diagram/HighOverviewArchitecture.drawio.png Graphic file (type png)
<use diagram/HighOverviewArchitecture.drawio.png>
Package pdftex.def Info: diagram/HighOverviewArchitecture.drawio.png used on i
nput line 476.
(pdftex.def) Requested size: 303.78008pt x 236.93262pt.
Class acmart Warning: A possible image without description on input line 480.
LaTeX Warning: `h' float specifier changed to `ht'.
<diagram/AllocationOverview24.png, id=143, 723.70375pt x 501.875pt>
<diagram/AllocationOverview24.png, id=144, 723.70375pt x 501.875pt>
File: diagram/AllocationOverview24.png Graphic file (type png)
<use diagram/AllocationOverview24.png>
Package pdftex.def Info: diagram/AllocationOverview24.png used on input line 4
97.
Package pdftex.def Info: diagram/AllocationOverview24.png used on input line 5
04.
(pdftex.def) Requested size: 202.51491pt x 140.43979pt.
Class acmart Warning: A possible image without description on input line 500.
Class acmart Warning: A possible image without description on input line 507.
LaTeX Warning: `h' float specifier changed to `ht'.
<diagram/TLBAccess.drawio.png, id=147, 773.89125pt x 945.5325pt>
Overfull \hbox (1.89948pt too wide) in paragraph at lines 511--514
\T1/LinuxLibertineT-TLF/m/n/9 (-20) In this im-ple-men-ta-tion, mem-ory ranges
are es-tab-lished us-ing bounds
[]
<diagram/TLBAccess.drawio.png, id=149, 773.89125pt x 945.5325pt>
File: diagram/TLBAccess.drawio.png Graphic file (type png)
<use diagram/TLBAccess.drawio.png>
Package pdftex.def Info: diagram/TLBAccess.drawio.png used on input line 557.
Package pdftex.def Info: diagram/TLBAccess.drawio.png used on input line 566.
(pdftex.def) Requested size: 202.51491pt x 247.43411pt.
Class acmart Warning: A possible image without description on input line 560.
Class acmart Warning: A possible image without description on input line 569.
LaTeX Warning: `h' float specifier changed to `ht'.
Underfull \vbox (badness 7221) has occurred while \output is active []
Package hyperref Info: bookmark level for unknown algorithm defaults to 0 on in
put line 604.
put line 614.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/sc' will be
(Font) scaled to size 9.0pt on input line 607.
(Font) scaled to size 9.0pt on input line 617.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.6pt on input line 608.
(Font) scaled to size 6.6pt on input line 618.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 5.5pt on input line 608.
(Font) scaled to size 5.5pt on input line 618.
[3.3]
[4.4{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_ncsllp.e
[3.3{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_ncsllp.e
nc}{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.en
c} <./diagram/HighOverviewArchitecture.drawio.png> <./diagram/AllocationOvervie
w24.png> <./diagram/TLBAccess.drawio.png>]
Overfull \hbox (1.93413pt too wide) in paragraph at lines 648--651
c}]
Overfull \hbox (1.93413pt too wide) in paragraph at lines 658--662
\T1/LinuxLibertineT-TLF/m/n/9 (-20) the free func-tion elim-i-nates the need fo
r ad-di-tional meta-data lookups
[]
[4.4 <./diagram/HighOverviewArchitecture.drawio.png> <./diagram/AllocationOverv
iew24.png> <./diagram/TLBAccess.drawio.png>]
Underfull \vbox (badness 10000) has occurred while \output is active []
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be
(Font) scaled to size 9.0pt on input line 800.
[5.5]
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be
(Font) scaled to size 9.0pt on input line 789.
Underfull \vbox (badness 10000) has occurred while \output is active []
[6.6]
<diagram/bargraph.png, id=199, 1156.32pt x 722.7pt>
<diagram/bargraph.png, id=196, 1156.32pt x 722.7pt>
File: diagram/bargraph.png Graphic file (type png)
<use diagram/bargraph.png>
Package pdftex.def Info: diagram/bargraph.png used on input line 825.
Package pdftex.def Info: diagram/bargraph.png used on input line 836.
(pdftex.def) Requested size: 455.6624pt x 284.78517pt.
Class acmart Warning: A possible image without description on input line 827.
Class acmart Warning: A possible image without description on input line 838.
LaTeX Warning: `h' float specifier changed to `ht'.
<./diagram/kmeans.png, id=201, 1011.78pt x 578.16pt>
[6.6]
<./diagram/kmeans.png, id=205, 1011.78pt x 578.16pt>
File: ./diagram/kmeans.png Graphic file (type png)
<use ./diagram/kmeans.png>
Package pdftex.def Info: ./diagram/kmeans.png used on input line 858.
Package pdftex.def Info: ./diagram/kmeans.png used on input line 869.
(pdftex.def) Requested size: 265.2637pt x 151.57959pt.
Overfull \hbox (24.11621pt too wide) in paragraph at lines 858--859
Overfull \hbox (24.11621pt too wide) in paragraph at lines 869--870
[][]
[]
Class acmart Warning: A possible image without description on input line 860.
Class acmart Warning: A possible image without description on input line 871.
Underfull \vbox (badness 10000) has occurred while \output is active []
@@ -1401,20 +1413,15 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
[7.7]
[7.7 <./diagram/bargraph.png> <./diagram/kmeans.png>]
Underfull \vbox (badness 1895) has occurred while \output is active []
Underfull \hbox (badness 10000) in paragraph at lines 929--936
[]
(./paper.bbl
Underfull \vbox (badness 10000) has occurred while \output is active []
[8.8 <./diagram/bargraph.png> <./diagram/kmeans.png>]
Underfull \hbox (badness 2443) in paragraph at lines 85--87
[8.8]
Underfull \hbox (badness 2443) in paragraph at lines 90--92
[]\T1/LinuxLibertineT-TLF/m/n/7 (+20) CHERI-allocator/benchmarks/benchmarks/Str
essTestMalloc/glibc-bench.c at
[]
@@ -1434,7 +1441,7 @@ Class acmart Warning: CCS concepts are mandatory for papers over two pages.
Overfull \vbox (1.54099pt too high) has occurred while \output is active []
Overfull \vbox (1.152pt too high) has occurred while \output is active []
(/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-pdfdoc.def
@@ -1452,13 +1459,13 @@ Package rerunfilecheck Info: File `paper.out' has not changed.
(rerunfilecheck) Checksum: 57DF4BCEEAEAC4F8A0AA4A6219C57CA6;3691.
)
Here is how much of TeX's memory you used:
23983 strings out of 473190
393052 string characters out of 5715801
969812 words of memory out of 5000000
46167 multiletter control sequences out of 15000+600000
768135 words of font info for 440 fonts, out of 8000000 for 9000
23990 strings out of 473190
393203 string characters out of 5715801
963407 words of memory out of 5000000
46170 multiletter control sequences out of 15000+600000
768506 words of font info for 442 fonts, out of 8000000 for 9000
1302 hyphenation exceptions out of 8191
90i,17n,131p,1002b,774s stack positions out of 10000i,1000n,20000p,200000b,200000s
90i,16n,131p,1002b,820s stack positions out of 10000i,1000n,20000p,200000b,200000s
</usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/LibertineMathMI.
pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinu
mT.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiol
@@ -1469,10 +1476,10 @@ tine/LinLibertineTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/
libertine/LinLibertineTI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/pu
blic/newtx/NewTXMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/n
ewtx/txsys.pfb>
Output written on paper.pdf (9 pages, 701927 bytes).
Output written on paper.pdf (9 pages, 701276 bytes).
PDF statistics:
288 PDF objects out of 1000 (max. 8388607)
239 compressed objects within 3 object streams
60 named destinations out of 1000 (max. 500000)
292 PDF objects out of 1000 (max. 8388607)
243 compressed objects within 3 object streams
61 named destinations out of 1000 (max. 500000)
114906 words of extra memory for PDF output out of 128383 (max. 10000000)

Binary file not shown.

View File

@@ -210,26 +210,33 @@
%% The abstract is a short summary of the work to be presented in the
%% article.
\begin{abstract}
The increasing disparity between application workloads and the capacity of s (TLB)
has prompted researchers to explore innovative solutions to mitigate this gap. One such approach involves
leveraging physically contiguous memory and the use of huge pages to optimize TLB utilization. Huge pages,
which group multiple smaller pages into larger ones, reduce TLB miss rates by decreasing the number of entries
required in the TLB, thus improving overall performance. Concurrently, advancements in hardware-level system
security, exemplified by the Capability Hardware Enhanced RISC Instructions (CHERI) architecture, offer
additional opportunities for improving memory management and security.
% The increasing disparity between application workloads and the capacity of s (TLB)
% has prompted researchers to explore innovative solutions to mitigate this gap. One such approach involves
% leveraging physically contiguous memory and the use of huge pages to optimize TLB utilization. Huge pages,
% which group multiple smaller pages into larger ones, reduce TLB miss rates by decreasing the number of entries
% required in the TLB, thus improving overall performance. Concurrently, advancements in hardware-level system
% security, exemplified by the Capability Hardware Enhanced RISC Instructions (CHERI) architecture, offer
% additional opportunities for improving memory management and security.
CHERI introduces capability-based addressing, a novel approach that enhances system security by
associating capabilities with memory pointers. These capabilities restrict access to memory regions,
thereby fortifying the system against various security threats. Importantly, the mechanisms implemented in
CHERI for enforcing memory protection can also serve as accelerators for standard user-space memory allocators.
By leveraging capability-based addressing, memory allocators can efficiently manage memory resources, ensure
robust security measures are in place, and potentially enhance performance through the integration of huge pages,
further improving TLB efficiency and memory handling.
% CHERI introduces capability-based addressing, a novel approach that enhances system security by
% associating capabilities with memory pointers. These capabilities restrict access to memory regions,
% thereby fortifying the system against various security threats. Importantly, the mechanisms implemented in
% CHERI for enforcing memory protection can also serve as accelerators for standard user-space memory allocators.
% By leveraging capability-based addressing, memory allocators can efficiently manage memory resources, ensure
% robust security measures are in place, and potentially enhance performance through the integration of huge pages,
% further improving TLB efficiency and memory handling.
Through our evaluation using both micro and macro benchmarks,
we show that our allocator can reduce TLB misses by up to 90\%,
leading to substantial improvements in wall clock runtimes for memory-intensive
applications.
% Through our evaluation using both micro and macro benchmarks,
% we show that our allocator can reduce TLB misses by up to 90\%,
% leading to substantial improvements in wall clock runtimes for memory-intensive
% applications.
The increasing disparity between application workloads and the capacity of translation lookaside buffers (TLBs) has prompted researchers
to explore solutions to mitigate the extra clock cycles incurred during a TLB miss. One such approach involves leveraging physically contiguous memory
and the use of huge pages. Concurrently, advancements in hardware-level system security—exemplified by the Capability Hardware
Enhanced RISC Instructions (CHERI) architecture—offer additional opportunities for improving TLB performance. CHERI introduces
capability-based addressing, a novel approach that enhances system security by associating capabilities with memory pointers. By leveraging capability-based
addressing, memory allocators can integrate block-based allocations within huge pages. Through our evaluation using both micro and macro benchmarks, we show that
our allocator can reduce TLB misses by up to 90\%, leading to improvements in wall clock runtimes for memory-intensive applications.
\end{abstract}
%%
@@ -498,19 +505,19 @@ number of TLB entries required.
\caption{Range of memory}
\label{fig:RangeOfMemory}
\end{figure}
Integrating range bounds directly into FAT-pointers enables the CHERI architecture
to enforce memory access restrictions at the pointer level thus allowing
tracking of memory ranges on a pointer level. In this implementation, memory ranges are established using
% Integrating range bounds directly into FAT-pointers enables the CHERI architecture
% to enforce memory access restrictions at the pointer level thus allowing
% tracking of memory ranges on a pointer level.
In this implementation, memory ranges are established using
bounds encoded within the FAT-pointer, adhering to the CHERI
128-bit bounds compression scheme~\cite{woodruff_cheri_2019}.
CHERI 128-bit bounds compression scheme~\cite{woodruff_cheri_2019}.
Figure \ref{fig:RangeOfMemory} illustrates a straightforward use-case in which the dark pink line represents a single,
large contiguous memory area, or huge page. Within this huge page, the orange and blue lines indicate
two separate memory allocations equivalent to invoking malloc twice to allocate memory in distinct regions.
This scenario simulates a block-based memory allocator operating within the confines of the huge page.
The allocations use the bounds encoded in the FAT-pointer, ensuring tracking of the allocated memory regions.
By using the FAT-pointer bounds, this method maintains the
integrity and contiguity of the allocated blocks within the huge page.
By using the CHERI bounds, this method maintains the contiguity of the allocated blocks within the huge page.
\subsection{128 bit compressed bounds}
\label{sec:128bitCompressedBounds}
@@ -538,12 +545,14 @@ eliminating the need for multiple TLB entries for each allocation.
One key analysis of CHERI CC highlights that allocators like Jemalloc typically allocate objects under
512 bytes. When an objects bounds cannot be precisely represented, padding is required to ensure
memory safety. However, it has been observed that Jemalloc rarely needs more than 6 bits to store the
memory safety. However, it has been observed that Jemalloc rarely needs more than 6 bits~\cite{woodruff_cheri_2019} to store the
exponent values within compressed bounds.
This means that the default behavior of most allocators, such as Jemalloc, would allow precise
representation of bounds within a FAT-pointer. These pointers can then be repurposed as memory ranges
in custom memory allocators, offering a more flexible alternative to fixed-size TLB entries.
This means that the default behavior of allocators such as Jemalloc, would allow precise
representation of bounds within CHERI CC. With our implementation rather than using
fixed size TLB entries we use the CHERI CC bounds to be repurposed to encode dynamic sized addresses ranges.
% These pointers can then be repurposed as memory ranges
% in custom memory allocators, offering a more flexible alternative to fixed-size TLB entries.
% \subsection{Creation of Physically Contiguous Memory Ranges}
@@ -562,18 +571,19 @@ Traditional address translation methods rely on hierarchical
structures to map virtual addresses to physical addresses.
This often requires multiple entries to handle different
memory segments, which increases overhead and adds complexity
to the translation process. In contrast, Our approach
to the translation process~\cite{TLBBehavoir}. In contrast, Our approach
simplifies this by using a single TLB
entry to translate multiple addresses within a contiguous memory
range. This reduces the number of TLB entries needed, making the
translation process more efficient and less complex.
By consolidating address translations into a single TLB entry,
this method cuts down on the overhead of managing many entries.
the FAT Based Address cuts down on the overhead of managing many entries.
It also takes advantage of the bounds encoded within fat-pointers
to track and access memory more efficiently. This streamlined
approach allows for precise and effective memory management,
especially within large, contiguous memory regions like huge pages.
to track and access memory.
% This streamlined (TODO)
% approach allows for precise and effective memory management,
% especially within large, contiguous memory regions like huge pages.
Overall, it simplifies memory operations while improving performance
and reduces TLB overhead by reducing TLB walks.
@@ -593,12 +603,12 @@ data structures and metadata required for efficient memory management. The mallo
responsible for allocating a contiguous block of memory of a specified size, while the free
function deallocates the memory, returning it to the pool for future use.
A notable feature of this malloc implementation is its compatibility with kernel modules,
where it can be integrated as an alternative to the mmap system call. This integration
ensures that memory allocations are physically contiguous. By providing physically contiguous
memory blocks, this allocator can serve as a foundational layer for standard block-based allocators,
such as Jemalloc, enabling them to operate with significantly lesser L1 TLB misses with programs with heavy memory usage with smaller allocations where physical memory
contiguity is essential.
% A notable feature of this malloc implementation is its compatibility with kernel modules,
% where it can be integrated as an alternative to the mmap system call. This integration
% ensures that memory allocations are physically contiguous. By providing physically contiguous
% memory blocks, this allocator can serve as a foundational layer for standard block-based allocators,
% such as Jemalloc, enabling them to operate with significantly lesser L1 TLB misses with programs with heavy memory usage with smaller allocations where physical memory
% contiguity is essential.
\begin{algorithm}
\caption{Malloc implementation}
@@ -646,8 +656,9 @@ efficient memory management but also demonstrates a practical usecase of huge pa
the corresponding memory region from the address space, ensuring efficient and accurate memory management.
By extracting the bounds and size directly from the FAT-pointer, the free function eliminates the need
for additional metadata lookups or complex data structures, streamlining the deallocation process.
This approach not only enhances performance but also reduces the risk of memory leaks or fragmentation.
for additional metadata lookups or complex data structures.
% , streamlining the deallocation process.
% This approach not only enhances performance but also reduces the risk of memory leaks or fragmentation.
@@ -857,7 +868,7 @@ bottlenecked by factors such as computation or I/O rather than memory translatio
\centering
\includegraphics[width=1.1\linewidth]{./diagram/kmeans.png}
\caption{\label{fig:org8683315}Kmeans COZ benchmark executed against various cluster sizes}
\end{figure}
\end{figure}
The K-means algorithm was executed with varying cluster sizes to evaluate the performance difference
between the FAT pointer allocator and the baseline allocator as the workload scales. This analysis
@@ -921,19 +932,23 @@ CHERI capabilities allow pointers to carry metadata about memory bounds, providi
By encoding the offset and bounds within the pointer, the system can directly access memory without needing intermediate translations via the TLB.
This enables the implementation of a block-based allocator that can efficiently manage memory allocations and deallocations within defined bounds.
Bypassing the TLB in RISC-V Tooba.
\subsection{Hardware Modifications:}
The Bluespec design of the RISC-V processor will be modified to allow certain memory operations to bypass the TLB. This means that when a pointer with encoded offset and bounds is used, the system can directly compute the physical address from the capability information.
This modification reduces the dependency on the TLB, decreasing latency and improving performance, especially for frequent memory operations.
\section{Conclusion} %Title of the Conclusion
This paper addresses the growing disparity between application workloads and the capacity of s (TLBs).
To mitigate this gap, it proposes leveraging physically contiguous memory to reduce TLB walks. Additionally,
the report explores advancements in system security, particularly through the Capability Hardware Enhanced RISC Instructions (CHERI)
architecture. CHERI's capability-based addressing enhances system security by associating capabilities with memory pointers,
restricting access to memory regions, and thus protecting against various security threats. Importantly, these mechanisms
can also improve the reduction of TLB walks to memory allocators by using CHERI bounds while maintaining CHERI's security guarantees.
This paper addresses the growing disparity between application workloads and the capacity of TLBs.
To mitigate this gap, we proposed leveraging physically contiguous memory with CHERI bounds to reduce TLB walks.
We designed a memory allocator which uses huge pages with CHERI CC scheme to track allocations within the
allocated huge page. This approach has helped reduce the number of TLB entries needed while using bounds
to minimize fragmentation.
% Additionally,
% the report explores advancements in system security, particularly through the Capability Hardware Enhanced RISC Instructions (CHERI)
% architecture. CHERI's capability-based addressing enhances system security by associating capabilities with memory pointers,
% restricting access to memory regions, and thus protecting against various security threats. Importantly, these mechanisms
% can also improve the reduction of TLB walks to memory allocators by using CHERI bounds while maintaining CHERI's security guarantees.
\newline
Comprehensive benchmarking demonstrates that the allocator reduces TLB misses by up to 90\%,
leading to substantial performance gains in memory-intensive workloads, though the improvements are less pronounced
for larger, computation-heavy applications. These results highlight the allocator's potential to advance memory management

View File

@@ -518,4 +518,23 @@ keywords = {tanslation lookaside buffer, virtual memory}
file = {Arm Architecture Reference Manual for A-profile architecture:/Users/akilan/Zotero/storage/BVZSP7HA/latest.html:text/html},
}
@article{TLBBehavoir,
author = {Kandiraju, Gokul B. and Sivasubramaniam, Anand},
title = {Characterizing the d-TLB behavior of SPEC CPU2000 benchmarks},
year = {2002},
issue_date = {June 2002},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {30},
number = {1},
issn = {0163-5999},
url = {https://doi.org/10.1145/511399.511351},
doi = {10.1145/511399.511351},
abstract = {Despite the numerous optimization and evaluation studies that have been conducted with TLBs over the years, there is still a deficiency in an indepth understanding of TLB characteristics from an application angle. This paper presents a detailed characterization study of the TLB behavior of the SPEC CPU2000 benchmark suite. The contributions of this work are in identifying important application characteristics for TLB studies, quantifying the SPEC2000 application behavior for these characteristics, as well as making pronouncements and suggestions for future research based on these results.Around one-fourth of the SPEC2000 applications (ammp, apsi, galgel, lucas, mcf, twolf and vpr) have significant TLB missrates. Both capacity and associativity are influencing factors on miss-rates, though they do not necessarily go hand-in-hand. Multi-level TLBs are definitely useful for these applications in cutting down access times without significant miss rate degradation. Superpaging to combine TLB entries may not be rewarding for many of these applications. Software management of TLBs in terms of determining what entries to prefetch, what entries to replace, and what entries to pin has a lot of potential to cut down miss rates considerably. Specifically, the potential benefits of prefetching TLB entries is examined, and Distance Prefetching is shown to give good prediction accuracy for these applications.},
journal = {SIGMETRICS Perform. Eval. Rev.},
month = jun,
pages = {129139},
numpages = {11}
}