fixed most single changes
This commit is contained in:
@@ -6,23 +6,26 @@
|
||||
\citation{panwar_hawkeye_2019}
|
||||
\citation{woodruff_cheri_2014}
|
||||
\citation{woodruff_cheri_2019}
|
||||
\citation{TLBReach}
|
||||
\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 }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Related work}{1}{section.2}\protected@file@percent }
|
||||
\newlabel{sec:org0e192da}{{2}{1}{Related work}{section.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Huge Pages}{1}{subsection.2.1}\protected@file@percent }
|
||||
\citation{Shadow_superpages}
|
||||
\citation{DirectSegment}
|
||||
\citation{karakostas_redundant_2015}
|
||||
\citation{woodruff_cheri_2019}
|
||||
\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 }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Direct Segment}{2}{subsection.2.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Range Memory Mapping (RMM)}{2}{subsection.2.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}CHERI}{2}{subsection.2.4}\protected@file@percent }
|
||||
\newlabel{sec:orgbf2eaac}{{2.4}{2}{CHERI}{subsection.2.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}CHERI CC}{2}{subsection.2.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Fat Address Translations}{2}{section.3}\protected@file@percent }
|
||||
\newlabel{sec:FatPointerTranslations}{{3}{2}{Fat Address Translations}{section.3}{}}
|
||||
\citation{woodruff_cheri_2019}
|
||||
@@ -37,9 +40,9 @@
|
||||
\newlabel{fig:RangeOfMemory}{{2}{3}{Range of memory}{figure.caption.4}{}}
|
||||
\@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}{4}{subsection.3.3}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces FAT Address Translations using huge pages}}{4}{figure.caption.5}\protected@file@percent }
|
||||
\newlabel{fig:HugePages}{{3}{4}{FAT Address Translations using huge pages}{figure.caption.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Instrumenting Block-Based Allocators with Physically Contiguous Memory}{4}{subsection.3.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Memory allocator design}{4}{section.4}\protected@file@percent }
|
||||
\newlabel{sec:MemoryAllocator}{{4}{4}{Memory allocator design}{section.4}{}}
|
||||
\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Malloc implementation}}{4}{algorithm.1}\protected@file@percent }
|
||||
@@ -52,6 +55,8 @@
|
||||
\citation{BenchmarkABI}
|
||||
\citation{PerformanceCounter}
|
||||
\citation{Benchmark}
|
||||
\citation{singh1993}
|
||||
\citation{holt1995}
|
||||
\@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 }
|
||||
@@ -59,12 +64,10 @@
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Experiment setup}{5}{subsection.5.1}\protected@file@percent }
|
||||
\newlabel{sec:Experiment}{{5.1}{5}{Experiment setup}{subsection.5.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Benchmarks}{5}{subsection.5.2}\protected@file@percent }
|
||||
\newlabel{sec:Micro}{{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:Micro}{{5.2.1}{5}{Micro benchmark}{subsubsection.5.2.1}{}}
|
||||
\newlabel{sec:Macro}{{5.2.2}{5}{Macro benchmark}{subsubsection.5.2.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}Macro benchmark}{5}{subsubsection.5.2.2}\protected@file@percent }
|
||||
\citation{singh1993}
|
||||
\citation{holt1995}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Results}{6}{subsection.5.3}\protected@file@percent }
|
||||
\newlabel{sec:Results}{{5.3}{6}{Results}{subsection.5.3}{}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces ARM performance counters}}{6}{table.caption.6}\protected@file@percent }
|
||||
@@ -85,13 +88,6 @@
|
||||
\bibcite{karakostas_redundant_2015}{{8}{}{{}}{{}}}
|
||||
\bibcite{chen_flexpointer_2023}{{9}{}{{}}{{}}}
|
||||
\bibcite{jemalloc}{{10}{}{{}}{{}}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Analysis}{8}{subsection.5.4}\protected@file@percent }
|
||||
\newlabel{sec:Analysis}{{5.4}{8}{Analysis}{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{cheribsd}{{11}{}{{}}{{}}}
|
||||
\bibcite{Morello}{{12}{}{{}}{{}}}
|
||||
\bibcite{BenchmarkABI}{{13}{}{{}}{{}}}
|
||||
@@ -107,5 +103,9 @@
|
||||
\newlabel{tocindent4}{0pt}
|
||||
\newlabel{tocindent5}{0pt}
|
||||
\providecommand\NAT@force@numbers{}\NAT@force@numbers
|
||||
\newlabel{TotPages}{{9}{9}{}{page.9}{}}
|
||||
\gdef \@abspage@last{9}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Analysis}{8}{subsection.5.4}\protected@file@percent }
|
||||
\newlabel{sec:Analysis}{{5.4}{8}{Analysis}{subsection.5.4}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion}{8}{section.6}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{References}{8}{section*.10}\protected@file@percent }
|
||||
\newlabel{TotPages}{{8}{8}{}{page.8}{}}
|
||||
\gdef \@abspage@last{8}
|
||||
|
||||
@@ -13,6 +13,7 @@ Warning--entry type for "Morello" isn't style-file defined
|
||||
--line 507 of file paperReferences.bib
|
||||
Warning--entry type for "PerformanceCounter" isn't style-file defined
|
||||
--line 514 of file paperReferences.bib
|
||||
Warning--I didn't find a database entry for "TLBReach"
|
||||
Warning--empty journal in mittal_survey_2017
|
||||
Warning--empty year in mittal_survey_2017
|
||||
Warning--empty year in panwar_hawkeye_2019
|
||||
@@ -27,7 +28,7 @@ Warning--empty journal in chen_flexpointer_2023
|
||||
Warning--empty year in chen_flexpointer_2023
|
||||
You've used 17 entries,
|
||||
1791 wiz_defined-function locations,
|
||||
533 strings with 6851 characters,
|
||||
535 strings with 6867 characters,
|
||||
and the built_in function-call counts, 3698 in all, are:
|
||||
= -- 273
|
||||
> -- 215
|
||||
@@ -66,4 +67,4 @@ warning$ -- 12
|
||||
while$ -- 27
|
||||
width$ -- 19
|
||||
write$ -- 151
|
||||
(There were 17 warnings)
|
||||
(There were 18 warnings)
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Fdb version 4
|
||||
["bibtex paper"] 1744455340.75803 "paper.aux" "paper.bbl" "paper" 1744456830.74161 0
|
||||
["bibtex paper"] 1744984608.02035 "paper.aux" "paper.bbl" "paper" 1744984609.67666 0
|
||||
"./paperReferences.bib" 1744390239.54673 46323 d7b94a445857170fc1233321d0322eaa ""
|
||||
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
|
||||
"paper.aux" 1744456830.4036 7943 3a71d8669c9ed74685c0a88ee54b183b "pdflatex"
|
||||
"paper.aux" 1744984609.35312 7728 b66dfce8e17c5b93218ba035ccc3761d "pdflatex"
|
||||
(generated)
|
||||
"paper.bbl"
|
||||
"paper.blg"
|
||||
(rewritten before read)
|
||||
["pdflatex"] 1744456829.19242 "paper.tex" "paper.pdf" "paper" 1744456830.74178 0
|
||||
["pdflatex"] 1744984608.10722 "paper.tex" "paper.pdf" "paper" 1744984609.67678 0
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc" 1558214095 7693 0f2dce6d313c82989ec3a67fc24df2a0 ""
|
||||
"/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 ""
|
||||
@@ -219,10 +219,10 @@
|
||||
"diagram/TLBAccess.drawio.png" 1744196148.80543 77522 75367f218335fe386db852966a892e9b ""
|
||||
"diagram/bargraph.png" 1744196148.80607 74263 65509d21744edc6c9ca02b8c67d664fb ""
|
||||
"diagram/kmeans.png" 1744196148.80901 94217 5d14308c169ff296bf499805b9823aa6 ""
|
||||
"paper.aux" 1744456830.4036 7943 3a71d8669c9ed74685c0a88ee54b183b "pdflatex"
|
||||
"paper.bbl" 1744455340.84361 3824 3a7d4db0e425f84ef7bb98164f0eac8f "bibtex paper"
|
||||
"paper.out" 1744456830.40439 3686 15f71b74083c4eefc68ea70789a0645a "pdflatex"
|
||||
"paper.tex" 1744455674.22027 80592 8505b39cbc5a5d440ba01cdea5712579 ""
|
||||
"paper.aux" 1744984609.35312 7728 b66dfce8e17c5b93218ba035ccc3761d "pdflatex"
|
||||
"paper.bbl" 1744984608.10415 3824 3a7d4db0e425f84ef7bb98164f0eac8f "bibtex paper"
|
||||
"paper.out" 1744984609.35401 3223 c644626d6f355ca6b33284610ee86662 "pdflatex"
|
||||
"paper.tex" 1744984604.67798 84275 6d13323418da536bb01ae02ed8ceb219 ""
|
||||
(generated)
|
||||
"paper.aux"
|
||||
"paper.log"
|
||||
|
||||
@@ -505,11 +505,14 @@ INPUT ./diagram/AllocationOverview24.png
|
||||
INPUT ./diagram/AllocationOverview24.png
|
||||
INPUT ./diagram/AllocationOverview24.png
|
||||
INPUT ./diagram/AllocationOverview24.png
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1.tfm
|
||||
INPUT ./diagram/TLBAccess.drawio.png
|
||||
INPUT ./diagram/TLBAccess.drawio.png
|
||||
INPUT ./diagram/TLBAccess.drawio.png
|
||||
INPUT ./diagram/TLBAccess.drawio.png
|
||||
INPUT ./diagram/TLBAccess.drawio.png
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineTI-tlf-t1.vf
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1--base.tfm
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-sc-t1.tfm
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-t1.tfm
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-t1.tfm
|
||||
@@ -528,14 +531,14 @@ INPUT /usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-4.tfm
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinBiolinumTI-tlf-t1.vf
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1--base.tfm
|
||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/bargraph.png
|
||||
INPUT ./diagram/kmeans.png
|
||||
INPUT ./diagram/kmeans.png
|
||||
INPUT ./diagram/kmeans.png
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 12 APR 2025 12:20
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 18 APR 2025 14:56
|
||||
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 299.
|
||||
(Font) scaled to size 17.28pt on input line 307.
|
||||
LaTeX Font Info: Trying to load font information for T1+LinuxBiolinumT-TLF o
|
||||
n input line 299.
|
||||
n input line 307.
|
||||
|
||||
(/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 299.
|
||||
(Font) scaled to size 17.28pt on input line 307.
|
||||
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 299.
|
||||
(Font) scaled to size 17.28pt on input line 307.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
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 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 6.6pt on input line 299.
|
||||
(Font) scaled to size 6.6pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 12.0pt on input line 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 8.8pt on input line 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 6.6pt on input line 299.
|
||||
(Font) scaled to size 6.6pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 8.8pt on input line 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 6.6pt on input line 299.
|
||||
(Font) scaled to size 6.6pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 8.8pt on input line 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 6.6pt on input line 299.
|
||||
(Font) scaled to size 6.6pt on input line 307.
|
||||
(/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 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 8.8pt on input line 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 6.6pt on input line 299.
|
||||
(Font) scaled to size 6.6pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 8.8pt on input line 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 6.6pt on input line 299.
|
||||
(Font) scaled to size 6.6pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 8.8pt on input line 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 6.6pt on input line 299.
|
||||
(Font) scaled to size 6.6pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 299.
|
||||
(Font) scaled to size 12.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 8.8pt on input line 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 6.6pt on input line 299.
|
||||
(Font) scaled to size 6.6pt on input line 307.
|
||||
LaTeX Font Info: Trying to load font information for TS1+LinuxLibertineT-TLF
|
||||
on input line 299.
|
||||
on input line 307.
|
||||
|
||||
(/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/TS1LinuxLibertineT-TLF.
|
||||
fd
|
||||
@@ -1117,160 +1117,158 @@ 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 299.
|
||||
(Font) scaled to size 8.8pt on input line 307.
|
||||
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 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
|
||||
(Font) scaled to size 10.0pt on input line 299.
|
||||
(Font) scaled to size 10.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be
|
||||
(Font) scaled to size 7.0pt on input line 299.
|
||||
(Font) scaled to size 7.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 7.0pt on input line 299.
|
||||
(Font) scaled to size 7.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 299.
|
||||
(Font) scaled to size 9.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
|
||||
(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
|
||||
[]
|
||||
|
||||
(Font) scaled to size 10.95pt on input line 307.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 6.0pt on input line 299.
|
||||
(Font) scaled to size 6.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 6.0pt on input line 299.
|
||||
(Font) scaled to size 6.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 6.0pt on input line 299.
|
||||
(Font) scaled to size 6.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 6.0pt on input line 299.
|
||||
(Font) scaled to size 6.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 6.0pt on input line 299.
|
||||
(Font) scaled to size 6.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 6.0pt on input line 299.
|
||||
(Font) scaled to size 6.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 6.0pt on input line 299.
|
||||
(Font) scaled to size 6.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 8.0pt on input line 299.
|
||||
(Font) scaled to size 8.0pt on input line 307.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 6.0pt on input line 299.
|
||||
(Font) scaled to size 6.0pt on input line 307.
|
||||
|
||||
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 351.
|
||||
(Font) scaled to size 9.0pt on input line 359.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 9.0pt on input line 351.
|
||||
(Font) scaled to size 9.0pt on input line 359.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 351.
|
||||
(Font) scaled to size 9.0pt on input line 359.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 351.
|
||||
(Font) scaled to size 9.0pt on input line 359.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 9.0pt on input line 351.
|
||||
(Font) scaled to size 9.0pt on input line 359.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 351.
|
||||
(Font) scaled to size 9.0pt on input line 359.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 351.
|
||||
(Font) scaled to size 9.0pt on input line 359.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 351.
|
||||
(Font) scaled to size 9.0pt on input line 359.
|
||||
|
||||
Underfull \vbox (badness 10000) has occurred while \output is active []
|
||||
Package natbib Warning: Citation `TLBReach' on page 1 undefined on input line 3
|
||||
88.
|
||||
|
||||
|
||||
Underfull \vbox (badness 4913) 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 383.
|
||||
(Font) scaled to size 6.0pt on input line 394.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
LaTeX Font Info: Calculating math sizes for size <36.135> on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Calculating math sizes for size <36.135> on input line 394.
|
||||
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 26.37839pt on input line 383.
|
||||
(Font) scaled to size 26.37839pt on input line 394.
|
||||
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 19.87434pt on input line 383.
|
||||
(Font) scaled to size 19.87434pt on input line 394.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 26.37839pt on input line 383.
|
||||
(Font) scaled to size 26.37839pt on input line 394.
|
||||
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
|
||||
(Font) scaled to size 19.87434pt on input line 383.
|
||||
(Font) scaled to size 19.87434pt on input line 394.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 26.37839pt on input line 383.
|
||||
(Font) scaled to size 26.37839pt on input line 394.
|
||||
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
|
||||
(Font) scaled to size 19.87434pt on input line 383.
|
||||
(Font) scaled to size 19.87434pt on input line 394.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 26.37839pt on input line 383.
|
||||
(Font) scaled to size 26.37839pt on input line 394.
|
||||
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
|
||||
(Font) scaled to size 19.87434pt on input line 383.
|
||||
(Font) scaled to size 19.87434pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 26.37839pt on input line 383.
|
||||
(Font) scaled to size 26.37839pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
|
||||
(Font) scaled to size 19.87434pt on input line 383.
|
||||
(Font) scaled to size 19.87434pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 26.37839pt on input line 383.
|
||||
(Font) scaled to size 26.37839pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
|
||||
(Font) scaled to size 19.87434pt on input line 383.
|
||||
(Font) scaled to size 19.87434pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 26.37839pt on input line 383.
|
||||
(Font) scaled to size 26.37839pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
|
||||
(Font) scaled to size 19.87434pt on input line 383.
|
||||
(Font) scaled to size 19.87434pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 36.135pt on input line 383.
|
||||
(Font) scaled to size 36.135pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 26.37839pt on input line 383.
|
||||
(Font) scaled to size 26.37839pt on input line 394.
|
||||
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
|
||||
(Font) scaled to size 19.87434pt on input line 383.
|
||||
(Font) scaled to size 19.87434pt on input line 394.
|
||||
[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,19 +1276,16 @@ 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>
|
||||
<diagram/HighOverviewArchitecture.drawio.png, id=124, 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 489.
|
||||
nput line 514.
|
||||
(pdftex.def) Requested size: 303.78008pt x 236.93262pt.
|
||||
|
||||
Class acmart Warning: A possible image without description on input line 493.
|
||||
Class acmart Warning: A possible image without description on input line 518.
|
||||
|
||||
|
||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
@@ -1298,32 +1293,31 @@ LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
|
||||
|
||||
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 501.
|
||||
(Font) scaled to size 9.0pt on input line 526.
|
||||
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
|
||||
(Font) scaled to size 7.0pt on input line 501.
|
||||
(Font) scaled to size 7.0pt on input line 526.
|
||||
[2.2]
|
||||
<diagram/AllocationOverview24.png, id=146, 723.70375pt x 501.875pt>
|
||||
<diagram/AllocationOverview24.png, id=139, 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 5
|
||||
18.
|
||||
43.
|
||||
(pdftex.def) Requested size: 202.51491pt x 140.43979pt.
|
||||
|
||||
|
||||
Class acmart Warning: A possible image without description on input line 521.
|
||||
Class acmart Warning: A possible image without description on input line 546.
|
||||
|
||||
|
||||
|
||||
<diagram/TLBAccess.drawio.png, id=152, 773.89125pt x 945.5325pt>
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be
|
||||
(Font) scaled to size 9.0pt on input line 602.
|
||||
<diagram/TLBAccess.drawio.png, id=144, 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 590.
|
||||
Package pdftex.def Info: diagram/TLBAccess.drawio.png used on input line 619.
|
||||
(pdftex.def) Requested size: 202.51491pt x 247.43411pt.
|
||||
|
||||
Class acmart Warning: A possible image without description on input line 593.
|
||||
|
||||
|
||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
Class acmart Warning: A possible image without description on input line 622.
|
||||
|
||||
|
||||
Underfull \vbox (badness 10000) has occurred while \output is active []
|
||||
@@ -1333,13 +1327,13 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
|
||||
[3.3 <./diagram/HighOverviewArchitecture.drawio.png> <./diagram/AllocationOverv
|
||||
iew24.png>]
|
||||
Package hyperref Info: bookmark level for unknown algorithm defaults to 0 on in
|
||||
put line 645.
|
||||
put line 675.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/sc' will be
|
||||
(Font) scaled to size 9.0pt on input line 648.
|
||||
(Font) scaled to size 9.0pt on input line 678.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 6.6pt on input line 649.
|
||||
(Font) scaled to size 6.6pt on input line 679.
|
||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
|
||||
(Font) scaled to size 5.5pt on input line 649.
|
||||
(Font) scaled to size 5.5pt on input line 679.
|
||||
|
||||
|
||||
|
||||
@@ -1347,7 +1341,7 @@ LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
|
||||
[4.4{/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/TLBAccess.drawio.png>]
|
||||
Overfull \hbox (2.40372pt too wide) in paragraph at lines 719--723
|
||||
Overfull \hbox (2.40372pt too wide) in paragraph at lines 753--757
|
||||
\T1/LinuxLibertineT-TLF/m/n/9 (-20) loc [[]], Je-mal-loc is the de-fault mem-or
|
||||
y al-lo-ca-tor for CHERIBSD [[]],
|
||||
[]
|
||||
@@ -1355,73 +1349,74 @@ y al-lo-ca-tor for CHERIBSD [[]],
|
||||
|
||||
|
||||
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be
|
||||
(Font) scaled to size 9.0pt on input line 833.
|
||||
LaTeX Font Info: Trying to load font information for T1+zi4 on input line 83
|
||||
(Font) scaled to size 9.0pt on input line 865.
|
||||
LaTeX Font Info: Trying to load font information for T1+zi4 on input line 87
|
||||
4.
|
||||
(/usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd
|
||||
File: t1zi4.fd 2018/01/14 T1/zi4 (Inconsolata)
|
||||
)
|
||||
LaTeX Font Info: Font shape `T1/zi4/m/n' will be
|
||||
(Font) scaled to size 9.0pt on input line 834.
|
||||
(Font) scaled to size 9.0pt on input line 874.
|
||||
Package microtype Info: Loading generic protrusion settings for font family
|
||||
(microtype) `zi4' (encoding: T1).
|
||||
(microtype) For optimal results, create family-specific settings.
|
||||
(microtype) See the microtype manual for details.
|
||||
<diagram/bargraph.png, id=180, 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 917.
|
||||
(pdftex.def) Requested size: 455.6624pt x 284.78517pt.
|
||||
|
||||
|
||||
Class acmart Warning: A possible image without description on input line 919.
|
||||
|
||||
|
||||
|
||||
[5.5{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc
|
||||
}]
|
||||
<diagram/bargraph.png, id=208, 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 877.
|
||||
(pdftex.def) Requested size: 455.6624pt x 284.78517pt.
|
||||
|
||||
|
||||
Class acmart Warning: A possible image without description on input line 879.
|
||||
|
||||
|
||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[6.6]
|
||||
<./diagram/kmeans.png, id=219, 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 927.
|
||||
(pdftex.def) Requested size: 265.2637pt x 151.57959pt.
|
||||
|
||||
Overfull \hbox (24.11621pt too wide) in paragraph at lines 927--928
|
||||
[][]
|
||||
[]
|
||||
|
||||
|
||||
Class acmart Warning: A possible image without description on input line 929.
|
||||
|
||||
|
||||
Underfull \vbox (badness 10000) has occurred while \output is active []
|
||||
|
||||
|
||||
|
||||
|
||||
Underfull \vbox (badness 10000) has occurred while \output is active []
|
||||
|
||||
[7.7 <./diagram/bargraph.png> <./diagram/kmeans.png>]
|
||||
Overfull \hbox (1.21416pt too wide) in paragraph at lines 961--967
|
||||
|
||||
|
||||
[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 967.
|
||||
(pdftex.def) Requested size: 265.2637pt x 151.57959pt.
|
||||
|
||||
Overfull \hbox (24.11621pt too wide) in paragraph at lines 967--968
|
||||
[][]
|
||||
[]
|
||||
|
||||
|
||||
Class acmart Warning: A possible image without description on input line 969.
|
||||
|
||||
|
||||
|
||||
|
||||
Overfull \hbox (1.21416pt too wide) in paragraph at lines 1001--1007
|
||||
\T1/LinuxLibertineT-TLF/m/n/9 (-20) page op-ti-miza-tions. Its de-sign ef-fec-t
|
||||
ively re-duces TLB misses, achiev-
|
||||
[]
|
||||
|
||||
|
||||
Underfull \vbox (badness 1895) has occurred while \output is active []
|
||||
Underfull \vbox (badness 10000) has occurred while \output is active []
|
||||
|
||||
|
||||
|
||||
(./paper.bbl
|
||||
[7.7 <./diagram/bargraph.png> <./diagram/kmeans.png>] (./paper.bbl
|
||||
|
||||
|
||||
[8.8]
|
||||
Underfull \hbox (badness 2443) in paragraph at lines 85--87
|
||||
[]\T1/LinuxLibertineT-TLF/m/n/7 (+20) CHERI-allocator/benchmarks/benchmarks/Str
|
||||
essTestMalloc/glibc-bench.c at
|
||||
@@ -1429,6 +1424,9 @@ essTestMalloc/glibc-bench.c at
|
||||
|
||||
)
|
||||
|
||||
Package natbib Warning: There were undefined citations.
|
||||
|
||||
|
||||
Class acmart Warning: Some images may lack descriptions.
|
||||
|
||||
|
||||
@@ -1440,33 +1438,31 @@ Class acmart Warning: CCS concepts are mandatory for papers over two pages.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Overfull \vbox (1.152pt too high) has occurred while \output is active []
|
||||
|
||||
Package balance Warning: You have called \balance in second column
|
||||
(balance) Columns might not be balanced.
|
||||
|
||||
(/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-pdfdoc.def
|
||||
File: se-pdfdoc.def 2019/11/29 v1.12 stringenc: PDFDocEncoding
|
||||
)
|
||||
(/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-utf8.def
|
||||
File: se-utf8.def 2019/11/29 v1.12 stringenc: UTF-8
|
||||
) [9.9]
|
||||
) [8.8]
|
||||
(./paper.aux)
|
||||
***********
|
||||
LaTeX2e <2024-11-01> patch level 2
|
||||
L3 programming layer <2025-01-18>
|
||||
***********
|
||||
Package rerunfilecheck Info: File `paper.out' has not changed.
|
||||
(rerunfilecheck) Checksum: 15F71B74083C4EEFC68EA70789A0645A;3686.
|
||||
(rerunfilecheck) Checksum: C644626D6F355CA6B33284610EE86662;3223.
|
||||
)
|
||||
Here is how much of TeX's memory you used:
|
||||
24021 strings out of 473190
|
||||
393679 string characters out of 5715801
|
||||
965554 words of memory out of 5000000
|
||||
24033 strings out of 473190
|
||||
394081 string characters out of 5715801
|
||||
967318 words of memory out of 5000000
|
||||
46198 multiletter control sequences out of 15000+600000
|
||||
768332 words of font info for 440 fonts, out of 8000000 for 9000
|
||||
775161 words of font info for 450 fonts, out of 8000000 for 9000
|
||||
1302 hyphenation exceptions out of 8191
|
||||
90i,16n,131p,1002b,808s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
90i,17n,131p,1002b,645s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
</usr/local/texlive/2025/texmf-dist/fonts/type1/public/inconsolata/Inconsolat
|
||||
a-zi4r.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/Liberti
|
||||
neMathMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/L
|
||||
@@ -1478,10 +1474,10 @@ lic/libertine/LinLibertineTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type
|
||||
1/public/libertine/LinLibertineTI.pfb></usr/local/texlive/2025/texmf-dist/fonts
|
||||
/type1/public/newtx/NewTXMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1
|
||||
/public/newtx/txsys.pfb>
|
||||
Output written on paper.pdf (9 pages, 713986 bytes).
|
||||
Output written on paper.pdf (8 pages, 710095 bytes).
|
||||
PDF statistics:
|
||||
310 PDF objects out of 1000 (max. 8388607)
|
||||
260 compressed objects within 3 object streams
|
||||
62 named destinations out of 1000 (max. 500000)
|
||||
115418 words of extra memory for PDF output out of 128383 (max. 10000000)
|
||||
291 PDF objects out of 1000 (max. 8388607)
|
||||
242 compressed objects within 3 object streams
|
||||
59 named destinations out of 1000 (max. 500000)
|
||||
119498 words of extra memory for PDF output out of 128383 (max. 10000000)
|
||||
|
||||
|
||||
Binary file not shown.
@@ -230,13 +230,21 @@
|
||||
% 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, we introduce a memory allocator that 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.
|
||||
|
||||
% 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, we introduce a memory allocator that 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.
|
||||
|
||||
The increasing gap between workload memory requirements and the capacity of translation lookaside buffers (TLBs) means TLB misses
|
||||
are more frequency, costing additional clock cycles, impacting runtime performance. One solution is to use physically contiguous
|
||||
memory in conjunction with huge pages. We propose an alternative approach, by exploiting capability-based addressing in the
|
||||
CHERI architecture. This paper presents a new memory allocator. It associates capabilities with memory pointers. integrating
|
||||
block-based allocations within huge pages. Our allocator reduces TLB misses by up to 90\%, which leads to reduced runtimes
|
||||
for memory-intensive applications.
|
||||
\end{abstract}
|
||||
|
||||
%%
|
||||
@@ -377,18 +385,18 @@ high memory throughput by reducing the address translation overhead.
|
||||
% and end of the segment. Any virtual address within this region
|
||||
% can be translated by adding the fixed offset between the virtual
|
||||
% and physical address.
|
||||
Increasing TLB reach can be achieved by using larger page sizes, such as huge pages~\cite{panwar_hawkeye_2019}, which are common in modern computer systems.
|
||||
Increasing TLB reach\cite{TLBReach} can be achieved by using larger page sizes, such as huge pages~\cite{panwar_hawkeye_2019}, which are common in modern computer systems.
|
||||
The x86-64 architecture supports huge pages of 2 MB and 1 GB, backed by OS mechanisms like Transparent Huge Pages (THP)~\cite{THP}
|
||||
and HugeTLBFS in Linux. However, available page sizes in x86-64 are limited, leading to internal fragmentation issues.
|
||||
|
||||
% Alternate segment technique
|
||||
% - JayneelGandhi,ArkapravaBasu,MarkD.Hill,andMichaelM.Swift.2014.Efficientmemoryvirtualization:Reducing
|
||||
For instance, allocating 1 MB with 4 KB base pages requires 256 PTEs, but using a 2 MB huge page would waste
|
||||
For instance, allocating 1 MB with 4 KB base pages requires 256 PTEs (Page Table Entries), but using a 2 MB huge page would waste
|
||||
half of the memory space. Some architectures offer more page size choices, such as Intel Itanium, which
|
||||
allows different areas of the address space to have their own page sizes. Itanium uses a hash page table to organize huge
|
||||
pages, but without significant changes to the conventional page table, it only helps reduce page walk overheads.
|
||||
HP Tunable Base Page Size permits the OS to adjust the base page size, but still faces internal fragmentation problems,
|
||||
with HP recommending a base page size of no more than 16 KB. Shadow Superpage~\cite{Shadow_superpages} introduces a new translation level
|
||||
Huge page tunable base page size permits the OS to adjust the base page size, but still faces internal fragmentation problems,
|
||||
with huge page recommending a base page size of no more than 16 KB. Shadow Superpage~\cite{Shadow_superpages} introduces a new translation level
|
||||
in the memory controller to merge non-contiguous physical pages into a huge page in a shadow memory space, extending
|
||||
TLB coverage. However, this approach requires all memory traffic to be translated again in the memory controller,
|
||||
resulting in additional latency for memory accesses.
|
||||
@@ -435,29 +443,46 @@ reducing the need for costly page table walks.
|
||||
|
||||
\subsection{CHERI}
|
||||
\label{sec:orgbf2eaac}
|
||||
CHERI extends conventional processor
|
||||
Instruction-Set Architectures (ISAs) with architectural capabilities to enable fine-grained
|
||||
memory protection and highly scalable software compartmentalization. CHERI is a hybrid
|
||||
capability architecture that can combine capabilities with conventional MMU (Memory Management Unit) based systems.
|
||||
The contributions of CHERI include:
|
||||
\begin{itemize}
|
||||
\item ISA changes to introduce architectural capabilities.
|
||||
\item New microarchitecture proving that capabilities can be implemented efficiently in hardware, with support for
|
||||
efficient tagged memory to protect capabilities and compress capabilities to reduce memory overhead.
|
||||
\item A newly designed software construction model that uses capabilities to provide fine-grained memory protection
|
||||
and scalable software compartmentalization.
|
||||
\item Language and compiler extensions for using capabilities with C and C++.
|
||||
\item OS extensions to support fine-grained memory protection (spatial, referential, and (non-stack) temporal memory safety)
|
||||
and abstraction extensions for scalable software compartmentalization.
|
||||
\end{itemize}
|
||||
% CHERI extends conventional processor
|
||||
% Instruction-Set Architectures (ISAs) with architectural capabilities to enable fine-grained
|
||||
% memory protection and highly scalable software compartmentalization. CHERI is a hybrid
|
||||
% capability architecture that can combine capabilities with conventional MMU (Memory Management Unit) based systems.
|
||||
% The contributions of CHERI include:
|
||||
% \begin{itemize}
|
||||
% \item ISA changes to introduce architectural capabilities.
|
||||
% \item New microarchitecture proving that capabilities can be implemented efficiently in hardware, with support for
|
||||
% efficient tagged memory to protect capabilities and compress capabilities to reduce memory overhead.
|
||||
% \item A newly designed software construction model that uses capabilities to provide fine-grained memory protection
|
||||
% and scalable software compartmentalization.
|
||||
% \item Language and compiler extensions for using capabilities with C and C++.
|
||||
% \item OS extensions to support fine-grained memory protection (spatial, referential, and (non-stack) temporal memory safety)
|
||||
% and abstraction extensions for scalable software compartmentalization.
|
||||
% \end{itemize}
|
||||
CHERI extends conventional processor Instruction-Set Architectures (ISAs)
|
||||
with architectural capabilities to enable fine-grained memory protection
|
||||
and highly scalable software compartmentalization. It is a hybrid capability
|
||||
architecture that can combine capabilities with conventional MMU (Memory Management Unit)
|
||||
based systems. The contributions of CHERI include ISA changes to introduce architectural
|
||||
capabilities; a new microarchitecture that demonstrates capabilities can be implemented efficiently in hardware,
|
||||
with support for efficient tagged memory to protect capabilities and compress them to reduce memory overhead;
|
||||
a newly designed software construction model that uses capabilities to provide fine-grained memory protection and scalable
|
||||
software compartmentalization; language and compiler extensions for using capabilities with C and C++; and OS extensions to
|
||||
support fine-grained memory protection (including spatial, referential, and non-stack temporal memory safety) and abstraction extensions
|
||||
for scalable software compartmentalization.
|
||||
|
||||
\subsection{CHERI CC}
|
||||
CHERI Concentrate: Practical Compressed Capabilities\cite{woodruff_cheri_2019} introduces a compression scheme for CHERI, aiming to address the performance and compatibility challenges associated with
|
||||
capability pointers. Capability pointers enhance memory safety by embedding bounds and permissions directly
|
||||
within pointers, but traditional implementations double their size—leading to increased memory usage. CHERI CC
|
||||
proposes a compression strategy that preserves security while reducing size and inefficiencies. Key contributions include a floating-point
|
||||
bounds encoding technique with an internal exponent mechanism that offers greater precision for smaller objects and optimized space usage for larger ones.
|
||||
|
||||
\section{Fat Address Translations}
|
||||
\label{sec:FatPointerTranslations}
|
||||
This section talks about how Fat Address Translations(FAT) uses the CHERI architecture to
|
||||
bring about block based allocations in physically contiguous memory. FAT
|
||||
leverages techniques like FlexPointer~\cite{chen_flexpointer_2023} and Range Memory Mapping (RMM)~\cite{karakostas_redundant_2015} to
|
||||
achieve lesser pressure in the TLB. A key component
|
||||
Fat Address Translations(FAT) uses the CHERI architecture to
|
||||
bring about block based allocations in physically contiguous memory.
|
||||
FAT leverages techniques like FlexPointer~\cite{chen_flexpointer_2023} and Range Memory Mapping (RMM)~\cite{karakostas_redundant_2015} to
|
||||
reduce pressure on the TLB. A key component
|
||||
in this implementation is the use of range addresses with CHERI CC~\cite{woodruff_cheri_2019}.
|
||||
|
||||
% Fat-pointer Address Translations, combined with the capabilities of the CHERI
|
||||
@@ -497,7 +522,7 @@ free virtual addresses and a TLB walk (L1, L2 and L3 cache) to achieve non-conti
|
||||
This typically results in more TLB entries and increased TLB misses increasing the reasoning to have more TLB walks.
|
||||
In contrast, the FAT Address Translations method employs a custom allocator leveraging
|
||||
physically contiguous memory by using CHERI to encode
|
||||
bounds within the pointers and as show in the figure \ref{fig:HighOverviewArchitecture} there is almost no reliance on walking the TLB hierarchy.
|
||||
bounds within the pointers and as shown in the figure \ref{fig:HighOverviewArchitecture} there is almost no reliance on walking the TLB hierarchy.
|
||||
|
||||
% Figure \ref{fig:HighOverviewArchitecture} illustrates
|
||||
% the methodology employed to use the CHERI
|
||||
@@ -526,8 +551,8 @@ A memory range in FAT has 2 points to track memory in physical contiguous space
|
||||
is the top and bottom. These 2 points are 2 virtual addresses and the range consists of
|
||||
addresses which lie within this and refers to addresses allocated by invoking malloc.
|
||||
In FAT memory ranges are established using
|
||||
bounds encoded within the pointer, adhering to CHERI CC~\cite{woodruff_cheri_2019}
|
||||
as referred in section ~\ref{sec:128bitCompressedBounds}.
|
||||
bounds encoded within the pointer, adhering to CHERI CC~\cite{woodruff_cheri_2019}.
|
||||
% as referred in section ~\ref{sec:128bitCompressedBounds}.
|
||||
|
||||
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
|
||||
@@ -564,14 +589,18 @@ allocated.
|
||||
% eliminating the need for multiple TLB entries for each allocation.
|
||||
|
||||
Allocators like Jemalloc typically allocate objects under
|
||||
512 bytes~\cite{woodruff_cheri_2019}. When an object’s bounds cannot be precisely represented, padding is required to ensure
|
||||
512 bytes. When an object’s 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
|
||||
exponent values within compressed bounds. This means that the default behavior of allocators such as Jemalloc, would allow precise
|
||||
exponent values within compressed bounds (as shown in~\cite{woodruff_cheri_2019}). This means that the default behavior of allocators such as Jemalloc, would allow precise
|
||||
representation of bounds within CHERI CC.
|
||||
|
||||
With FAT rather than using fixed size TLB entries page sizes (such as 4KB, 2MB and 1GB pages).
|
||||
We use CHERI CC bounds to be dynamic in size to be defined based on the size provided when calling
|
||||
malloc. Offering a more flexible alternative than fixed-size TLB entries.
|
||||
% With FAT rather than using fixed size TLB entries page sizes (such as 4KB, 2MB and 1GB pages)
|
||||
% we use CHERI CC bounds to be dynamic in size to be defined based on the size provided when calling
|
||||
% malloc offering a more flexible alternative than fixed-size TLB entries.
|
||||
|
||||
Instead of relying on fixed-size TLB entries with set page sizes (such as 4KB, 2MB, or 1GB), FAT uses CHERI
|
||||
CC to define dynamic bounds based on the size requested at allocation time (e.g., during a \textit{malloc} call).
|
||||
This approach offers a more flexible alternative to the traditional fixed-size TLB model.
|
||||
|
||||
% We use the CHERI CC
|
||||
% bounds to be repurposed to encode dynamic sized addresses ranges.
|
||||
@@ -591,12 +620,13 @@ malloc. Offering a more flexible alternative than fixed-size TLB entries.
|
||||
\caption{FAT Address Translations using huge pages}
|
||||
\label{fig:HugePages}
|
||||
\end{figure}
|
||||
To build up based on Section ~\ref{sec:RangeMemory} and ~\ref{sec:128bitCompressedBounds}.
|
||||
% To build up based on Section ~\ref{sec:RangeMemory} and ~\ref{sec:128bitCompressedBounds}.
|
||||
We are able to pre-allocate memory using huge pages and are able to mark smaller allocations
|
||||
using ranges by storing them as bounds within the pointer. Each of these memory ranges can be
|
||||
called as a block. Since we have numerous blocks inside a huge page we allow block based
|
||||
memory patters within physically contiguous memory. As demonstrated with the allocator
|
||||
implementation in section ~\ref{sec:MemoryAllocator}.
|
||||
memory patters within physically contiguous memory.
|
||||
% As demonstrated with the allocator
|
||||
% implementation in section ~\ref{sec:MemoryAllocator}.
|
||||
|
||||
%Traditional address translation methods rely on hierarchical
|
||||
%structures to map virtual addresses to physical addresses.
|
||||
@@ -622,7 +652,7 @@ Figure \ref{fig:HugePages} illustrates a use-case of huge pages where the green
|
||||
line represents a sample access to read within a contigous
|
||||
space of physical memory. The dotted lines represents the
|
||||
bounds for that particular pointer access. Using bounds
|
||||
stored on the pointer a block based pattern can be reprecated
|
||||
stored on the pointer a block based pattern can be replicated
|
||||
on physically contigous memory.
|
||||
|
||||
\section{Memory allocator design}
|
||||
@@ -682,9 +712,13 @@ efficient memory management but also demonstrates a practical usecase of huge pa
|
||||
The memory deallocation (Algorithm \ref{alg:free}) mechanism in the proposed allocator is facilitated by the FAT structure
|
||||
introduced in the malloc algorithm. When the free function is invoked, it uses the metadata
|
||||
embedded within the FAT to determine the range and size of the allocated memory region.
|
||||
Specifically, the start and end addresses encoded in FAT to provide the necessary information
|
||||
to identify the exact memory block to be deallocated. This allows the allocator to unmap
|
||||
the corresponding memory region from the address space.
|
||||
Specifically, FAT encodes the start and end addresses of each allocation, providing the information needed to
|
||||
identify the memory block to be deallocated. This enables the allocator to accurately unmap the corresponding
|
||||
memory region from the address space.
|
||||
|
||||
% Specifically, the start and end addresses encoded in FAT to provide the necessary information
|
||||
% to identify the exact memory block to be deallocated. This allows the allocator to unmap
|
||||
% the corresponding memory region from the address space.
|
||||
|
||||
By extracting the bounds and size directly from FAT, the free function eliminates the need
|
||||
for additional metadata lookups or complex data structures.
|
||||
@@ -728,24 +762,24 @@ detailed aspects of the allocator's behavior. Macro benchmarks, on the other han
|
||||
encompass larger, real-world C programs, allowing us to assess the allocator's
|
||||
performance in more practical, real-world scenarios.
|
||||
|
||||
The experiment setup (section~\ref{sec:Experiment}) details the software stack used for evaluation. It includes
|
||||
the specific configurations, compiler options, and system environment tailored
|
||||
to benchmark the proposed allocator. This ensures consistency and repeatability
|
||||
in our results, providing a solid foundation for meaningful comparisons.
|
||||
% The experiment setup (section~\ref{sec:Experiment}) details the software stack used for evaluation. It includes
|
||||
% the specific configurations, compiler options, and system environment tailored
|
||||
% to benchmark the proposed allocator. This ensures consistency and repeatability
|
||||
% in our results, providing a solid foundation for meaningful comparisons.
|
||||
|
||||
We further elaborated on the two classes of benchmarks executed. Micro benchmarks (section~\ref{sec:Micro}).
|
||||
focused on particular allocation and deallocation patterns, such as sequential and
|
||||
random memory accesses, to stress-test the allocator under controlled conditions.
|
||||
Macro benchmarks (section~\ref{sec:Macro}) involved real-world applications, offering insights into how
|
||||
the allocator performs with complex memory allocation demands, large datasets,
|
||||
and varying execution contexts.
|
||||
% We further elaborated on the two classes of benchmarks executed. Micro benchmarks (section~\ref{sec:Micro}).
|
||||
% focused on particular allocation and deallocation patterns, such as sequential and
|
||||
% random memory accesses, to stress-test the allocator under controlled conditions.
|
||||
% Macro benchmarks (section~\ref{sec:Macro}) involved real-world applications, offering insights into how
|
||||
% the allocator performs with complex memory allocation demands, large datasets,
|
||||
% and varying execution contexts.
|
||||
|
||||
The results (section~\ref{sec:Results}) presents the outcomes of our benchmarks, highlighting key metrics
|
||||
such as TLB miss rates, memory usage, and runtime performance. We observed that the
|
||||
proposed allocator demonstrated significant improvements in reducing TLB misses,
|
||||
leading to noticeable enhancements in runtime efficiency for both micro and macro
|
||||
benchmarks. The behavior of specific allocation patterns and their impact on memory
|
||||
performance is detailed, providing a nuanced understanding of the allocator's effectiveness.
|
||||
% The results (section~\ref{sec:Results}) presents the outcomes of our benchmarks, highlighting key metrics
|
||||
% such as TLB miss rates, memory usage, and runtime performance. We observed that the
|
||||
% proposed allocator demonstrated significant improvements in reducing TLB misses,
|
||||
% leading to noticeable enhancements in runtime efficiency for both micro and macro
|
||||
% benchmarks. The behavior of specific allocation patterns and their impact on memory
|
||||
% performance is detailed, providing a nuanced understanding of the allocator's effectiveness.
|
||||
|
||||
%Based on the evaluated results (section~\cite{sec:Usability}), the usability of the proposed allocator shows promise
|
||||
%for applications requiring optimized memory management and reduced overhead from TLB misses.
|
||||
@@ -828,6 +862,12 @@ the proposed changes.
|
||||
The benchmarks~\cite{Benchmark} are classified into 2 classes:
|
||||
|
||||
\subsubsection{Micro benchmark}
|
||||
We further elaborated on the two classes of benchmarks executed. Micro benchmarks (section~\ref{sec:Micro}).
|
||||
focused on particular allocation and deallocation patterns, such as sequential and
|
||||
random memory accesses, to stress-test the allocator under controlled conditions.
|
||||
Macro benchmarks involved real-world applications, offering insights into how
|
||||
the allocator performs with complex memory allocation demands, large datasets,
|
||||
and varying execution contexts.
|
||||
\label{sec:Micro}
|
||||
|
||||
\begin{itemize}
|
||||
@@ -895,7 +935,7 @@ of its capability to handle memory more efficiently by leveraging huge pages.
|
||||
\item DTLB walks: Due to most of the TLB entries getting hit at the L1 DTLB there is no need
|
||||
to walk the TLB cache hierarchy. This is shown by an average of 99\% reduction in DTLB walks.
|
||||
|
||||
\item L1 DTLB refills: Since there are lesser DTLB walks and most reads are done at the L1 DTLB
|
||||
\item L1 DTLB refills: Since there are fewer DTLB walks and most reads are done at the L1 DTLB
|
||||
layer there is no need for numerous TLB refills to take place. Our benchmarks show on average
|
||||
a 99\% reduction on DTLB refills.
|
||||
|
||||
@@ -948,12 +988,12 @@ unexpected change in performance. Additionally, the increased complexity of mana
|
||||
number of clusters might introduce computational overhead that overshadows the memory allocator's
|
||||
optimizations.
|
||||
|
||||
This observation highlights the importance of testing across a range of workload sizes and
|
||||
configurations to uncover edge cases or specific scenarios where performance deviates from the
|
||||
expected pattern. Understanding these anomalies can provide insights into the allocator's
|
||||
behavior and guide future improvements to address such outliers. Despite the deviation at a
|
||||
cluster size of 2000, the overall results reaffirm the allocator's capability to maintain
|
||||
consistent performance benefits across most scenarios.
|
||||
% This observation highlights the importance of testing across a range of workload sizes and
|
||||
% configurations to uncover edge cases or specific scenarios where performance deviates from the
|
||||
% expected pattern. Understanding these anomalies can provide insights into the allocator's
|
||||
% behavior and guide future improvements to address such outliers. Despite the deviation at a
|
||||
% cluster size of 2000, the overall results reaffirm the allocator's capability to maintain
|
||||
% consistent performance benefits across most scenarios.
|
||||
|
||||
\subsection{Analysis}
|
||||
\label{sec:Analysis}
|
||||
@@ -975,32 +1015,32 @@ macro benchmarks is less pronounced. This suggests that its benefits are most re
|
||||
applications with frequent and intensive memory operations rather than those constrained by
|
||||
computation or I/O bottlenecks.
|
||||
|
||||
\section{Future work}
|
||||
The current experimental setup on the ARM Morello board is constrained by the requirement that all memory reads must
|
||||
pass through the (TLB) for address translation. This necessitates frequent TLB lookups, potentially
|
||||
leading to performance bottlenecks. The planned future work aims to address this by leveraging CHERI
|
||||
(Capability Hardware Enhanced RISC Instructions) extensions on the RISC-V architecture, specifically using the
|
||||
Tooba implementation.
|
||||
% \section{Future work}
|
||||
% The current experimental setup on the ARM Morello board is constrained by the requirement that all memory reads must
|
||||
% pass through the (TLB) for address translation. This necessitates frequent TLB lookups, potentially
|
||||
% leading to performance bottlenecks. The planned future work aims to address this by leveraging CHERI
|
||||
% (Capability Hardware Enhanced RISC Instructions) extensions on the RISC-V architecture, specifically using the
|
||||
% Tooba implementation.
|
||||
|
||||
\subsection{Storing Offsets Directly on Pointers}
|
||||
In the current ARM Morello setup, address translations rely on the TLB.
|
||||
The future approach on RISC-V Tooba involves storing the offset directly within the pointer. This is possible due to CHERI's capability model, which supports fine-grained memory protection and can encode bounds within pointers.
|
||||
Utilizing Bounds in CHERI for Block-Based Allocation:
|
||||
% \subsection{Storing Offsets Directly on Pointers}
|
||||
% In the current ARM Morello setup, address translations rely on the TLB.
|
||||
% The future approach on RISC-V Tooba involves storing the offset directly within the pointer. This is possible due to CHERI's capability model, which supports fine-grained memory protection and can encode bounds within pointers.
|
||||
% Utilizing Bounds in CHERI for Block-Based Allocation:
|
||||
|
||||
CHERI capabilities allow pointers to carry metadata about memory bounds, providing hardware-enforced memory safety.
|
||||
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.
|
||||
% CHERI capabilities allow pointers to carry metadata about memory bounds, providing hardware-enforced memory safety.
|
||||
% 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.
|
||||
% \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 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
|
||||
allocated huge page. This approach reduces 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)
|
||||
@@ -1008,7 +1048,7 @@ to minimize fragmentation.
|
||||
% 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\%,
|
||||
The benchmarks demonstrate 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
|
||||
by repurposing CHERI's capability-based model with the use of huge pages.
|
||||
|
||||
@@ -21,6 +21,17 @@ abstract = {While superpages are an efficient solution to increase TLB reach, st
|
||||
file = {Navarro - Practical, transparent operating system support fo.pdf:/Users/akilan/Zotero/storage/R9MSCWQX/Navarro - Practical, transparent operating system support fo.pdf:application/pdf},
|
||||
}
|
||||
|
||||
@INPROCEEDINGS{TLBReach,
|
||||
author={Pham, Binh and Bhattacharjee, Abhishek and Eckert, Yasuko and Loh, Gabriel H.},
|
||||
booktitle={2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA)},
|
||||
title={Increasing TLB reach by exploiting clustering in page translations},
|
||||
year={2014},
|
||||
volume={},
|
||||
number={},
|
||||
pages={558-567},
|
||||
keywords={Virtual private networks;Hardware;Organizations;Benchmark testing;Prefetching;Operating systems},
|
||||
doi={10.1109/HPCA.2014.6835964}
|
||||
|
||||
@article{DirectSegment,
|
||||
author = {Basu, Arkaprava and Gandhi, Jayneel and Chang, Jichuan and Hill, Mark D. and Swift, Michael M.},
|
||||
title = {Efficient virtual memory for big memory servers},
|
||||
|
||||
60
docs/EuroSys/Paper/todo.org
Normal file
60
docs/EuroSys/Paper/todo.org
Normal file
@@ -0,0 +1,60 @@
|
||||
- [ ] Captilisation fixes
|
||||
- [ ] Check for unessary commas
|
||||
- [ ] Check references
|
||||
- [ ] Unify english grammer
|
||||
- [ ] Text make to italics (For function calls)
|
||||
- [ ] Space missing from bracket
|
||||
- [ ] Utlizing to using
|
||||
- [ ] Small number use word
|
||||
- [ ] Check for unusual amount of commas and
|
||||
String them into a sentence
|
||||
- [ ] Make all past tense to present tense
|
||||
- [ ] Comment out future work section
|
||||
- [ ] Section with always captial S
|
||||
- [ ] RMM fix reference
|
||||
|
||||
** Literature review
|
||||
- [x] TLB reach needs defining
|
||||
- [x] PTE acronym
|
||||
- [x] Citation (HP Tunable page table)
|
||||
- [x] CHERI standardise bullet points into a
|
||||
paragraph.
|
||||
|
||||
** FAT address range table
|
||||
- [x] Sentence 1 remove "talks about"
|
||||
- [x] "Lesser pressure" FAT leverages to reduce pressure on the TLB
|
||||
- [x] Fix "as show" to "as shown"
|
||||
- [x] Remove "CHERI CC [4] as referred in section 3.2."
|
||||
to "CHERI CC [4] (section 3.2)"
|
||||
- [x] Explain Cheri CC in the literature review
|
||||
- [x] Move Cheri CC reference to it has been observed
|
||||
- [x] "With FAT rather than using fixed size TLB entries page sizes"
|
||||
Rephrase this sentence.
|
||||
- [x] "We use CHERI CC bounds to 344 be dynamic in
|
||||
size to be defined based on the size provided when
|
||||
345 calling malloc. Offering a more flexible
|
||||
alternative than fixed-size 346 TLB entries."
|
||||
Make this into 1 sentence.
|
||||
|
||||
- [x] "To build up based on Section 3.1 and 3.2."
|
||||
Remove this setence
|
||||
- [x] "As demonstrated
|
||||
384 with the allocator implementation in section 4"
|
||||
Remove this sentence
|
||||
- [x] "repcrecated" to "replicated"
|
||||
|
||||
** Malloc implementation
|
||||
- [x] "Specifically, the start and end addresses encoded in FAT to provide the necessary information to identify the exact memory block to be deallocated."
|
||||
Rewrite this sentence
|
||||
|
||||
** Evaluation
|
||||
- [x] 2nd para move to benchmarks section
|
||||
- [x] "The results (section 5.3)... (comment out)
|
||||
- [x] "The expirement setup" comment out
|
||||
- [x] Replace "lesser" with fewer
|
||||
- [x] "This observation highlights the importance"
|
||||
Comment out
|
||||
|
||||
** Conclusion
|
||||
- [x] "This approach has helped reduce" -> "This approach reduces"
|
||||
- [x] "Remove comprehensive"
|
||||
60
docs/EuroSys/Paper/todo.org~
Normal file
60
docs/EuroSys/Paper/todo.org~
Normal file
@@ -0,0 +1,60 @@
|
||||
- [ ] Captilisation fixes
|
||||
- [ ] Check for unessary commas
|
||||
- [ ] Check references
|
||||
- [ ] Unify english grammer
|
||||
- [ ] Text make to italics (For function calls)
|
||||
- [ ] Space missing from bracket
|
||||
- [ ] Utlizing to using
|
||||
- [ ] Small number use word
|
||||
- [ ] Check for unusual amount of commas and
|
||||
String them into a sentence
|
||||
- [ ] Make all past tense to present tense
|
||||
- [ ] Comment out future work section
|
||||
- [ ] Section with always captial S
|
||||
- [ ] RMM fix reference
|
||||
|
||||
** Literature review
|
||||
- [ ] TLB reach needs defining
|
||||
- [ ] PTE acronym
|
||||
- [ ] Citation (HP Tunable page table)
|
||||
- [x] CHERI standardise bullet points into a
|
||||
paragraph.
|
||||
|
||||
** FAT address range table
|
||||
- [x] Sentence 1 remove "talks about"
|
||||
- [x] "Lesser pressure" FAT leverages to reduce pressure on the TLB
|
||||
- [x] Fix "as show" to "as shown"
|
||||
- [x] Remove "CHERI CC [4] as referred in section 3.2."
|
||||
to "CHERI CC [4] (section 3.2)"
|
||||
- [ ] Explain Cheri CC in the literature review
|
||||
- [x] Move Cheri CC reference to it has been observed
|
||||
- [ ] "With FAT rather than using fixed size TLB entries page sizes"
|
||||
Rephrase this sentence.
|
||||
- [x] "We use CHERI CC bounds to 344 be dynamic in
|
||||
size to be defined based on the size provided when
|
||||
345 calling malloc. Offering a more flexible
|
||||
alternative than fixed-size 346 TLB entries."
|
||||
Make this into 1 sentence.
|
||||
|
||||
- [x] "To build up based on Section 3.1 and 3.2."
|
||||
Remove this setence
|
||||
- [x] "As demonstrated
|
||||
384 with the allocator implementation in section 4"
|
||||
Remove this sentence
|
||||
- [x] "repcrecated" to "replicated"
|
||||
|
||||
** Malloc implementation
|
||||
- [ ] "Specifically, the start and end 448 addresses encoded in FAT to provide the necessary information 449 to identify the exact memory block to be deallocated."
|
||||
Rewrite this sentence
|
||||
|
||||
** Evaluation
|
||||
- [x] 2nd para move to benchmarks section
|
||||
- [x] "The results (section 5.3)... (comment out)
|
||||
- [x] "The expirement setup" comment out
|
||||
- [x] Replace "lesser" with fewer
|
||||
- [x] "This observation highlights the importance"
|
||||
Comment out
|
||||
|
||||
** Conclusion
|
||||
- [x] "This approach has helped reduce" -> "This approach reduces"
|
||||
- [x] "Remove comprehensive"
|
||||
Reference in New Issue
Block a user