saving current changes
This commit is contained in:
@@ -1,19 +1,5 @@
|
||||
\relax
|
||||
\providecommand\hyper@newdestlabel[2]{}
|
||||
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
|
||||
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
|
||||
\global\let\oldcontentsline\contentsline
|
||||
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
|
||||
\global\let\oldnewlabel\newlabel
|
||||
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
|
||||
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
|
||||
\AtEndDocument{\ifx\hyper@anchor\@undefined
|
||||
\let\contentsline\oldcontentsline
|
||||
\let\newlabel\oldnewlabel
|
||||
\fi}
|
||||
\fi}
|
||||
\global\let\hyper@last\relax
|
||||
\gdef\HyperFirstAtBeginDocument#1{#1}
|
||||
\providecommand\HyField@AuxAddToFields[1]{}
|
||||
\providecommand\HyField@AuxAddToCoFields[2]{}
|
||||
\citation{mittal_survey_2017}
|
||||
@@ -22,88 +8,94 @@
|
||||
\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{chen_flexpointer_2023}
|
||||
\citation{karakostas_redundant_2015}
|
||||
\citation{woodruff_cheri_2019}
|
||||
\citation{woodruff_cheri_2019}
|
||||
\citation{woodruff_cheri_2019}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Fat-pointer Address Translations}{2}{section.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Encoding Ranges as Bounds to the Pointer}{2}{subsection.2.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}128 bit compressed bounds}{2}{subsection.2.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Instrumenting Block-Based Allocators with Physically Contiguous Memory}{2}{subsection.2.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Sample memory allocator design:}{2}{subsection.2.4}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces High overview architecture\relax }}{3}{figure.caption.3}\protected@file@percent }
|
||||
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
|
||||
\newlabel{fig:HighOverviewArchitecture}{{1}{3}{High overview architecture\relax }{figure.caption.3}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Range of memory\relax }}{3}{figure.caption.4}\protected@file@percent }
|
||||
\newlabel{fig:RangeOfMemory}{{2}{3}{Range of memory\relax }{figure.caption.4}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Fat-pointer Address Translations using huge pages\relax }}{3}{figure.caption.5}\protected@file@percent }
|
||||
\newlabel{fig:HugePages}{{3}{3}{Fat-pointer Address Translations using huge pages\relax }{figure.caption.5}{}}
|
||||
\citation{jemalloc}
|
||||
\citation{cheribsd}
|
||||
\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Sample malloc implementation\relax }}{4}{algorithm.1}\protected@file@percent }
|
||||
\newlabel{alg:malloc}{{1}{4}{Sample malloc implementation\relax }{algorithm.1}{}}
|
||||
\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces Sample free implementation\relax }}{4}{algorithm.2}\protected@file@percent }
|
||||
\newlabel{alg:free}{{2}{4}{Sample free implementation\relax }{algorithm.2}{}}
|
||||
\@writefile{loa}{\contentsline {algorithm}{\numberline {3}{\ignorespaces Sample init alloc function to create a initial 1 GB huge page\relax }}{4}{algorithm.3}\protected@file@percent }
|
||||
\newlabel{alg:initAlloc}{{3}{4}{Sample init alloc function to create a initial 1 GB huge page\relax }{algorithm.3}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Evaluation}{4}{section.3}\protected@file@percent }
|
||||
\citation{Morello}
|
||||
\citation{BenchmarkABI}
|
||||
\citation{PerformanceCounter}
|
||||
\citation{Benchmark}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Expirement setup}{5}{subsection.3.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Benchmarks}{5}{subsection.3.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Micro benchmark}{5}{subsubsection.3.2.1}\protected@file@percent }
|
||||
\newlabel{sec:org41c278c}{{1}{5}{Micro benchmark}{Item.3}{}}
|
||||
\newlabel{sec:org89020f2}{{2}{5}{Micro benchmark}{Item.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Results}{5}{subsection.3.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Usability}{6}{subsection.3.4}\protected@file@percent }
|
||||
\newlabel{sec:orgd6ba6f0}{{3.4}{6}{Usability}{subsection.3.4}{}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces ARM performance counters\relax }}{6}{table.caption.6}\protected@file@percent }
|
||||
\newlabel{tab:org246a883}{{1}{6}{ARM performance counters\relax }{table.caption.6}{}}
|
||||
\citation{panwar_hawkeye_2019}
|
||||
\citation{THP}
|
||||
\citation{Shadow_superpages}
|
||||
\citation{DirectSegment}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Percentage difference between the modified memory allocator against the default system memory allocator\relax }}{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\relax }{figure.caption.7}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Kmeans COZ benchmark executed against various cluster sizes\relax }}{7}{figure.caption.8}\protected@file@percent }
|
||||
\newlabel{fig:org8683315}{{5}{7}{Kmeans COZ benchmark executed against various cluster sizes\relax }{figure.caption.8}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Related work}{7}{section.4}\protected@file@percent }
|
||||
\newlabel{sec:org0e192da}{{4}{7}{Related work}{section.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Huge Pages}{7}{subsection.4.1}\protected@file@percent }
|
||||
\citation{karakostas_redundant_2015}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Direct Segment}{8}{subsection.4.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Range Memory Mapping (RMM)}{8}{subsection.4.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}CHERI}{8}{subsection.4.4}\protected@file@percent }
|
||||
\newlabel{sec:orgbf2eaac}{{4.4}{8}{CHERI}{subsection.4.4}{}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5}Future work}{8}{section.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Storing Offsets Directly on Pointers}{8}{subsection.5.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Hardware Modifications:}{8}{subsection.5.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion}{8}{section.6}\protected@file@percent }
|
||||
\citation{chen_flexpointer_2023}
|
||||
\citation{karakostas_redundant_2015}
|
||||
\@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 {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}
|
||||
\citation{woodruff_cheri_2019}
|
||||
\citation{woodruff_cheri_2019}
|
||||
\@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{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{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}{}}
|
||||
\@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 }
|
||||
\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{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 }
|
||||
\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}{}{{}}{{}}}
|
||||
\bibcite{chen_flexpointer_2023}{{5}{}{{}}{{}}}
|
||||
\bibcite{karakostas_redundant_2015}{{6}{}{{}}{{}}}
|
||||
\bibcite{jemalloc}{{7}{}{{}}{{}}}
|
||||
\bibcite{cheribsd}{{8}{}{{}}{{}}}
|
||||
\bibcite{Morello}{{9}{}{{}}{{}}}
|
||||
\bibcite{BenchmarkABI}{{10}{}{{}}{{}}}
|
||||
\bibcite{PerformanceCounter}{{11}{}{{}}{{}}}
|
||||
\bibcite{Benchmark}{{12}{}{{}}{{}}}
|
||||
\bibcite{THP}{{13}{}{{}}{{}}}
|
||||
\bibcite{Shadow_superpages}{{14}{}{{}}{{}}}
|
||||
\bibcite{DirectSegment}{{15}{}{{}}{{}}}
|
||||
\bibcite{THP}{{5}{}{{}}{{}}}
|
||||
\bibcite{Shadow_superpages}{{6}{}{{}}{{}}}
|
||||
\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}{}{{}}{{}}}
|
||||
\newlabel{tocindent-1}{0pt}
|
||||
\newlabel{tocindent0}{0pt}
|
||||
\newlabel{tocindent1}{4.185pt}
|
||||
\newlabel{tocindent2}{10.34999pt}
|
||||
\newlabel{tocindent3}{18.198pt}
|
||||
\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}{}}
|
||||
|
||||
@@ -28,11 +28,21 @@ Jonathan Woodruff, Alexandre Joannou, Hongyan Xia, Anthony Fox, Robert~M.
|
||||
\newblock {CHERI} concentrate: Practical compressed capabilities.
|
||||
\newblock 68(10):1455--1469.
|
||||
|
||||
\bibitem{chen_flexpointer_2023}
|
||||
Dongwei Chen, Dong Tong, Chun Yang, Jiangfang Yi, and Xu~Cheng.
|
||||
\newblock {FlexPointer}: Fast address translation based on range {TLB} and
|
||||
tagged pointers.
|
||||
\newblock 20(2):1--24.
|
||||
\bibitem{THP}
|
||||
Juan Navarro.
|
||||
\newblock Practical, transparent operating system support for superpages.
|
||||
|
||||
\bibitem{Shadow_superpages}
|
||||
Cheol~Ho Park and Daeyeon Park.
|
||||
\newblock Aggressive superpage support with the shadow memory and the
|
||||
partial-subblock tlb.
|
||||
\newblock {\em Microprocessors and Microsystems}, 25(7):329--342, 2001.
|
||||
|
||||
\bibitem{DirectSegment}
|
||||
Arkaprava Basu, Jayneel Gandhi, Jichuan Chang, Mark~D. Hill, and Michael~M.
|
||||
Swift.
|
||||
\newblock Efficient virtual memory for big memory servers.
|
||||
\newblock {\em SIGARCH Comput. Archit. News}, 41(3):237–248, June 2013.
|
||||
|
||||
\bibitem{karakostas_redundant_2015}
|
||||
Vasileios Karakostas, Jayneel Gandhi, Furkan Ayar, Adrián Cristal, Mark~D.
|
||||
@@ -42,6 +52,12 @@ Vasileios Karakostas, Jayneel Gandhi, Furkan Ayar, Adrián Cristal, Mark~D.
|
||||
\newblock In {\em Proceedings of the 42nd Annual International Symposium on
|
||||
Computer Architecture}, pages 66--78. {ACM}.
|
||||
|
||||
\bibitem{chen_flexpointer_2023}
|
||||
Dongwei Chen, Dong Tong, Chun Yang, Jiangfang Yi, and Xu~Cheng.
|
||||
\newblock {FlexPointer}: Fast address translation based on range {TLB} and
|
||||
tagged pointers.
|
||||
\newblock 20(2):1--24.
|
||||
|
||||
\bibitem{jemalloc}
|
||||
{JEMALLOC}.
|
||||
|
||||
@@ -69,20 +85,4 @@ Arm architecture reference manual for a-profile architecture.
|
||||
{CHERI}-allocator/benchmarks/benchmarks/{StressTestMalloc}/glibc-bench.c at
|
||||
main · akilan1999/{CHERI}-allocator.
|
||||
|
||||
\bibitem{THP}
|
||||
Juan Navarro.
|
||||
\newblock Practical, transparent operating system support for superpages.
|
||||
|
||||
\bibitem{Shadow_superpages}
|
||||
Cheol~Ho Park and Daeyeon Park.
|
||||
\newblock Aggressive superpage support with the shadow memory and the
|
||||
partial-subblock tlb.
|
||||
\newblock {\em Microprocessors and Microsystems}, 25(7):329--342, 2001.
|
||||
|
||||
\bibitem{DirectSegment}
|
||||
Arkaprava Basu, Jayneel Gandhi, Jichuan Chang, Mark~D. Hill, and Michael~M.
|
||||
Swift.
|
||||
\newblock Efficient virtual memory for big memory servers.
|
||||
\newblock {\em SIGARCH Comput. Archit. News}, 41(3):237–248, June 2013.
|
||||
|
||||
\end{thebibliography}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
This is BibTeX, Version 0.99d (TeX Live 2022)
|
||||
This is BibTeX, Version 0.99d (TeX Live 2025)
|
||||
Capacity: max_strings=200000, hash_size=200000, hash_prime=170003
|
||||
The top-level auxiliary file: paper.aux
|
||||
The style file: unsrt.bst
|
||||
@@ -20,11 +20,11 @@ Warning--empty journal in woodruff_cheri_2014
|
||||
Warning--empty year in woodruff_cheri_2014
|
||||
Warning--empty journal in woodruff_cheri_2019
|
||||
Warning--empty year in woodruff_cheri_2019
|
||||
Warning--empty journal in chen_flexpointer_2023
|
||||
Warning--empty year in chen_flexpointer_2023
|
||||
Warning--empty year in karakostas_redundant_2015
|
||||
Warning--empty journal in THP
|
||||
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,
|
||||
1791 wiz_defined-function locations,
|
||||
522 strings with 6536 characters,
|
||||
|
||||
@@ -1,228 +1,227 @@
|
||||
# Fdb version 3
|
||||
["bibtex paper"] 1741802261 "paper.aux" "paper.bbl" "paper" 1741802263
|
||||
"/usr/local/texlive/2022/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
|
||||
"paper.aux" 1741802263 7785 781aae7fe100718ccd4649f95940a653 "pdflatex"
|
||||
"paperReferences.bib" 1740927020 43881 89a1490784dad1fc6ac99d5562dad496 ""
|
||||
# Fdb version 4
|
||||
["bibtex paper"] 1743691797.52386 "paper.aux" "paper.bbl" "paper" 1743691799.22059 0
|
||||
"./paperReferences.bib" 1740927020.63231 43881 89a1490784dad1fc6ac99d5562dad496 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
|
||||
"paper.aux" 1743691798.89658 7542 b79ea1cba94bca38f389744af310d596 "pdflatex"
|
||||
(generated)
|
||||
"paper.bbl"
|
||||
"paper.blg"
|
||||
["pdflatex"] 1741802262 "paper.tex" "paper.pdf" "paper" 1741802263
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc" 1490131464 2921 8ca0eb0831f9bc5da080d3697cfe67bf ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/enc/dvips/libertine/lbtn_76gpa5.enc" 1490131464 2933 9ad527ce78d7c5fa0a642dead095f172 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc" 1490131464 2934 a4a9158faed2e9e89c771b4e3b7fc12f ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc" 1490131464 3357 5261ce65ba03aef9faf6135657b9abb6 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/enc/dvips/libertine/lbtn_ncsllp.enc" 1490131464 3288 25b5d43be7be8cba51d85b642598b3b0 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/enc/dvips/libertine/lbtn_nh77jq.enc" 1490131464 2933 8d808fcabf70c6c809bb14c283ece4da ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.enc" 1490131464 2807 3bc923a7d38598e901b235df221224cb ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/jknappen/ec/ecrm0900.tfm" 1136768653 3584 d3d8ac8b25ca19c0a40b86a5db1e8ccc ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1246382020 924 9904cf1d39e9767e7a3622f2a125a565 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1246382020 928 2dc8d444221b7a635bb58038579b861a ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1246382020 908 2921f8a10601f252058503cc6570e581 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1246382020 940 75ac932a52f80982a9f8ea75d03a34cf ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/cm/cmr9.tfm" 1136768653 1292 6b21b9c2c7bebb38aa2273f7ca0fb3af ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1--base.tfm" 1490131464 1744 9486ddc64e90094bbb83f53a83b0e415 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1.tfm" 1490131464 19548 768852037f39958c435d71846b8877ea ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTB-tlf-t1--base.tfm" 1490131464 1768 23aace73e6def3193d6e0453af90487b ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTB-tlf-t1.tfm" 1490131464 19416 aedd2db224ad278ddf2c411f52d86014 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1--base.tfm" 1490131464 1988 34f48347175f643e8b2134cd8f7a90a3 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1.tfm" 1490131464 20012 beadc3a52552515981c78cd731a40afe ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ot1--base.tfm" 1490131464 1396 948c4e08512f70c39fade285ab551221 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ot1.tfm" 1490131464 5612 e018d44ec5e7a3b3574b3a9598e8e279 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-sc-t1--base.tfm" 1490131464 1700 eb1903cb93ada6655f6ace5bcfb0a2dd ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-sc-t1.tfm" 1490131464 15404 b4ba91f16bd331695200640fa8131f38 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-t1--base.tfm" 1490131464 1740 2943dd2ba1dcd3849599663c1d2693ef ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-t1.tfm" 1490131464 19504 bdf9fb416f5a91bf56b1ccda887f5b91 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ts1--base.tfm" 1490131464 1488 9b803beb26c181b228c4fde93d4398a3 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ts1.tfm" 1490131464 1516 5e35377e77f0326136c4078d4c186a36 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineTB-tlf-t1--base.tfm" 1490131464 1724 248b3a23a2f748bd3089e9d3118d991e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineTB-tlf-t1.tfm" 1490131464 19488 f569478ca339d9b5ad93b46bf7a470e2 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1--base.tfm" 1490131464 1932 54655639067fe21ae3b23b77173351a5 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1.tfm" 1490131464 19920 63bb3db95807ffe45b0900d104896325 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/LibertineMathMI.tfm" 1569879884 1552 f91250a4f6e3f34d48dfc8f34aabc764 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/NewTXMI.tfm" 1572128992 1408 ef71a9098da4d5a1a85b5920860b6731 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/ntxexa.tfm" 1589834365 760 e8ec875a87aa119f1af7ea4be48da9e8 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/ntxexx.tfm" 1621283831 1772 c3eb2dc3ad7612f6f7ffa1b18d45b0b9 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/ntxsy.tfm" 1583272976 2000 33f20474c9fe1489d6907a37300dec5a ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/ntxsy5.tfm" 1634244313 1992 abaef3b41fc3d8fb873ff0f2a1fe23cc ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/ntxsy7.tfm" 1634244313 1964 4014158e8fc3b36011b2c5716946c6e0 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/ntxsyc.tfm" 1589834365 1028 2f6cbe812325cff65b38e4c0a517f4cb ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/ntxsym.tfm" 1589834365 1572 ee1610f2b8e0679b918f57086595f5a6 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/nxlmi.tfm" 1569879884 3284 b46311ccaa7f6b514eba481b40575544 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/nxlmi5.tfm" 1569879884 3308 547f06fb56819535c1e0ce385c4f647b ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/nxlmi7.tfm" 1575323900 3320 6cf9c990505795806c1f3ac537f356c3 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/nxlmia.tfm" 1617586172 2616 0bf54bdee01e38e3ed8342d25e5584f6 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/stxscr.tfm" 1569879884 1836 3af1bb0996e7f6070b70151de6395c2c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/txex-bar.tfm" 1487028062 872 42a11c392ad05634fee0c67e353926cf ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/tfm/public/newtx/txsys.tfm" 1569879884 1580 8da1d0227b68d95a2f0ea5709b29fc83 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/libertine/LinBiolinumT.pfb" 1354061736 548786 1e51d517556d29f2841d57da58668a69 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/libertine/LinBiolinumTB.pfb" 1354061736 687959 b99c9f5a9b28f3dba077d1c078bceb3f ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/libertine/LinBiolinumTI.pfb" 1354061736 879384 e498f90c951041b56f91c0ffbf77a9d2 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/libertine/LinLibertineT.pfb" 1354061736 614791 ea39341e4db76f25cb20c361802d3cd5 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/libertine/LinLibertineTB.pfb" 1354061736 538965 19c5c8b7f952ac97afb8565e9c21a82d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/libertine/LinLibertineTI.pfb" 1354061736 490980 e27f1e217a0902faea22205f197918d4 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/newtx/LibertineMathMI.pfb" 1569879884 35829 268d1d114c9114e541f92817aec4230d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/newtx/NewTXMI.pfb" 1572128992 32409 1452fa0ce4fabfb48acd5d077e296f6d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/type1/public/newtx/txsys.pfb" 1569879884 40320 53cb337366eff502cad8f44871c88e39 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinBiolinumT-tlf-t1.vf" 1490131464 1728 e76e04a950024a95b620698b679c9810 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinBiolinumTB-tlf-t1.vf" 1354061736 1728 4ae633ddccb76ba8d0a0906a5e2e8fdf ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinBiolinumTI-tlf-t1.vf" 1354061736 1728 0f47a4d345513e0ad2e29d47540d4f2a ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-ot1.vf" 1490131464 968 b4daf26f130460f16d670da7f3f6963f ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-sc-t1.vf" 1354061736 1732 19a98a3416ac208cfc1e8cd877852bec ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-t1.vf" 1354061736 1728 b078a050f24d7649619baa987d7216d8 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-ts1.vf" 1490131464 640 f2633b196ddbd644937d19e300a5024e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinLibertineTB-tlf-t1.vf" 1490131464 1768 5d66dfd9709f1f38b8fb3cb38db46402 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/libertine/LinLibertineTI-tlf-t1.vf" 1490131464 1768 b3bfd8ed1fe2dce5fd19610abe4c3dbe ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/newtx/ntxsy.vf" 1583272976 1772 98ec0ab31216e818611c784f60ef51a5 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/fonts/vf/public/newtx/nxlmi.vf" 1569879884 2744 3e5ba39e1559219ae379b7645e2f9524 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1576625273 7734 b98cbb34c81f667027c1e3ebdbfce34b ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/iftex/ifluatex.sty" 1572645307 492 1994775aa15b0d1289725a0b1bbc2d4c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/iftex/iftex.sty" 1644112042 7237 bdd120a32c8fdb4b433cf9ca2e7cd98a ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/iftex/ifxetex.sty" 1572645307 488 4565444a3e75e59cb2702dc42e18f482 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/kastrup/binhex.tex" 1215376579 2553 4b99aa9667b708dd355926023d705446 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1576624944 13807 952b0226d4efca026f0e19dd266dcc22 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1600895880 17859 4409f8f50cd365c68e684407e5350b1b ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/pdftex/glyphtounicode.tex" 1353199370 216747 92ec6cf8e39216b4894417b5aa6f057a ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1593379760 20089 80423eac55aa175305d35b49e04fe23b ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/stringenc/se-pdfdoc.def" 1575152242 5108 8920602307ea1294ccbce2300c7c6ccb ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/stringenc/se-utf8.def" 1575152242 11635 4fd2019d04ad095a0b1bde5aaed4a70e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/stringenc/stringenc.sty" 1575152242 21514 b7557edcee22835ef6b03ede1802dad4 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/xkeyval/keyval.tex" 1605910342 2725 9f5d0b27f1f9a620c6ea983d6d41501d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1605910342 19231 3cbf682090baecad8e17a66b7a271ed1 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1605910342 7677 cf3e6aa6a8d444f55327f61df80bfa0c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/xstring/xstring.sty" 1544223003 123 a302f2c651a95033260db60e51527ae8 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/generic/xstring/xstring.tex" 1626900402 48190 9b86e8476d1d94df049e99d192261166 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/acmart/acmart.cls" 1645649519 107215 f266b4b57779f01e797a00fdef75e4bd ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/algorithmicx/algorithmicx.sty" 1160617237 26750 ce139c05a983e19ddca355b43e29c395 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/algorithmicx/algpseudocode.sty" 1160617237 3457 d9077efe6b74c5a094199256af8d7d9a ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/algorithms/algorithm.sty" 1251330371 3249 15763257e50278eef5db1952ccde229c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amscls/amsart.cls" 1591045760 61881 a7369c346c2922a758ae6283cc1ed014 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1359763108 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/umsa.fd" 1359763108 961 6518c6525a34feb5e8250ffa91731cff ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amsfonts/umsb.fd" 1359763108 961 d02606146ba5601b5645f987c92e6193 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1622667781 2222 da905dc1db75412efd2d8f67739f0596 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsgen.sty" 1622667781 4173 bc0410bcccdff806d6132d3c1ef35481 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsmath.sty" 1636758526 87648 07fbb6e9169e00cb2a2f40b31b2dbf3c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amsopn.sty" 1636758526 4128 8eea906621b6639f7ba476a472036bbe ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/amsmath/amstext.sty" 1636758526 2444 926f379cc60fcf0c6e3fee2223b4370d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/atveryend/atveryend.sty" 1576191570 19336 ce7ae9438967282886b3b036cfad1e4d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1636758526 3034 3bfb87122e6fa8758225c0dd3cbaceba ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1636758526 2462 754d6b31b2ab5a09bb72c348ace2ec75 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/base/fontenc.sty" 1622581934 4946 461cc78f6f26901410d9f1d725079cc6 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/base/ifthen.sty" 1622581934 5157 f308c7c04889e16c588e78aa42599fae ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/base/textcomp.sty" 1622581934 2894 55431114fc0e491ecee275edafd6c881 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/booktabs/booktabs.sty" 1579038678 6078 f1cb470c9199e7110a27851508ed7a5c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/caption/caption-ams-smf.sto" 1645391520 2176 c0bb71a9780b6b41388cfa629b1a32f7 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/caption/caption.sty" 1647548653 54291 b8e5c600d4aa37b48a740dd2a6c26163 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/caption/caption3.sty" 1647548653 71241 d2cd3a1c5acef9cb31f945b93c0bb6e3 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/cmap/cmap.sty" 1612650595 3574 ddc11a0ae1c579d351ed20d2319ad422 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/cmap/ot1.cmap" 1177721415 1207 4e0d96772f0d338847cbfb4eca683c81 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/cmap/t1.cmap" 1215522782 1938 beaa4a8467aa0074076e0e19f2992e29 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/comment/comment.sty" 1472166125 10197 204f75d5d8d88aa345a8c402e879e63b ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/draftwatermark/draftwatermark.sty" 1607465154 6990 c19f0e2ee25970cd4873c23ce67e5a94 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/environ/environ.sty" 1399239813 4378 f429f0da968c278653359293040a8f52 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/etoolbox/etoolbox.sty" 1601931149 46845 3b58f70c6e861a13d927bff09d35ecbc ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/everyshi/everyshi.sty" 1606256234 2368 ef01f98551a0f54407358b67f8a6c5e1 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty" 1612734021 17086 7ed8cbc4d361ec87392817e0dd4f65ec ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/float/float.sty" 1137110151 6749 16d2656a1984957e674b149555f1ea1d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/fontaxes/fontaxes.sty" 1595539507 14310 41fdb35c51be792ddf00696848d0cfef ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def" 1601931164 19103 48d29b6e2a64cb717117ef65f107b404 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/color.sty" 1639603921 7197 eb6c1ebf41667a05cb50c23c19d5e8bc ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty" 1622581934 18399 7e40f80366dffb22c0e7b70517db5cb4 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty" 1636758526 7996 a8fb260d598dcaf305a7ae7b9c3e3229 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty" 1622581934 2671 4de6781a30211fe0ea4c672e4a2a8166 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty" 1636758526 4009 187ea2dc3194cd5a76cd99a8d7a6c4d0 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/grffile/grffile.sty" 1573594974 1499 e43bb281163d9895e141f684cfc2da7e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/hyperref/hpdftex.def" 1645564115 49029 7c9e5115b2217efbeb7828ac0d1bf1a0 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/hyperref/hyperref.sty" 1645564115 220999 6145ea83914c186e178d1d31c50b37df ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/hyperref/nameref.sty" 1612734870 13242 133e617c5eebffdd05e421624022b267 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/hyperref/pd1enc.def" 1645564115 14132 e8e7e61e51ade521a7238fac8362786c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/hyperref/puenc.def" 1645564115 117004 ed1c2cc82bb9836e9d59549dd8c33098 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty" 1606083562 61409 611a1d217ee1bcaa96feb7a3165f8767 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/ifmtarg/ifmtarg.sty" 1525197427 318 019510c713feab56160631df4423d2aa ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/inconsolata/zi4.sty" 1558214095 4319 14e5db0b68d045ed49e4ed232b58e93f ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1602274869 22521 d2fceb764a442a2001d257ef11db7618 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1644269979 29921 d0acc05a38bd4aa3af2017f0b7c137ce ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/l3kernel/expl3.sty" 1645736062 6107 e082261f9677386795d8bf6b6254fa9d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty" 1642022539 4674 ac560df2ef76ab2c406a4948a48f79f8 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1575499565 5766 13a9e8766c47f30327caf893ece86ac8 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/libertine/LinLibertine_I.tex" 1355443847 24957 22a8dc56372173d7ffa65753dfc6757e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/libertine/OT1LinuxLibertineT-TLF.fd" 1490131464 3019 024cbcf380053dddffd4ac0b44aac808 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/libertine/T1LinuxBiolinumT-TLF.fd" 1490131464 2264 2324ece7d4d2a7fa3c2138d120196405 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/libertine/T1LinuxLibertineT-TLF.fd" 1490131464 2980 15412b63bb0119ade194e089fff355d4 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/libertine/TS1LinuxLibertineT-TLF.fd" 1490131464 1689 42435c12d9d3dc0c446eb02409690ab9 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/libertine/libertine.sty" 1585343451 19187 009694a9db31ccbf28809b85025a2e3d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/lipsum/lipsum.ltd.tex" 1632168149 95525 6fd0552101a6b1f9b7a84b402ec435ba ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/lipsum/lipsum.sty" 1632168149 14690 c2c754218a7108db7823a4839c1bc3cd ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/listings/listings.cfg" 1585170648 1830 e31effa752c61538383451ae21332364 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/listings/listings.sty" 1585170648 80964 64e57373f36316e4a09b517cbf1aba2e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/listings/lstmisc.sty" 1585170648 77022 ee25ce086f4a79d8cf73bac6f94c02a5 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/microtype/microtype-pdftex.def" 1647374306 48187 dc49d7ea7b8a3fa75e04c799929703b9 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/microtype/microtype.cfg" 1647374306 26646 da004eb274e0158774539ced5cafcb54 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/microtype/microtype.sty" 1647374306 90503 376660e75505e801f0c4fd36fb88b54c ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/microtype/mt-msa.cfg" 1645649607 5929 c3d8b4090f819eea493a446d04c35664 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/microtype/mt-msb.cfg" 1645649607 5594 c9a8b7ef6240cf465b2480ea05ec0128 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/mmap/oml.cmap" 1215649417 1866 c1c12138091b4a8edd4a24a940e6f792 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/mweights/mweights.sty" 1490909540 4953 67f29a12ea26221103fce6bae3433e60 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/natbib/natbib.sty" 1291685959 45456 1c8843383c0bd05870c45fa0ebea6cc2 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/ncctools/manyfoot.sty" 1564869456 12626 1a53db73f820034b2ec9e401e205b159 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/ncctools/nccfoots.sty" 1137110429 1189 756b2502150ce6dc2179faebbd40e701 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/newtx/lmsntxsy.fd" 1634244313 1140 ee5963b0c88b5c4f92fed61a27034b79 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/newtx/lmxntxexx.fd" 1471383769 549 70a2497c311fc8b19acb02f7607eb4e9 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/newtx/newtxmath.sty" 1646341564 139800 6fd209c21f962864db11ffa77d4a2c22 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/newtx/omlnxlmi.fd" 1387148426 3537 d34ce3dbfa1b807fe48744508a5473e9 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/newtx/untxexa.fd" 1376004569 558 91031960917530f42e0f8fc4d1db1550 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/newtx/untxmia.fd" 1596661975 3832 57dfbcfb6f19c9f63a28ca1bfda0abe2 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/newtx/untxsyc.fd" 1376004569 558 e8967b9c8273bc0c05b993fe92a9b757 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/newtx/untxsym.fd" 1427059306 561 d8e97a03c5c4248c2bf6d144fffb97f7 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/oberdiek/centernot.sty" 1575152444 1640 c9cca60f81c5839b9a3e794d72c0b0a7 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/oberdiek/ifdraft.sty" 1575152444 1922 5bdcc31b0573e5e7f31c36f1b88b6a7d ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/preprint/balance.sty" 1137110595 3366 d938ad2440edc1ea1c9042843580ec42 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1575674187 9715 b051d5b493d9fe5f4bc251462d039e5f ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/sttools/stfloats.sty" 1633983922 24057 ff20efb65b128d27c08eac20ec07f540 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/textcase/textcase.sty" 1568497026 2156 a092fd3ecd0a13fd597725ee6894b032 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/totpages/totpages.sty" 1137110984 7670 b07e668265cf485332abe582e7ed306e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/trimspaces/trimspaces.sty" 1253232110 1380 971a51b00a14503ddf754cab24c3f209 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/upquote/upquote.sty" 1334873510 1048 517e01cde97c1c0baf72e69d43aa5a2e ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/xcolor/xcolor.sty" 1635798903 56029 3f7889dab51d620aa43177c391b7b190 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1605910342 4902 efb3d66683a2da2a232f71e3a571a899 ""
|
||||
"/usr/local/texlive/2022/texmf-dist/web2c/texmf.cnf" 1646502317 40171 cdab547de63d26590bebb3baff566530 ""
|
||||
"/usr/local/texlive/2022/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1647878959 4410336 7d30a02e9fa9a16d7d1f8d037ba69641 ""
|
||||
"/usr/local/texlive/2022/texmf-var/web2c/pdftex/pdflatex.fmt" 1661249257 2826440 c4fb37ef223f1d0b7571cc2822c67358 ""
|
||||
"/usr/local/texlive/2022/texmf.cnf" 1647878952 577 209b46be99c9075fd74d4c0369380e8c ""
|
||||
"diagram/AllocationOverview24.png" 1740922321 45834 e2cfc13e3970cce298f0396858ac1356 ""
|
||||
"diagram/HighOverviewArchitecture.drawio.png" 1740922321 152902 4b92f7b86b6525c26112d4fd5935c951 ""
|
||||
"diagram/TLBAccess.drawio.png" 1740922321 77522 75367f218335fe386db852966a892e9b ""
|
||||
"diagram/bargraph.png" 1740924635 74263 65509d21744edc6c9ca02b8c67d664fb ""
|
||||
"diagram/kmeans.png" 1740924635 94217 5d14308c169ff296bf499805b9823aa6 ""
|
||||
"paper.aux" 1741802263 7785 781aae7fe100718ccd4649f95940a653 "pdflatex"
|
||||
"paper.bbl" 1741802262 3371 42d48b9e206e960f4b2353f982d16d50 "bibtex paper"
|
||||
"paper.out" 1741802263 3798 e22d4f36e6b91afd72be221cc622de73 "pdflatex"
|
||||
"paper.tex" 1741802253 76328 2330f7be124bee9ff27f5c9b6d8c3205 ""
|
||||
(rewritten before read)
|
||||
["pdflatex"] 1743691797.61372 "paper.tex" "paper.pdf" "paper" 1743691799.22072 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 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc" 1490131464 3357 5261ce65ba03aef9faf6135657b9abb6 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_ncsllp.enc" 1490131464 3288 25b5d43be7be8cba51d85b642598b3b0 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_nh77jq.enc" 1490131464 2933 8d808fcabf70c6c809bb14c283ece4da ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.enc" 1490131464 2807 3bc923a7d38598e901b235df221224cb ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/jknappen/ec/ecrm0900.tfm" 1136768653 3584 d3d8ac8b25ca19c0a40b86a5db1e8ccc ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1246382020 924 9904cf1d39e9767e7a3622f2a125a565 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1246382020 928 2dc8d444221b7a635bb58038579b861a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1246382020 908 2921f8a10601f252058503cc6570e581 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1246382020 940 75ac932a52f80982a9f8ea75d03a34cf ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmr9.tfm" 1136768653 1292 6b21b9c2c7bebb38aa2273f7ca0fb3af ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1--base.tfm" 1490131464 1744 9486ddc64e90094bbb83f53a83b0e415 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1.tfm" 1490131464 19548 768852037f39958c435d71846b8877ea ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTB-tlf-t1--base.tfm" 1490131464 1768 23aace73e6def3193d6e0453af90487b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTB-tlf-t1.tfm" 1490131464 19416 aedd2db224ad278ddf2c411f52d86014 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1--base.tfm" 1490131464 1988 34f48347175f643e8b2134cd8f7a90a3 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1.tfm" 1490131464 20012 beadc3a52552515981c78cd731a40afe ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ot1--base.tfm" 1490131464 1396 948c4e08512f70c39fade285ab551221 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ot1.tfm" 1490131464 5612 e018d44ec5e7a3b3574b3a9598e8e279 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-sc-t1--base.tfm" 1490131464 1700 eb1903cb93ada6655f6ace5bcfb0a2dd ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-sc-t1.tfm" 1490131464 15404 b4ba91f16bd331695200640fa8131f38 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-t1--base.tfm" 1490131464 1740 2943dd2ba1dcd3849599663c1d2693ef ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-t1.tfm" 1490131464 19504 bdf9fb416f5a91bf56b1ccda887f5b91 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ts1--base.tfm" 1490131464 1488 9b803beb26c181b228c4fde93d4398a3 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ts1.tfm" 1490131464 1516 5e35377e77f0326136c4078d4c186a36 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTB-tlf-t1--base.tfm" 1490131464 1724 248b3a23a2f748bd3089e9d3118d991e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTB-tlf-t1.tfm" 1490131464 19488 f569478ca339d9b5ad93b46bf7a470e2 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1--base.tfm" 1490131464 1932 54655639067fe21ae3b23b77173351a5 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1.tfm" 1490131464 19920 63bb3db95807ffe45b0900d104896325 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/LibertineMathMI.tfm" 1569879884 1552 f91250a4f6e3f34d48dfc8f34aabc764 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/NewTXMI.tfm" 1572128992 1408 ef71a9098da4d5a1a85b5920860b6731 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/ntxexa.tfm" 1589834365 760 e8ec875a87aa119f1af7ea4be48da9e8 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/ntxexx.tfm" 1699567298 1788 252bc928adbd02cba8c68f0fccd62f6c ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/ntxsy.tfm" 1724614892 2024 35d8be81d65a081fa18ab2ba93aeb166 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/ntxsy5.tfm" 1724614892 2032 f45c629943b6f098ea13e1db6040dab0 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/ntxsy7.tfm" 1724614892 2000 c8518036fe884fa294a1eeb2da3075ed ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/ntxsyc.tfm" 1589834365 1028 2f6cbe812325cff65b38e4c0a517f4cb ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/ntxsym.tfm" 1693080977 1560 755acbe6da75f914298c79fa8bb324fd ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/nxlmi.tfm" 1569879884 3284 b46311ccaa7f6b514eba481b40575544 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/nxlmi5.tfm" 1569879884 3308 547f06fb56819535c1e0ce385c4f647b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/nxlmi7.tfm" 1575323900 3320 6cf9c990505795806c1f3ac537f356c3 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/nxlmia.tfm" 1617586172 2616 0bf54bdee01e38e3ed8342d25e5584f6 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/stxscr.tfm" 1569879884 1836 3af1bb0996e7f6070b70151de6395c2c ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txex-bar.tfm" 1699567298 900 fc8190d6de1e520c751c99f1e4e5fe0a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txsys.tfm" 1724614892 1656 68b5079c64f1cefe2cf442b6a60cf2fd ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumT.pfb" 1354061736 548786 1e51d517556d29f2841d57da58668a69 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumTB.pfb" 1354061736 687959 b99c9f5a9b28f3dba077d1c078bceb3f ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumTI.pfb" 1354061736 879384 e498f90c951041b56f91c0ffbf77a9d2 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinLibertineT.pfb" 1354061736 614791 ea39341e4db76f25cb20c361802d3cd5 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinLibertineTB.pfb" 1354061736 538965 19c5c8b7f952ac97afb8565e9c21a82d ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinLibertineTI.pfb" 1354061736 490980 e27f1e217a0902faea22205f197918d4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/LibertineMathMI.pfb" 1569879884 35829 268d1d114c9114e541f92817aec4230d ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/NewTXMI.pfb" 1724614892 32409 aee30089ce2d804d7327a2f8ccff0462 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/txsys.pfb" 1724614892 45985 fd5f8adcc4f0e93e9a95469e12126723 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinBiolinumT-tlf-t1.vf" 1490131464 1728 e76e04a950024a95b620698b679c9810 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinBiolinumTB-tlf-t1.vf" 1354061736 1728 4ae633ddccb76ba8d0a0906a5e2e8fdf ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinBiolinumTI-tlf-t1.vf" 1354061736 1728 0f47a4d345513e0ad2e29d47540d4f2a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-ot1.vf" 1490131464 968 b4daf26f130460f16d670da7f3f6963f ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-sc-t1.vf" 1354061736 1732 19a98a3416ac208cfc1e8cd877852bec ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-t1.vf" 1354061736 1728 b078a050f24d7649619baa987d7216d8 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-ts1.vf" 1490131464 640 f2633b196ddbd644937d19e300a5024e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineTB-tlf-t1.vf" 1490131464 1768 5d66dfd9709f1f38b8fb3cb38db46402 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineTI-tlf-t1.vf" 1490131464 1768 b3bfd8ed1fe2dce5fd19610abe4c3dbe ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/newtx/ntxsy.vf" 1724614892 1792 7cf99effbd74f7851ca7683a6d12b685 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/fonts/vf/public/newtx/nxlmi.vf" 1569879884 2744 3e5ba39e1559219ae379b7645e2f9524 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/iftex/ifluatex.sty" 1572645307 492 1994775aa15b0d1289725a0b1bbc2d4c ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/iftex/iftex.sty" 1734129479 7984 7dbb9280f03c0a315425f1b4f35d43ee ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/iftex/ifxetex.sty" 1572645307 488 4565444a3e75e59cb2702dc42e18f482 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/kastrup/binhex.tex" 1215376579 2553 4b99aa9667b708dd355926023d705446 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1701727651 17865 1a9bd36b4f98178fa551aca822290953 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/pdftex/glyphtounicode.tex" 1353199370 216747 92ec6cf8e39216b4894417b5aa6f057a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1593379760 20089 80423eac55aa175305d35b49e04fe23b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-pdfdoc.def" 1575152242 5108 8920602307ea1294ccbce2300c7c6ccb ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-utf8.def" 1575152242 11635 4fd2019d04ad095a0b1bde5aaed4a70e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/stringenc.sty" 1575152242 21514 b7557edcee22835ef6b03ede1802dad4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/xkeyval/keyval.tex" 1655411236 2725 1a42bd9e7e57e25fc7763c445f4b785b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1655411236 19231 27205ee17aaa2902aea3e0c07a3cfc65 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1655411236 7677 9cb1a74d945bc9331f2181c0a59ff34a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/xstring/xstring.sty" 1544223003 123 a302f2c651a95033260db60e51527ae8 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/generic/xstring/xstring.tex" 1692744296 49397 a8071cbd06dd0bb15ae8acf876c73f20 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/acmart/acmart.cls" 1735764768 119755 fb6b15d8a2b05651c52a19a84ffb7b05 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/algorithmicx/algorithmicx.sty" 1160617237 26750 ce139c05a983e19ddca355b43e29c395 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/algorithmicx/algpseudocode.sty" 1160617237 3457 d9077efe6b74c5a094199256af8d7d9a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/algorithms/algorithm.sty" 1251330371 3249 15763257e50278eef5db1952ccde229c ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amscls/amsart.cls" 1591045760 61881 a7369c346c2922a758ae6283cc1ed014 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1359763108 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/umsa.fd" 1359763108 961 6518c6525a34feb5e8250ffa91731cff ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/umsb.fd" 1359763108 961 d02606146ba5601b5645f987c92e6193 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1717359999 2222 2166a1f7827be30ddc30434e5efcee1b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amsmath/amsgen.sty" 1717359999 4173 d22509bc0c91281d991b2de7c88720dd ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amsmath/amsmath.sty" 1730928152 88370 c780f23aea0ece6add91e09b44dca2cd ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amsmath/amsopn.sty" 1717359999 4474 23ca1d3a79a57b405388059456d0a8df ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/amsmath/amstext.sty" 1717359999 2444 71618ea5f2377e33b04fb97afdd0eac2 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/atveryend/atveryend.sty" 1728505250 1695 be6b4d13b33db697fd3fd30b24716c1a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1738182759 2963 d8ec5a1b4e0a106c5c737900202763e4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1738182759 2378 14b657ee5031da98cf91648f19642694 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/base/fontenc.sty" 1738182759 5275 0d62fb62162c7ab056e941ef18c5076d ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/base/ifthen.sty" 1738182759 5525 9dced5929f36b19fa837947f5175b331 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/base/textcomp.sty" 1738182759 2846 e26604d3d895e65d874c07f30c291f3f ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/booktabs/booktabs.sty" 1579038678 6078 f1cb470c9199e7110a27851508ed7a5c ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/caption/caption-ams-smf.sto" 1645391520 2176 c0bb71a9780b6b41388cfa629b1a32f7 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/caption/caption.sty" 1696191071 56128 c2ccf1a29d78c33bc553880402e4fb9a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/caption/caption3.sty" 1696191071 72619 ee90b6612147680fd73c3b1406a74245 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/cmap/cmap.sty" 1612650595 3574 ddc11a0ae1c579d351ed20d2319ad422 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/cmap/ot1.cmap" 1177721415 1207 4e0d96772f0d338847cbfb4eca683c81 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/cmap/t1.cmap" 1215522782 1938 beaa4a8467aa0074076e0e19f2992e29 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/comment/comment.sty" 1472166125 10197 204f75d5d8d88aa345a8c402e879e63b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/draftwatermark/draftwatermark.sty" 1709586629 7056 92cf7c114203ae12de1e4f68040f8e48 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/environ/environ.sty" 1399239813 4378 f429f0da968c278653359293040a8f52 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/etoolbox/etoolbox.sty" 1739306980 46850 d87daedc2abdc653769a6f1067849fe0 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/everyshi/everyshi.sty" 1606256234 2368 ef01f98551a0f54407358b67f8a6c5e1 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty" 1739048179 31715 19e60610b63819fe670dfa1cd84a4e94 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/float/float.sty" 1137110151 6749 16d2656a1984957e674b149555f1ea1d ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/fontaxes/fontaxes.sty" 1595539507 14310 41fdb35c51be792ddf00696848d0cfef ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/graphics-def/pdftex.def" 1713382759 19440 9da9dcbb27470349a580fca7372d454b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/graphics.sty" 1730496337 18363 dee506cb8d56825d8a4d020f5d5f8704 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/graphicx.sty" 1717359999 8010 6f2ad8c2b2ffbd607af6475441c7b5e4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/keyval.sty" 1717359999 2671 70891d50dac933918b827d326687c6e8 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/mathcolor.ltx" 1667332637 2885 9c645d672ae17285bba324998918efd8 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/graphics/trig.sty" 1717359999 4023 2c9f39712cf7b43d3eb93a8bbd5c8f67 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/grffile/grffile.sty" 1573594974 1499 e43bb281163d9895e141f684cfc2da7e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperref/hpdftex.def" 1730838014 48154 82da9991b9f0390b3a9d3af6c8618af4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperref/hyperref.sty" 1730838014 222112 c22dbd2288f89f7ba942ac22f7d00f11 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperref/nameref.sty" 1705871765 11026 182c63f139a71afd30a28e5f1ed2cd1c ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperref/pd1enc.def" 1730838014 14249 ff700eb13ce975a424b2dd99b1a83044 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperref/puenc.def" 1730838014 117112 7533bff456301d32e6d6356fad15f543 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty" 1710792253 62205 a7f89f92229cfedbace009eb0e06c099 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/ifmtarg/ifmtarg.sty" 1525197427 318 019510c713feab56160631df4423d2aa ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/zi4.sty" 1558214095 4319 14e5db0b68d045ed49e4ed232b58e93f ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1655478651 22555 6d8e155cfef6d82c3d5c742fea7c992e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1665067230 13815 760b0c02f691ea230f5359c4e1de23a7 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1716410060 29785 9f93ab201fe5dd053afcc6c1bcf7d266 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/l3kernel/expl3.sty" 1738271527 6565 f51d809db6193fae7b06c1bc26ca8f75 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty" 1724879202 4674 22943918cc84173478a588d6efbc800b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/LinLibertine_I.tex" 1355443847 24957 22a8dc56372173d7ffa65753dfc6757e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/OT1LinuxLibertineT-TLF.fd" 1490131464 3019 024cbcf380053dddffd4ac0b44aac808 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/T1LinuxBiolinumT-TLF.fd" 1490131464 2264 2324ece7d4d2a7fa3c2138d120196405 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/T1LinuxLibertineT-TLF.fd" 1490131464 2980 15412b63bb0119ade194e089fff355d4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/TS1LinuxLibertineT-TLF.fd" 1490131464 1689 42435c12d9d3dc0c446eb02409690ab9 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/libertine.sty" 1713989903 19358 ca0f9b5016a74813fc4f6c85c48d3d5b ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/lipsum/lipsum.ltd.tex" 1632168149 95525 6fd0552101a6b1f9b7a84b402ec435ba ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/lipsum/lipsum.sty" 1632168149 14690 c2c754218a7108db7823a4839c1bc3cd ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/listings/listings.cfg" 1727126400 1865 301ae3c26fb8c0243307b619a6aa2dd3 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/listings/listings.sty" 1727126400 81640 997090b6c021dc4af9ee00a97b85c5b4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/listings/lstmisc.sty" 1727126400 77051 be68720e5402397a830abb9eed5a2cb4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/listings/lstpatch.sty" 1710360531 353 9024412f43e92cd5b21fe9ded82d0610 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/microtype/microtype-pdftex.def" 1739394495 49650 26a5e891c8da4553198575ba0517c0e5 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/microtype/microtype.cfg" 1739394495 27015 bd167d0154f271c424b157d8894ae4a4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/microtype/microtype.sty" 1739394495 102775 6624742dafeb6f262a13657f9f77f048 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/microtype/mt-msa.cfg" 1739394495 5929 11976688d7d8ed4d0d05efd1b3d5a7e9 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/microtype/mt-msb.cfg" 1739394495 5594 d52d5015abe666fae752ed7674c2dd73 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/mmap/oml.cmap" 1215649417 1866 c1c12138091b4a8edd4a24a940e6f792 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/mweights/mweights.sty" 1490909540 4953 67f29a12ea26221103fce6bae3433e60 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/natbib/natbib.sty" 1291685959 45456 1c8843383c0bd05870c45fa0ebea6cc2 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/ncctools/manyfoot.sty" 1564869456 12626 1a53db73f820034b2ec9e401e205b159 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/ncctools/nccfoots.sty" 1137110429 1189 756b2502150ce6dc2179faebbd40e701 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/lmsntxsy.fd" 1634244313 1140 ee5963b0c88b5c4f92fed61a27034b79 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/lmxntxexx.fd" 1471383769 549 70a2497c311fc8b19acb02f7607eb4e9 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/newtxmath.sty" 1727126309 141084 0a94ecd3ff47caf25c908eb85183555f ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/omlnxlmi.fd" 1387148426 3537 d34ce3dbfa1b807fe48744508a5473e9 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/untxexa.fd" 1376004569 558 91031960917530f42e0f8fc4d1db1550 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/untxmia.fd" 1718914330 4181 343926c9f03f7dd5c88e425dd9f47b91 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/untxsyc.fd" 1376004569 558 e8967b9c8273bc0c05b993fe92a9b757 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/untxsym.fd" 1692649180 568 9df6be53c1b3ec79740d714ff4ae0937 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/oberdiek/centernot.sty" 1575152444 1640 c9cca60f81c5839b9a3e794d72c0b0a7 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/oberdiek/ifdraft.sty" 1575152444 1922 5bdcc31b0573e5e7f31c36f1b88b6a7d ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/preprint/balance.sty" 1137110595 3366 d938ad2440edc1ea1c9042843580ec42 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1657483315 9714 ba3194bd52c8499b3f1e3eb91d409670 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/sttools/stfloats.sty" 1633983922 24057 ff20efb65b128d27c08eac20ec07f540 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/totpages/totpages.sty" 1137110984 7670 b07e668265cf485332abe582e7ed306e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/trimspaces/trimspaces.sty" 1253232110 1380 971a51b00a14503ddf754cab24c3f209 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/upquote/upquote.sty" 1334873510 1048 517e01cde97c1c0baf72e69d43aa5a2e ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/xcolor/xcolor.sty" 1727642399 55384 b454dec21c2d9f45ec0b793f0995b992 ""
|
||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1655411236 4937 4ce600ce9bd4ec84d0250eb6892fcf4f ""
|
||||
"/usr/local/texlive/2025/texmf-dist/web2c/texmf.cnf" 1739380943 42148 61becc7c670cd061bb319c643c27fdd4 ""
|
||||
"/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1743605858 5467155 19efa205003f9ecad95fbbaa6ff24da1 ""
|
||||
"/usr/local/texlive/2025/texmf-var/web2c/pdftex/pdflatex.fmt" 1743605772 3345731 9f70a6727154d056b4116903856deae2 ""
|
||||
"/usr/local/texlive/2025/texmf.cnf" 1741450484 577 418a7058ec8e006d8704f60ecd22c938 ""
|
||||
"diagram/AllocationOverview24.png" 1740922321.38668 45834 e2cfc13e3970cce298f0396858ac1356 ""
|
||||
"diagram/HighOverviewArchitecture.drawio.png" 1740922321.38402 152902 4b92f7b86b6525c26112d4fd5935c951 ""
|
||||
"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 ""
|
||||
(generated)
|
||||
"paper.aux"
|
||||
"paper.log"
|
||||
"paper.out"
|
||||
"paper.pdf"
|
||||
(rewritten before read)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -23,9 +23,9 @@
|
||||
%%
|
||||
%%
|
||||
%% Commands for TeXCount
|
||||
%TC:macro \cite [option:text,text]
|
||||
%TC:macro \citep [option:text,text]
|
||||
%TC:macro \citet [option:text,text]
|
||||
%TC:macro ~\cite [option:text,text]
|
||||
%TC:macro ~\citep [option:text,text]
|
||||
%TC:macro ~\citet [option:text,text]
|
||||
%TC:envir table 0 1
|
||||
%TC:envir table* 0 1
|
||||
%TC:envir tabular [ignore] word
|
||||
@@ -52,7 +52,7 @@
|
||||
\usepackage{amsmath}
|
||||
|
||||
\usepackage{lipsum}
|
||||
\usepackage{stfloats}
|
||||
\usepackage{stfloats}
|
||||
\usepackage{grffile}
|
||||
|
||||
\lstset{basicstyle=\small\ttfamily,columns=fullflexible}
|
||||
@@ -108,7 +108,7 @@
|
||||
|
||||
%%
|
||||
%% The majority of ACM publications use numbered citations and
|
||||
%% references. The command \citestyle{authoryear} switches to the
|
||||
%% references. The command ~\citestyle{authoryear} switches to the
|
||||
%% "author year" style.
|
||||
%%
|
||||
%% If you are preparing content for an event
|
||||
@@ -116,7 +116,7 @@
|
||||
%% citations and references.
|
||||
%% Uncommenting
|
||||
%% the next command will enable that style.
|
||||
%%\citestyle{acmauthoryear}
|
||||
%%~\citestyle{acmauthoryear}
|
||||
|
||||
|
||||
%%
|
||||
@@ -124,9 +124,9 @@
|
||||
\begin{document}
|
||||
|
||||
%%
|
||||
%% The "title" command has an optional parameter,
|
||||
%% The "title" commanSd has an optional parameter,
|
||||
%% allowing the author to define a "short title" to be used in page headers.
|
||||
\title{Fat-pointer Address Translations}
|
||||
\title{Fat Address Translations}
|
||||
|
||||
%%
|
||||
%% The "author" command and its associated commands are used to define
|
||||
@@ -210,26 +210,26 @@
|
||||
%% 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 Translation Lookaside Buffers (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
|
||||
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,
|
||||
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.
|
||||
\end{abstract}
|
||||
|
||||
%%
|
||||
@@ -292,23 +292,23 @@
|
||||
\maketitle
|
||||
|
||||
\section{Introduction}
|
||||
% In the dynamic landscape of computing, the pursuit of optimal performance is a constant endeavor,
|
||||
% especially as applications evolve to handle increasingly complex workloads.
|
||||
% One critical aspect influencing performance is memory management, where efficient
|
||||
% utilization of resources is paramount. Translation Lookaside Buffers (TLBs) play a
|
||||
% In the dynamic landscape of computing, the pursuit of optimal performance is a constant endeavor,
|
||||
% especially as applications evolve to handle increasingly complex workloads.
|
||||
% One critical aspect influencing performance is memory management, where efficient
|
||||
% utilization of resources is paramount. s (TLBs) play a
|
||||
% pivotal role in this regard, expediting memory access by storing recently accessed memory translations.
|
||||
% However, as applications grow in size and complexity, the capacity of TLBs often struggles to
|
||||
% keep pace, leading to performance bottlenecks\cite{mittalsurvey2017}. To address this challenge, researchers have
|
||||
% However, as applications grow in size and complexity, the capacity of TLBs often struggles to
|
||||
% keep pace, leading to performance bottlenecks~\cite{mittalsurvey2017}. To address this challenge, researchers have
|
||||
% turned to innovative solutions, one of which involves harnessing the benefits of huge pages.
|
||||
% Huge pages, also known as large pages, allow for the allocation of memory in significantly
|
||||
% larger chunks compared to traditional small pages. By reducing the number of TLB entries
|
||||
% needed to access a given amount of memory, huge pages offer a potential avenue for optimizing
|
||||
% Huge pages, also known as large pages, allow for the allocation of memory in significantly
|
||||
% larger chunks compared to traditional small pages. By reducing the number of TLB entries
|
||||
% needed to access a given amount of memory, huge pages offer a potential avenue for optimizing
|
||||
% TLB utilization and thereby enhancing overall system performance.
|
||||
|
||||
% Simultaneously, advancements in hardware-level security, such as the Capability Hardware
|
||||
% Enhanced RISC Instructions (CHERI) architecture, present additional opportunities for
|
||||
% performance enhancement. CHERI's capability-based addressing approach not only strengthens
|
||||
% system security by tightly controlling memory access but also provides avenues for
|
||||
% Simultaneously, advancements in hardware-level security, such as the Capability Hardware
|
||||
% Enhanced RISC Instructions (CHERI) architecture, present additional opportunities for
|
||||
% performance enhancement. CHERI's capability-based addressing approach not only strengthens
|
||||
% system security by tightly controlling memory access but also provides avenues for
|
||||
% accelerating memory management operations.
|
||||
|
||||
In computing, achieving high performance is an ongoing challenge, especially as
|
||||
@@ -319,79 +319,156 @@ memory address translations. A TLB, a specialised cache in the memory management
|
||||
reduces the time required to convert virtual addresses to physical ones. When a program accesses
|
||||
data in memory, the MMU first checks the TLB for a matching entry, avoiding the slower process of
|
||||
consulting page tables. However, as applications grow larger and more complex, the fixed size of
|
||||
TLBs often cannot keep up, leading to more TLB misses and performance slowdowns\cite{mittal_survey_2017}.
|
||||
TLBs often cannot keep up, leading to more TLB misses and performance slowdowns~\cite{mittal_survey_2017}.
|
||||
To tackle this issue, researchers have explored new solutions, including the use of
|
||||
huge pages\cite{panwar_hawkeye_2019}.
|
||||
huge pages~\cite{panwar_hawkeye_2019}.
|
||||
|
||||
Huge pages, also known as large pages, allow for the allocation of memory in significantly larger chunks
|
||||
compared to traditional small pages. By reducing the number of TLB entries needed to access a given amount
|
||||
of memory, Huge pages offer a potential avenue for optimising TLB utilisation by reducing the number
|
||||
of entries needed to map large memory regions. This not only decreases the frequency of
|
||||
TLB misses but also lowers the overhead associated with address translation. By minimising
|
||||
these bottlenecks, huge pages can improve system performance in several ways, such as speeding
|
||||
these bottlenecks, huge pages can improve system performance in aspects such as speeding
|
||||
up memory-intensive applications, reducing latency in data access, and enhancing throughput for
|
||||
workloads that rely heavily on large datasets.
|
||||
|
||||
Simultaneously, advancements in hardware-level security, such as the Capability Hardware Enhanced RISC Instructions (CHERI)
|
||||
\cite{woodruff_cheri_2014} architecture, present additional opportunities for performance enhancement. CHERI's capability-based addressing approach not
|
||||
~\cite{woodruff_cheri_2014} architecture, present additional opportunities for performance enhancement. CHERI's capability-based addressing approach not
|
||||
only strengthens system security by tightly controlling memory access but also opens avenues for optimising memory management
|
||||
operations. By integrating CHERI’s compressed\cite{woodruff_cheri_2019} encoded bounds with the use of huge pages, it becomes possible to track and manage
|
||||
large, physically contiguous memory blocks more efficiently. This combination reduces TLB pressure by minimising the number of
|
||||
operations. By integrating CHERI’s compressed~\cite{woodruff_cheri_2019} encoded bounds with the use of huge pages, We have shown it is possible to track and manage
|
||||
large, physically contiguous memory blocks without requiring numerous TLB entries. This combination reduces TLB pressure by minimising the number of
|
||||
entries required to map extensive memory regions, thereby decreasing TLB misses and improving address translation performance.
|
||||
Furthermore, it accelerates memory-intensive tasks by reducing the overhead associated with managing fragmented or non-contiguous
|
||||
memory allocations. The contributions for the following paper are as follows:
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Fat-pointer Based Range Addresses}: Introduces fat-pointers that include memory bounds, allowing
|
||||
efficient tracking and management of physically contiguous memory regions.
|
||||
\item \textbf{Fat pointer Based Range Addresses}: Introduces fat-pointers that include memory bounds, allowing
|
||||
efficient tracking and management of physically contiguous memory regions (section ~\ref{sec:FatPointerTranslations}).
|
||||
|
||||
\item \textbf{Novel Memory Allocation Algorithms}: Provides new algorithms for allocating and freeing
|
||||
physically contiguous memory, integrating huge pages with CHERI's capability-based bounds for enhanced memory management.
|
||||
|
||||
\item \textbf{CHERI’s Capability-based Optimization}: Demonstrates how CHERI's architecture can be
|
||||
used to optimize memory allocation by encoding memory bounds directly within pointers, reducing TLB reliance.
|
||||
\end{itemize}
|
||||
\item \textbf{CHERI’s Capability-based Optimization}: Demonstrates how CHERI's architecture can be
|
||||
used to optimize memory allocation by encoding memory bounds directly within pointers, reducing TLB reliance
|
||||
(section ~\ref{sec:128bitCompressedBounds}).
|
||||
|
||||
\item \textbf{Memory Allocation Algorithms}: Provides new algorithms for allocating and freeing
|
||||
physically contiguous memory, integrating huge pages with CHERI's capability-based bounds for enhanced memory management
|
||||
(section ~\ref{sec:MemoryAllocator}).
|
||||
\end{itemize}
|
||||
|
||||
Through comprehensive evaluation, including micro and macro benchmarks, we demonstrate the allocator’s ability
|
||||
to reduce TLB misses by up to 90\%, yielding significant improvements in wall clock runtimes for memory-intensive
|
||||
applications. While its impact on larger, computation-heavy workloads is less pronounced,
|
||||
the proposed allocator shows strong potential for advancing memory management in scenarios requiring
|
||||
high memory throughput and low translation overhead.
|
||||
\newline
|
||||
|
||||
\begin{enumerate}
|
||||
\item How does the utilization of bounds for tracking memory allocations, in addition to security purposes, affect the
|
||||
run times and Translation Lookaside Buffer (TLB) miss rates in modern computing systems?
|
||||
\item How does the implementation of bounds for seeking through physically contiguous memory influence the complexity and
|
||||
efficiency of standard memory allocators, particularly those with advanced features such as transparent
|
||||
huge pages, and what are the implications for system performance in terms of execution speed, memory access
|
||||
latency, and resource utilization?
|
||||
\end{enumerate}
|
||||
\section{Related work}
|
||||
\label{sec:org0e192da}
|
||||
|
||||
\subsection{Huge Pages}
|
||||
% A segment~\cite{basu_efficient_nodate} can be viewed as mapping between contiguous virtual
|
||||
% memory and contiguous physical memory. The property of a
|
||||
% segment allows it to be larger than a page. Direct Segment allows the user to set a single segment
|
||||
% for an application. Two registers are added to mark the start
|
||||
% 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.
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
\subsection{Direct Segment}
|
||||
Early processors often used segments to manage virtual memory, where a segment~\cite{DirectSegment} essentially mapped contiguous
|
||||
virtual memory to contiguous physical memory. Unlike pages, which are relatively small, segments can be much
|
||||
larger, offering the potential for more efficient memory management in certain scenarios.
|
||||
This concept of segmentation has seen a resurgence in some modern approaches that aim to enhance
|
||||
translation coverage by designating specific areas in the virtual address space.
|
||||
|
||||
This method allows programmers to explicitly define
|
||||
a single segment for applications requiring significant memory. It introduces two new
|
||||
registers to the system, which indicate the start and end of this segment.
|
||||
Virtual addresses within this segment are translated by calculating
|
||||
the offset from the virtual start address and applying this offset to the
|
||||
physical start address. This straightforward method simplifies the translation
|
||||
process for large memory areas but requires significant modifications to the
|
||||
source code of applications.
|
||||
|
||||
\subsection{Range Memory Mapping (RMM)}
|
||||
Redundant Memory Mappings (RMM)~\cite{karakostas_redundant_2015} enhance memory management by introducing an additional range table
|
||||
that pre-allocates contiguous physical pages for large memory allocations, creating ranges that
|
||||
are both virtually and physically contiguous. This approach simplifies address translation
|
||||
within these ranges by adding an offset, similar to Direct Segment, but RMM supports multiple
|
||||
ranges and operates transparently to programmers, requiring no source code modifications.
|
||||
The range table, separate from the conventional page table, holds the mappings for these
|
||||
large allocations. To determine which range an address belongs to, RMM compares the address
|
||||
against all range boundaries, a process that is computationally expensive and therefore performed
|
||||
only after an L1 TLB miss. To optimize this, RMM uses a range TLB (RTLB) to quickly identify
|
||||
if an address falls within any pre-allocated range, facilitating efficient translation and
|
||||
reducing overhead. Range mapping works alongside the paging system by generating TLB entries on
|
||||
TLB misses and still performing TLB lookups for each virtual address translation.
|
||||
Unlike traditional segmentation mechanisms, range mapping activates a range lookaside
|
||||
buffer (RTLB) located with the last level TLB upon a miss. The hardware TLB miss
|
||||
handler then searches the RTLB for the miss address and, if found, generates a new
|
||||
TLB entry with the physical address derived from the base virtual address and
|
||||
range offset, along with permission bits. If the RTLB also misses, the system
|
||||
defaults to a standard page walk while a range table walker simultaneously
|
||||
loads the range into the RTLB in the background, avoiding delays in memory operations.
|
||||
The RTLB, functioning as a fully associative search structure, ensures
|
||||
that most last level TLB misses are handled efficiently by range mapping,
|
||||
reducing the need for costly page table walks.
|
||||
|
||||
\subsection{CHERI}
|
||||
\label{sec:orgbf2eaac}
|
||||
CHERI (Capability Hardware Enhanced RISC Instructions) 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}
|
||||
|
||||
|
||||
\section{Fat-pointer Address Translations}
|
||||
\section{Fat Address Translations}
|
||||
\label{sec:FatPointerTranslations}
|
||||
Fat-pointer Address Translations, combined with the capabilities of the CHERI (Capability Hardware Enhanced RISC Instructions)
|
||||
architecture, introduce robust memory safety and security features by incorporating additional metadata
|
||||
with memory pointers. Fat-pointer Address Translations enhanced architecture utilizes concepts such as FlexPointer\cite{chen_flexpointer_2023},
|
||||
Range Memory Mapping (RMM)\cite{karakostas_redundant_2015} to manage memory effectively.
|
||||
with memory pointers. Fat-pointer Address Translations enhanced architecture utilizes concepts such as FlexPointer~\cite{chen_flexpointer_2023},
|
||||
Range Memory Mapping (RMM)~\cite{karakostas_redundant_2015} to manage memory effectively.
|
||||
|
||||
Range addresses play a pivotal role within this implementation, defining memory
|
||||
Range addresses play a pivotal role within the Fat Address Translations implementation, defining memory
|
||||
regions bounded by a starting address (Upper) and an ending address (Lower).
|
||||
These range addresses are encoded within FAT-pointers, allowing for precise
|
||||
control using CHERI CC\cite{woodruff_cheri_2019} bounds over memory regions to reduce the number of TLB operations needed.
|
||||
control using CHERI CC~\cite{woodruff_cheri_2019} bounds over memory regions to reduce the number of TLB operations needed.
|
||||
|
||||
% The functionality of ranges encompasses several key aspects:
|
||||
% \begin{itemize}
|
||||
% \item \textbf{Creation of Physically Contiguous Memory Ranges}:
|
||||
% By defining memory regions that are physically contiguous, systems can
|
||||
% By defining memory regions that are physically contiguous, systems can
|
||||
% achieve optimal memory access patterns, enhancing performance and efficiency.
|
||||
% \item \textbf{Encoding Ranges as Bounds to the Pointer}:
|
||||
% Integrating range bounds directly into FAT-pointers enables the architecture
|
||||
% to enforce memory access restrictions at the pointer level thus allowing
|
||||
% Integrating range bounds directly into FAT-pointers enables the architecture
|
||||
% to enforce memory access restrictions at the pointer level thus allowing
|
||||
% tracking of memory ranges on a pointer level.
|
||||
% \item \textbf{Instrumenting Block-Based Allocators with Physically Contiguous Memory}:
|
||||
% The integration of range-based memory concepts into memory allocation systems, such as block-based
|
||||
% allocators, facilitates the efficient management and utilization of physically contiguous memory blocks,
|
||||
% The integration of range-based memory concepts into memory allocation systems, such as block-based
|
||||
% allocators, facilitates the efficient management and utilization of physically contiguous memory blocks,
|
||||
% mitigating issues related to memory fragmentation.
|
||||
% \end{itemize}
|
||||
|
||||
@@ -403,7 +480,7 @@ control using CHERI CC\cite{woodruff_cheri_2019} bounds over memory regions to r
|
||||
\end{figure*}
|
||||
|
||||
Figure \ref{fig:HighOverviewArchitecture} illustrates
|
||||
the methodology employed to leverage the CHERI
|
||||
the methodology employed to use the CHERI
|
||||
128-bit FAT-pointer scheme for facilitating
|
||||
block-based memory management on physically
|
||||
contiguous memory,which is depicted on the
|
||||
@@ -415,8 +492,6 @@ We explore how using huge pages
|
||||
with CHERI bounds can reduce the
|
||||
number of TLB entries required.
|
||||
|
||||
The functionality of ranges encompasses several key aspects:
|
||||
|
||||
\subsection{Encoding Ranges as Bounds to the Pointer}
|
||||
\begin{figure}[h]
|
||||
\includegraphics[width=0.4\textwidth]{diagram/AllocationOverview24.png}
|
||||
@@ -427,52 +502,54 @@ Integrating range bounds directly into FAT-pointers enables the CHERI architectu
|
||||
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}.
|
||||
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 leverage the bounds encoded in the FAT-pointer, ensuring tracking of the allocated memory regions. By using the FAT-pointer bounds, this method maintains the
|
||||
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.
|
||||
|
||||
\subsection{128 bit compressed bounds}
|
||||
\label{sec:128bitCompressedBounds}
|
||||
% We use CHERI CC (Compressed bounds) to track regions of memory used in physically
|
||||
% contigous space. CHERI CC consists of bounds which are compressed and represent a
|
||||
% 128 bit pointer with a 64 bit virtual address system. Our appproach is to use
|
||||
% a constant single cycle to encode and decode bounds. CHERI CC was originally intended
|
||||
% for memory protection but can also be repurposed for tracking memory region rather
|
||||
% than using the standard approach with consists of numerous TLB entries for each allocation.
|
||||
% contigous space. CHERI CC consists of bounds which are compressed and represent a
|
||||
% 128 bit pointer with a 64 bit virtual address system. Our appproach is to use
|
||||
% a constant single cycle to encode and decode bounds. CHERI CC was originally intended
|
||||
% for memory protection but can also be repurposed for tracking memory region rather
|
||||
% than using the standard approach with consists of numerous TLB entries for each allocation.
|
||||
|
||||
% One of the key analysis highlighted by CHERI CC is that allocators such as Jemalloc always
|
||||
% allocate objects under 512 bytes. When a bound of an object cannot be represented it is required
|
||||
% to be padded to memory. It was noted that allocators just as Jemalloc in practice do not require
|
||||
% more than 6 bits to represent exponents needed within the compressed bounds.
|
||||
% to be padded to memory. It was noted that allocators just as Jemalloc in practice do not require
|
||||
% more than 6 bits to represent exponents needed within the compressed bounds.
|
||||
|
||||
% This means the default behavoir of most allocators such as Jemalloc would precisely represent bounds
|
||||
% within the FAT-Pointer which can be repurposed as ranges in memory allocators with custom allocation
|
||||
% sizes rather than fixed sized TLB entries.
|
||||
% within the FAT-Pointer which can be repurposed as ranges in memory allocators with custom allocation
|
||||
% sizes rather than fixed sized TLB entries.
|
||||
|
||||
We use CHERI CC\cite{woodruff_cheri_2019} (Compressed Capabilities) to track regions of memory in physically contiguous space.
|
||||
CHERI CC consists of compressed bounds that represent a 128-bit pointer within a 64-bit virtual address
|
||||
system. Our approach utilizes a single-cycle encoding and decoding mechanism for efficiency. While CHERI
|
||||
CC was originally designed for memory protection, it can also be repurposed for tracking memory regions,
|
||||
We use CHERI CC~\cite{woodruff_cheri_2019} (Compressed Capabilities) to track regions of memory in physically contiguous space.
|
||||
CHERI CC consists of compressed bounds that represent a 128-bit pointer within a 64-bit virtual address
|
||||
system. Our approach utilizes a single-cycle encoding and decoding mechanism for efficiency. While CHERI
|
||||
CC was originally designed for memory protection, it can also be repurposed for tracking memory regions,
|
||||
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 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
|
||||
One key analysis of CHERI CC highlights that allocators like Jemalloc typically allocate objects under
|
||||
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 most allocators, such as Jemalloc, would allow precise
|
||||
representation of bounds within a FAT-pointer. These pointers can then be repurposed as memory ranges
|
||||
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.
|
||||
|
||||
% \subsection{Creation of Physically Contiguous Memory Ranges}
|
||||
|
||||
% \smallskip\noindent
|
||||
% The memory chunk defined by the upper and lower bounds is always physically contiguous.
|
||||
% By defining memory regions that are physically contiguous, systems can
|
||||
% By defining memory regions that are physically contiguous, systems can
|
||||
% achieve optimal memory access patterns, enhancing performance and efficiency.
|
||||
|
||||
\subsection{Instrumenting Block-Based Allocators with Physically Contiguous Memory}
|
||||
@@ -486,7 +563,7 @@ 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
|
||||
simplifies this by using a single TLB
|
||||
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.
|
||||
@@ -507,7 +584,8 @@ bounds for that particular pointer access. Using bounds
|
||||
stored on the pointer a block based pattern can be reprecated
|
||||
on physically contigous memory.
|
||||
|
||||
\subsection{Sample memory allocator design:}
|
||||
\section{Memory allocator design}
|
||||
\label{sec:MemoryAllocator}
|
||||
This section presents a straightforward memory allocator designed and implemented based on the
|
||||
principles outlined in our approach. The allocator consists of three core functions: InitAlloc,
|
||||
malloc, and free. The InitAlloc function initializes the memory pool, setting up the necessary
|
||||
@@ -523,7 +601,7 @@ such as Jemalloc, enabling them to operate with significantly lesser L1 TLB miss
|
||||
contiguity is essential.
|
||||
|
||||
\begin{algorithm}
|
||||
\caption{Sample malloc implementation}
|
||||
\caption{Malloc implementation}
|
||||
\label{alg:malloc}
|
||||
\begin{algorithmic}[1]
|
||||
\Function{malloc}{sz}
|
||||
@@ -536,21 +614,21 @@ contiguity is essential.
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
|
||||
When the malloc function (Algorithm \ref{alg:malloc}) is invoked, the algorithm employs an eager allocation strategy for physical memory.
|
||||
When the malloc function (Algorithm \ref{alg:malloc}) is invoked, the algorithm employs an eager allocation strategy for physical memory.
|
||||
This is achieved through the use of the SetBounds mechanism, which constructs a FAT-pointer specialized
|
||||
pointer that encodes both the start and end addresses of the allocated memory region within the pointer
|
||||
itself. The start and end addresses correspond to the size of the memory block requested by malloc. This
|
||||
approach introduces a method of memory tracking, where the bounds of the allocated region are
|
||||
explicitly encoded in the address, enabling efficient monitoring and management of memory usage.
|
||||
|
||||
Furthermore, this design leverages shared huge page TLB (Translation Lookaside Buffer) entries to map
|
||||
Furthermore, this design uses shared huge page TLB entries to map
|
||||
and track memory addresses. By encoding bounds directly into the address, the algorithm ensures that memory
|
||||
accesses remain within the allocated region, thereby enhancing safety and reducing the risk of out-of-bounds
|
||||
errors. This use of FAT-pointers and shared TLB entries not only aligns with the principles of
|
||||
efficient memory management but also demonstrates a practical usecase of huge pages in CHERI.
|
||||
|
||||
\begin{algorithm}
|
||||
\caption{Sample free implementation}
|
||||
\caption{Free implementation}
|
||||
\label{alg:free}
|
||||
\begin{algorithmic}[1]
|
||||
\Function{free}{ptr}
|
||||
@@ -564,9 +642,9 @@ efficient memory management but also demonstrates a practical usecase of huge pa
|
||||
introduced in the malloc algorithm. When the free function is invoked, it utilizes the metadata
|
||||
embedded within the FAT-pointer to determine the range and size of the allocated memory region.
|
||||
Specifically, the start and end addresses encoded in the FAT-pointer provide the necessary information
|
||||
to identify the exact memory block to be deallocated. This allows the allocator to precisely unmapped
|
||||
to identify the exact memory block to be deallocated. This allows the allocator to precisely unmap
|
||||
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.
|
||||
@@ -574,7 +652,7 @@ efficient memory management but also demonstrates a practical usecase of huge pa
|
||||
|
||||
|
||||
\begin{algorithm}
|
||||
\caption{Sample init alloc function to create a initial 1 GB huge page}
|
||||
\caption{Init alloc function to create a initial 1 GB huge page}
|
||||
\label{alg:initAlloc}
|
||||
\begin{algorithmic}[1]
|
||||
\Function{Init\_alloc}{}
|
||||
@@ -595,11 +673,10 @@ with page table management and enhances memory access efficiency, which is criti
|
||||
applications and kernel-level operations.
|
||||
|
||||
\section{Evaluation}
|
||||
We conducted tests of the FAT Pointer-based range addresses against Jemalloc\cite{jemalloc},
|
||||
the default memory allocator for CHERIBSD\cite{cheribsd}, to assess the performance improvements
|
||||
We conducted tests of the FAT Pointer-based range addresses against Jemalloc~\cite{jemalloc},
|
||||
the default memory allocator for CHERIBSD~\cite{cheribsd}, to assess the performance improvements
|
||||
enabled by a CHERI-based huge page-aware allocator. Specifically, we evaluated
|
||||
the reduction in TLB misses and its impact on overall
|
||||
performance metrics, such as wall clock runtime.
|
||||
the reduction in TLB walks and misses and its impact on wall clock runtime.
|
||||
|
||||
To comprehensively analyze the proposed allocator, we categorized benchmarks into
|
||||
two classes which are micro and macro benchmarks. Micro benchmarks comprise smaller
|
||||
@@ -633,8 +710,8 @@ However, limitations were also identified, such as scenarios where the allocator
|
||||
gains were marginal or where it introduced additional complexity in memory management. These
|
||||
limitations provide a roadmap for future optimizations and refinements of the allocator design.
|
||||
|
||||
\subsection{Expirement setup}
|
||||
The CHERI Morello\cite{Morello} board was used to evaluate the proposed memory allocator.
|
||||
\subsection{Experiment setup}
|
||||
The CHERI Morello~\cite{Morello} board was used to evaluate the proposed memory allocator.
|
||||
Morello implements the ARM A76 with enhanced server-class memory, featuring a
|
||||
quad-core ARM CPU with capability extensions. The L1 and L2 caches were modified
|
||||
to proliferate the capability bit, ensuring compatibility with CHERI's capability-based
|
||||
@@ -642,7 +719,7 @@ memory model. When compiling the C programs for benchmarking, the Benchmark ABI
|
||||
used as recommended by the CHERI community. This compilation mode was enabled using
|
||||
the Clang compiler.
|
||||
|
||||
The Benchmark ABI\cite{BenchmarkABI} was specifically designed because the Morello branch predictor
|
||||
The Benchmark ABI~\cite{BenchmarkABI} was specifically designed because the Morello branch predictor
|
||||
was not expanded to predict bounds. Consequently, a capability-based jump introduces
|
||||
stalls in later PCC-dependent instructions until bounds are established. This issue
|
||||
is particularly significant during dynamically linked calls and returns between
|
||||
@@ -657,7 +734,7 @@ failing to overwrite the C program at runtime with the intended malloc functions
|
||||
The second allocator was the standard OS memory allocator, which, in the case of
|
||||
CHERIBSD, is Jemalloc.
|
||||
|
||||
Performance measurements were carried out using ARM performance counters\cite{PerformanceCounter} to
|
||||
Performance measurements were carried out using ARM performance counters~\cite{PerformanceCounter} to
|
||||
ensure accurate evaluation. These counters provided detailed metrics, allowing
|
||||
us to compare the performance of the two allocators and assess the impact of
|
||||
the proposed changes.
|
||||
@@ -705,12 +782,9 @@ the proposed changes.
|
||||
\end{table*}
|
||||
|
||||
\subsection{Benchmarks}
|
||||
The benchmarks\cite{Benchmark} are classified into 2 classes:
|
||||
The benchmarks~\cite{Benchmark} are classified into 2 classes:
|
||||
|
||||
\subsubsection{Micro benchmark}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Micro benchmark
|
||||
\label{sec:org41c278c}
|
||||
\begin{itemize}
|
||||
\item GLIBC: The Glibc benchmark evaluates the performance of
|
||||
@@ -727,7 +801,7 @@ The benchmarks\cite{Benchmark} are classified into 2 classes:
|
||||
doubles the working set size to analyze memory hierarchy behavior.
|
||||
\end{itemize}
|
||||
|
||||
\item Macro runs
|
||||
\subsubsection{Macro benchmark}
|
||||
\label{sec:org89020f2}
|
||||
\begin{itemize}
|
||||
\item Kmeans: Kmeans implements a parallelized K-means clustering algorithm that
|
||||
@@ -744,7 +818,6 @@ task execution based on state and priority, tracking processed packets
|
||||
and held tasks for performance evaluation. Configurable iterations and
|
||||
timing help measure system performance and ensure correctness.
|
||||
\end{itemize}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\subsection{Results}
|
||||
@@ -753,7 +826,7 @@ timing help measure system performance and ensure correctness.
|
||||
\caption{\label{fig:bargraph}Percentage difference between the modified memory allocator against the default system memory allocator}
|
||||
\end{figure*}
|
||||
|
||||
The graph (Diagram \ref{fig:bargraph}) highlights the performance comparison between the modified memory allocator and
|
||||
The graph (Figure \ref{fig:bargraph}) highlights the performance comparison between the modified memory allocator and
|
||||
Jemalloc, the default memory allocator. The FAT pointer memory allocator, specifically optimized
|
||||
for use with huge pages, demonstrates a clear advantage in scenarios where memory allocation
|
||||
patterns benefit from its design. The results align with expectations, showcasing the impact
|
||||
@@ -788,7 +861,7 @@ bottlenecked by factors such as computation or I/O rather than memory translatio
|
||||
|
||||
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
|
||||
aimed to understand how the allocator's optimizations, particularly its ability to manage memory
|
||||
aims to understand how the allocator's optimizations, particularly its ability to manage memory
|
||||
more efficiently with huge pages, impact performance under different workload conditions.
|
||||
|
||||
For most cluster sizes tested, the percentage difference in performance remained relatively
|
||||
@@ -799,8 +872,7 @@ and efficiently manage memory allocations for the centroid and data point struct
|
||||
the K-means algorithm.
|
||||
|
||||
However, an anomaly was observed at a cluster size of 2000, where the percentage difference
|
||||
deviated significantly from the trend. This irregularity could be attributed to several factors.
|
||||
At this cluster size, the memory access patterns and allocation behavior may align in a way that
|
||||
deviated significantly from the trend. At this cluster size, the memory access patterns and allocation behavior may align in a way that
|
||||
temporarily offsets the advantages of the FAT pointer allocator. For example, the memory layout
|
||||
might interact with system-level caching mechanisms or TLB behavior differently, leading to an
|
||||
unexpected change in performance. Additionally, the increased complexity of managing a higher
|
||||
@@ -833,96 +905,11 @@ 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{Related work}
|
||||
\label{sec:org0e192da}
|
||||
|
||||
\subsection{Huge Pages}
|
||||
% A segment\cite{basu_efficient_nodate} can be viewed as mapping between contiguous virtual
|
||||
% memory and contiguous physical memory. The property of a
|
||||
% segment allows it to be larger than a page. Direct Segment allows the user to set a single segment
|
||||
% for an application. Two registers are added to mark the start
|
||||
% 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.
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
\subsection{Direct Segment}
|
||||
Early processors often used segments to manage virtual memory, where a segment\cite{DirectSegment} essentially mapped contiguous
|
||||
virtual memory to contiguous physical memory. Unlike pages, which are relatively small, segments can be much
|
||||
larger, offering the potential for more efficient memory management in certain scenarios.
|
||||
This concept of segmentation has seen a resurgence in some modern approaches that aim to enhance
|
||||
translation coverage by designating specific areas in the virtual address space.
|
||||
|
||||
This method allows programmers to explicitly define
|
||||
a single segment for applications requiring significant memory. It introduces two new
|
||||
registers to the system, which indicate the start and end of this segment.
|
||||
Virtual addresses within this segment are translated by calculating
|
||||
the offset from the virtual start address and applying this offset to the
|
||||
physical start address. This straightforward method simplifies the translation
|
||||
process for large memory areas but requires significant modifications to the
|
||||
source code of applications.
|
||||
|
||||
\subsection{Range Memory Mapping (RMM)}
|
||||
Redundant Memory Mappings (RMM)\cite{karakostas_redundant_2015} enhance memory management by introducing an additional range table
|
||||
that pre-allocates contiguous physical pages for large memory allocations, creating ranges that
|
||||
are both virtually and physically contiguous. This approach simplifies address translation
|
||||
within these ranges by adding an offset, similar to Direct Segment, but RMM supports multiple
|
||||
ranges and operates transparently to programmers, requiring no source code modifications.
|
||||
The range table, separate from the conventional page table, holds the mappings for these
|
||||
large allocations. To determine which range an address belongs to, RMM compares the address
|
||||
against all range boundaries, a process that is computationally expensive and therefore performed
|
||||
only after an L1 TLB miss. To optimize this, RMM uses a range TLB (RTLB) to quickly identify
|
||||
if an address falls within any pre-allocated range, facilitating efficient translation and
|
||||
reducing overhead. Range mapping works alongside the paging system by generating TLB entries on
|
||||
TLB misses and still performing TLB lookups for each virtual address translation.
|
||||
Unlike traditional segmentation mechanisms, range mapping activates a range lookaside
|
||||
buffer (RTLB) located with the last level TLB upon a miss. The hardware TLB miss
|
||||
handler then searches the RTLB for the miss address and, if found, generates a new
|
||||
TLB entry with the physical address derived from the base virtual address and
|
||||
range offset, along with permission bits. If the RTLB also misses, the system
|
||||
defaults to a standard page walk while a range table walker simultaneously
|
||||
loads the range into the RTLB in the background, avoiding delays in memory operations.
|
||||
The RTLB, functioning as a fully associative search structure, ensures
|
||||
that most last level TLB misses are handled efficiently by range mapping,
|
||||
reducing the need for costly page table walks.
|
||||
|
||||
\subsection{CHERI}
|
||||
\label{sec:orgbf2eaac}
|
||||
CHERI (Capability Hardware Enhanced RISC Instructions) 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}
|
||||
|
||||
\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 Translation Lookaside Buffer (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
|
||||
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}
|
||||
@@ -939,17 +926,17 @@ The Bluespec design of the RISC-V processor will be modified to allow certain me
|
||||
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 Translation Lookaside Buffers (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
|
||||
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.
|
||||
\newline
|
||||
|
||||
Comprehensive benchmarking demonstrates that the allocator reduces TLB misses by up to 90\%,
|
||||
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
|
||||
for larger, computation-heavy applications. These results highlight the allocator's potential to advance memory management
|
||||
by combining enhanced security and performance through CHERI's capability-based model with the use of huge pages.
|
||||
|
||||
|
||||
@@ -1225,7 +1212,7 @@ by combining enhanced security and performance through CHERI's capability-based
|
||||
% \texttt{{\char'134}begin\,\ldots{\char'134}end} construction or with
|
||||
% the short form \texttt{\$\,\ldots\$}. You can use any of the symbols
|
||||
% and structures, from $\alpha$ to $\omega$, available in
|
||||
% \LaTeX~\cite{Lamport:LaTeX}; this section will simply show a few
|
||||
% \LaTeX~~\cite{Lamport:LaTeX}; this section will simply show a few
|
||||
% examples of in-text equations in context. Notice how this equation:
|
||||
% \begin{math}
|
||||
% \lim_{n\rightarrow \infty}x=0
|
||||
@@ -1336,40 +1323,40 @@ by combining enhanced security and performance through CHERI's capability-based
|
||||
% command in the {\bfseries preamble} (before the command
|
||||
% ``\verb|\begin{document}|'') of your \LaTeX\ source:
|
||||
% \begin{verbatim}
|
||||
% \citestyle{acmauthoryear}
|
||||
% ~\citestyle{acmauthoryear}
|
||||
% \end{verbatim}
|
||||
|
||||
|
||||
% Some examples. A paginated journal article \cite{Abril07}, an
|
||||
% enumerated journal article \cite{Cohen07}, a reference to an entire
|
||||
% issue \cite{JCohen96}, a monograph (whole book) \cite{Kosiur01}, a
|
||||
% Some examples. A paginated journal article ~\cite{Abril07}, an
|
||||
% enumerated journal article ~\cite{Cohen07}, a reference to an entire
|
||||
% issue ~\cite{JCohen96}, a monograph (whole book) ~\cite{Kosiur01}, a
|
||||
% monograph/whole book in a series (see 2a in spec. document)
|
||||
% \cite{Harel79}, a divisible-book such as an anthology or compilation
|
||||
% \cite{Editor00} followed by the same example, however we only output
|
||||
% the series if the volume number is given \cite{Editor00a} (so
|
||||
% ~\cite{Harel79}, a divisible-book such as an anthology or compilation
|
||||
% ~\cite{Editor00} followed by the same example, however we only output
|
||||
% the series if the volume number is given ~\cite{Editor00a} (so
|
||||
% Editor00a's series should NOT be present since it has no vol. no.),
|
||||
% a chapter in a divisible book \cite{Spector90}, a chapter in a
|
||||
% divisible book in a series \cite{Douglass98}, a multi-volume work as
|
||||
% book \cite{Knuth97}, a couple of articles in a proceedings (of a
|
||||
% a chapter in a divisible book ~\cite{Spector90}, a chapter in a
|
||||
% divisible book in a series ~\cite{Douglass98}, a multi-volume work as
|
||||
% book ~\cite{Knuth97}, a couple of articles in a proceedings (of a
|
||||
% conference, symposium, workshop for example) (paginated proceedings
|
||||
% article) \cite{Andler79, Hagerup1993}, a proceedings article with
|
||||
% all possible elements \cite{Smith10}, an example of an enumerated
|
||||
% proceedings article \cite{VanGundy07}, an informally published work
|
||||
% \cite{Harel78}, a couple of preprints \cite{Bornmann2019,
|
||||
% AnzarootPBM14}, a doctoral dissertation \cite{Clarkson85}, a
|
||||
% master's thesis: \cite{anisi03}, an online document / world wide web
|
||||
% resource \cite{Thornburg01, Ablamowicz07, Poker06}, a video game
|
||||
% (Case 1) \cite{Obama08} and (Case 2) \cite{Novak03} and \cite{Lee05}
|
||||
% and (Case 3) a patent \cite{JoeScientist001}, work accepted for
|
||||
% publication \cite{rous08}, 'YYYYb'-test for prolific author
|
||||
% \cite{SaeediMEJ10} and \cite{SaeediJETC10}. Other cites might
|
||||
% article) ~\cite{Andler79, Hagerup1993}, a proceedings article with
|
||||
% all possible elements ~\cite{Smith10}, an example of an enumerated
|
||||
% proceedings article ~\cite{VanGundy07}, an informally published work
|
||||
% ~\cite{Harel78}, a couple of preprints ~\cite{Bornmann2019,
|
||||
% AnzarootPBM14}, a doctoral dissertation ~\cite{Clarkson85}, a
|
||||
% master's thesis: ~\cite{anisi03}, an online document / world wide web
|
||||
% resource ~\cite{Thornburg01, Ablamowicz07, Poker06}, a video game
|
||||
% (Case 1) ~\cite{Obama08} and (Case 2) ~\cite{Novak03} and ~\cite{Lee05}
|
||||
% and (Case 3) a patent ~\cite{JoeScientist001}, work accepted for
|
||||
% publication ~\cite{rous08}, 'YYYYb'-test for prolific author
|
||||
% ~\cite{SaeediMEJ10} and ~\cite{SaeediJETC10}. Other cites might
|
||||
% contain 'duplicate' DOI and URLs (some SIAM articles)
|
||||
% \cite{Kirschmer:2010:AEI:1958016.1958018}. Boris / Barbara Beeton:
|
||||
% multi-volume works as books \cite{MR781536} and \cite{MR781537}. A
|
||||
% ~\cite{Kirschmer:2010:AEI:1958016.1958018}. Boris / Barbara Beeton:
|
||||
% multi-volume works as books ~\cite{MR781536} and ~\cite{MR781537}. A
|
||||
% couple of citations with DOIs:
|
||||
% \cite{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018}. Online
|
||||
% citations: \cite{TUGInstmem, Thornburg01, CTANacmart}.
|
||||
% Artifacts: \cite{R} and \cite{UMassCitations}.
|
||||
% ~\cite{2004:ITE:1009386.1010128,Kirschmer:2010:AEI:1958016.1958018}. Online
|
||||
% citations: ~\cite{TUGInstmem, Thornburg01, CTANacmart}.
|
||||
% Artifacts: ~\cite{R} and ~\cite{UMassCitations}.
|
||||
|
||||
% \section{Acknowledgments}
|
||||
|
||||
|
||||
70
docs/EuroSys/Paper/todo.md
Normal file
70
docs/EuroSys/Paper/todo.md
Normal file
@@ -0,0 +1,70 @@
|
||||
### General
|
||||
- [ ] Change name (Thinking of using (Fat Address Translation) -> similar to GNU))
|
||||
- [ ] Avoid words which create options
|
||||
- [x] Use citation with ```~/cite{foo}```
|
||||
- [ ] Clear distinction on Literature review and contribution done
|
||||
- [x] Generalise capitalisation
|
||||
- [ ] Avoid several use ex: There are 3 way...
|
||||
- [x] Instead of "Leverage" -> "use"
|
||||
- [ ] Remove whitespace from figures to be compressed
|
||||
- [ ] Uniform font sizes in figures
|
||||
- [ ] Symmetrical lines on the figure
|
||||
- [ ] TLB with acronym only once for the first instance in the paper
|
||||
|
||||
### Abstract
|
||||
- [ ] Reduce Abstract to a single paragraph'
|
||||
- [ ] "Mitigate gap, capacity" -> Expand on for instance on how is it measured.
|
||||
- [ ] Huge pages moved to the introduction.
|
||||
- [ ] Robs proposed structure (This paper presents <NAME> user-space memory allocator. It uses capability-based addressing to <list properties>.
|
||||
|
||||
### Introduction
|
||||
- [ ] "It becomes possible" expand more with baseline compressed bounds.
|
||||
- [ ] "This paper makes the following contribution" -. bullet points with marked sections.
|
||||
- [ ] Research questions removed.
|
||||
- [ ] "This implementation" Specify implementation
|
||||
- [ ] Robs recommended Introduction structure (Expansion of the abstract, Name of the existing system, clearly describe limitation, Introduce memory allocator).
|
||||
|
||||
### 2.1 Encoding ranges as bounds
|
||||
- [x] Repetition "Tracking of memory ranges using information in pointers" -> remove this
|
||||
- [ ] Paraphrase last sentence
|
||||
|
||||
### 2.2 128 bit compressed bounds
|
||||
- [x] Cites Jemalloc paragraph.
|
||||
- [ ] Last sentence needs rewriting.
|
||||
|
||||
### 2.3 Instrumenting block based allocator
|
||||
- [ ] Needs citation "Which increases overhead and adds complexity"
|
||||
- [ ] Elaborate on "this method"
|
||||
- [ ] "precise" memory management (Elaborate on this and prove which aspects of the other allocator are not precise).
|
||||
|
||||
### Memory allocator design
|
||||
- [x] Remove from heading "sample" and ":"
|
||||
- [ ] Remove future work paragraph
|
||||
- [x] "unmapped" -> unmap
|
||||
- [ ] "Risks of memory leaks with metadata lookups or complex data structures" -> Elaborate on this
|
||||
|
||||
### Evaluation
|
||||
- [x] Name of the project keeps the sentence shorter.
|
||||
- [x] "Such as" -> Definitive and exhaustive.
|
||||
- [ ] TLB misses and walk contextualised better.
|
||||
- [ ] Section reference on evaluation expanded.
|
||||
- [ ] Remove "Providing a solid foundation for meaningful comparisons"
|
||||
- [ ] Decide to use Macro or instead "real world C programs"
|
||||
- [x] 1st section Evaluation remove "We observed...."
|
||||
|
||||
- [x] Experiment section typo heading
|
||||
- [x] Fix Latex benchmarks structure
|
||||
- [x] Change from "Diagram" to "Figure"
|
||||
|
||||
- [ ] Result para 2 -> too wordy
|
||||
- [x] "aimed" first use of past tense (Recommendation: avoid)
|
||||
- [x] Last paragraph (More substance)
|
||||
- [x] Experiment results systematically explained based on benchmarks as bullet points.
|
||||
|
||||
- [ ] Rewrite usability
|
||||
|
||||
### Related work
|
||||
- [ ] Related work lifted up after introduction based on the reflection of the feedback.
|
||||
|
||||
### Conclusion
|
||||
- [ ] Rewrite
|
||||
Reference in New Issue
Block a user