version of Europaper

This commit is contained in:
2025-08-30 13:19:09 +01:00
parent a538c72a1f
commit 42fb3be59a
8 changed files with 514 additions and 610 deletions

View File

@@ -43,8 +43,11 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Encoding Ranges as Bounds to the Pointer}{3}{subsection.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4}128 bit compressed bounds}{3}{section.4}\protected@file@percent }
\newlabel{sec:128bitCompressedBounds}{{4}{3}{128 bit compressed bounds}{section.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Instrumenting Block-Based Allocators with Physically Contiguous Memory}{3}{subsection.4.1}\protected@file@percent }
\citation{CheriABI}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Instrumenting Block-Based Allocators with Physically Contiguous Memory}{4}{subsection.4.1}\protected@file@percent }
\citation{jemalloc}
\citation{jemalloc}
\citation{evans_scalable_nodate}
\@writefile{toc}{\contentsline {section}{\numberline {5}Memory allocator design}{4}{section.5}\protected@file@percent }
\newlabel{sec:MemoryAllocator}{{5}{4}{Memory allocator design}{section.5}{}}
\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Malloc implementation}}{4}{algorithm.1}\protected@file@percent }
@@ -56,9 +59,6 @@
\@writefile{toc}{\contentsline {section}{\numberline {6}Embedding FAT allocator inside Jemalloc}{4}{section.6}\protected@file@percent }
\newlabel{sec:JemallocFATAllocator}{{6}{4}{Embedding FAT allocator inside Jemalloc}{section.6}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Mmap replaced with MALLOC}{4}{subsection.6.1}\protected@file@percent }
\citation{jemalloc}
\citation{jemalloc}
\citation{evans_scalable_nodate}
\citation{evans_scalable_nodate}
\citation{jemalloc}
\citation{cheribsd}
@@ -75,6 +75,7 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Experiment setup}{5}{subsection.7.1}\protected@file@percent }
\newlabel{sec:Experiment}{{7.1}{5}{Experiment setup}{subsection.7.1}{}}
\citation{PerformanceCounter}
\citation{XSBench}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Benchmarks}{6}{subsection.7.2}\protected@file@percent }
\newlabel{sec:Micro}{{7.2.1}{6}{Micro benchmark}{subsubsection.7.2.1}{}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.1}Micro benchmark}{6}{subsubsection.7.2.1}\protected@file@percent }
@@ -101,7 +102,7 @@
\newlabel{sub@fig:wallclock}{{f}{8}{Wall Clock Time}{figure.caption.5}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Benchmarks comparing the percentage difference between FAT.}}{8}{figure.caption.5}\protected@file@percent }
\newlabel{fig:benchmarks-group}{{2}{8}{Benchmarks comparing the percentage difference between FAT}{figure.caption.5}{}}
\bibstyle{unsrtnat}
\bibstyle{apa}
\bibdata{paperReferences}
\bibcite{TLBHierarchy}{{1}{2013}{{Lustig et~al.}}{{Lustig, Bhattacharjee, and Martonosi}}}
\bibcite{mittal_survey_2017}{{2}{}{{Mittal}}{{}}}
@@ -111,12 +112,12 @@
\bibcite{TLBReach}{{6}{2014}{{Pham et~al.}}{{Pham, Bhattacharjee, Eckert, and Loh}}}
\bibcite{THP}{{7}{2003}{{Navarro et~al.}}{{Navarro, Iyer, Druschel, and Cox}}}
\bibcite{IntelItanium}{{8}{2003}{{Cornea et~al.}}{{Cornea, Harrison, and Tang}}}
\bibcite{Shadow_superpages}{{9}{2001}{{Park and Park}}{{}}}
\bibcite{DirectSegment}{{10}{2013}{{Basu et~al.}}{{Basu, Gandhi, Chang, Hill, and Swift}}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Memaccess percentage increase in wallclock run times}}{9}{figure.caption.6}\protected@file@percent }
\newlabel{fig:Memaccess}{{3}{9}{Memaccess percentage increase in wallclock run times}{figure.caption.6}{}}
\@writefile{toc}{\contentsline {section}{\numberline {8}Conclusion}{9}{section.8}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{References}{9}{section*.8}\protected@file@percent }
\bibcite{Shadow_superpages}{{9}{2001}{{Park and Park}}{{}}}
\bibcite{DirectSegment}{{10}{2013}{{Basu et~al.}}{{Basu, Gandhi, Chang, Hill, and Swift}}}
\bibcite{karakostas_redundant_2015}{{11}{}{{Karakostas et~al.}}{{Karakostas, Gandhi, Ayar, Cristal, Hill, {McKinley}, Nemirovsky, Swift, and Ünsal}}}
\bibcite{chen_flexpointer_2023}{{12}{2023}{{Chen et~al.}}{{Chen, Tong, Yang, Yi, and Cheng}}}
\bibcite{CheriABI}{{13}{2019}{{Davis et~al.}}{{Davis, Watson, Richardson, Neumann, Moore, Baldwin, Chisnall, Clarke, Filardo, Gudka, Joannou, Laurie, Markettos, Maste, Mazzinghi, Napierala, Norton, Roe, Sewell, Son, and Woodruff}}}
@@ -127,8 +128,9 @@
\bibcite{Morello}{{18}{}{{Mor}}{{}}}
\bibcite{BenchmarkABI}{{19}{2023}{{Watson et~al.}}{{Watson, Clarke, Sewell, Woodruff, Moore, Barnes, Grisenthwaite, Stacer, Baranga, and Richardson}}}
\bibcite{PerformanceCounter}{{20}{}{{Per}}{{}}}
\bibcite{singh1993}{{21}{1993}{{Singh}}{{}}}
\bibcite{holt1995}{{22}{1995}{{Holt and Singh}}{{}}}
\bibcite{XSBench}{{21}{2014}{{Tramm et~al.}}{{Tramm, Siegel, Islam, and Schulz}}}
\bibcite{singh1993}{{22}{1993}{{Singh}}{{}}}
\bibcite{holt1995}{{23}{1995}{{Singh et~al.}}{{Singh, Hennessy, and Gupta}}}
\newlabel{tocindent-1}{0pt}
\newlabel{tocindent0}{0pt}
\newlabel{tocindent1}{4.185pt}

View File

@@ -1,203 +0,0 @@
\begin{thebibliography}{22}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi
\bibitem[Lustig et~al.(2013)Lustig, Bhattacharjee, and Martonosi]{TLBHierarchy}
Daniel Lustig, Abhishek Bhattacharjee, and Margaret Martonosi.
\newblock Tlb improvements for chip multiprocessors: Inter-core cooperative
prefetchers and shared last-level tlbs.
\newblock \emph{ACM Trans. Archit. Code Optim.}, 10\penalty0 (1), April 2013.
\newblock ISSN 1544-3566.
\newblock \doi{10.1145/2445572.2445574}.
\newblock URL \url{https://doi.org/10.1145/2445572.2445574}.
\bibitem[Mittal()]{mittal_survey_2017}
Sparsh Mittal.
\newblock A survey of techniques for architecting {TLBs}.
\newblock 29\penalty0 (10):\penalty0 e4061.
\newblock ISSN 1532-0634.
\newblock \doi{10.1002/cpe.4061}.
\newblock URL \url{https://onlinelibrary.wiley.com/doi/abs/10.1002/cpe.4061}.
\newblock \_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1002/cpe.4061.
\bibitem[Panwar et~al.()Panwar, Bansal, and Gopinath]{panwar_hawkeye_2019}
Ashish Panwar, Sorav Bansal, and K.~Gopinath.
\newblock {HawkEye}: Efficient fine-grained {OS} support for huge pages.
\newblock In \emph{Proceedings of the Twenty-Fourth International Conference on
Architectural Support for Programming Languages and Operating Systems}, pages
347--360. {ACM}.
\newblock ISBN 978-1-4503-6240-5.
\newblock \doi{10.1145/3297858.3304064}.
\newblock URL \url{https://dl.acm.org/doi/10.1145/3297858.3304064}.
\bibitem[Woodruff et~al.({\natexlab{a}})Woodruff, Watson, Chisnall, Moore,
Anderson, Davis, Laurie, Neumann, Norton, and Roe]{woodruff_cheri_2014}
Jonathan Woodruff, Robert~N.M. Watson, David Chisnall, Simon~W. Moore, Jonathan
Anderson, Brooks Davis, Ben Laurie, Peter~G. Neumann, Robert Norton, and
Michael Roe.
\newblock The {CHERI} capability model: revisiting {RISC} in an age of risk.
\newblock 42\penalty0 (3):\penalty0 457--468, {\natexlab{a}}.
\newblock ISSN 0163-5964.
\newblock \doi{10.1145/2678373.2665740}.
\newblock URL \url{https://doi.org/10.1145/2678373.2665740}.
\bibitem[Woodruff et~al.({\natexlab{b}})Woodruff, Joannou, Xia, Fox, Norton,
Chisnall, Davis, Gudka, Filardo, Markettos, Roe, Neumann, Watson, and
Moore]{woodruff_cheri_2019}
Jonathan Woodruff, Alexandre Joannou, Hongyan Xia, Anthony Fox, Robert~M.
Norton, David Chisnall, Brooks Davis, Khilan Gudka, Nathaniel~W. Filardo,
A.~Theodore Markettos, Michael Roe, Peter~G. Neumann, Robert N.~M. Watson,
and Simon~W. Moore.
\newblock {CHERI} concentrate: Practical compressed capabilities.
\newblock 68\penalty0 (10):\penalty0 1455--1469, {\natexlab{b}}.
\newblock ISSN 0018-9340, 1557-9956, 2326-3814.
\newblock \doi{10.1109/TC.2019.2914037}.
\newblock URL \url{https://ieeexplore.ieee.org/document/8703061/}.
\bibitem[Pham et~al.(2014)Pham, Bhattacharjee, Eckert, and Loh]{TLBReach}
Binh Pham, Abhishek Bhattacharjee, Yasuko Eckert, and Gabriel~H. Loh.
\newblock Increasing tlb reach by exploiting clustering in page translations.
\newblock In \emph{2014 IEEE 20th International Symposium on High Performance
Computer Architecture (HPCA)}, pages 558--567, 2014.
\newblock \doi{10.1109/HPCA.2014.6835964}.
\bibitem[Navarro et~al.(2003)Navarro, Iyer, Druschel, and Cox]{THP}
Juan Navarro, Sitararn Iyer, Peter Druschel, and Alan Cox.
\newblock Practical, transparent operating system support for superpages.
\newblock \emph{SIGOPS Oper. Syst. Rev.}, 36\penalty0 (SI):\penalty0 89104,
December 2003.
\newblock ISSN 0163-5980.
\newblock \doi{10.1145/844128.844138}.
\newblock URL \url{https://doi.org/10.1145/844128.844138}.
\bibitem[Cornea et~al.(2003)Cornea, Harrison, and Tang]{IntelItanium}
Marius Cornea, John Harrison, and Ping Tak~Peter Tang.
\newblock Intel® itanium® floating-point architecture.
\newblock In \emph{Proceedings of the 2003 Workshop on Computer Architecture
Education: Held in Conjunction with the 30th International Symposium on
Computer Architecture}, WCAE '03, page 3es, New York, NY, USA, 2003.
Association for Computing Machinery.
\newblock ISBN 9781450347327.
\newblock \doi{10.1145/1275521.1275526}.
\newblock URL \url{https://doi.org/10.1145/1275521.1275526}.
\bibitem[Park and Park(2001)]{Shadow_superpages}
Cheol~Ho Park and Daeyeon Park.
\newblock Aggressive superpage support with the shadow memory and the
partial-subblock tlb.
\newblock \emph{Microprocessors and Microsystems}, 25\penalty0 (7):\penalty0
329--342, 2001.
\newblock ISSN 0141-9331.
\newblock \doi{https://doi.org/10.1016/S0141-9331(01)00125-9}.
\newblock URL
\url{https://www.sciencedirect.com/science/article/pii/S0141933101001259}.
\bibitem[Basu et~al.(2013)Basu, Gandhi, Chang, Hill, and Swift]{DirectSegment}
Arkaprava Basu, Jayneel Gandhi, Jichuan Chang, Mark~D. Hill, and Michael~M.
Swift.
\newblock Efficient virtual memory for big memory servers.
\newblock \emph{SIGARCH Comput. Archit. News}, 41\penalty0 (3):\penalty0
237248, June 2013.
\newblock ISSN 0163-5964.
\newblock \doi{10.1145/2508148.2485943}.
\newblock URL \url{https://doi.org/10.1145/2508148.2485943}.
\bibitem[Karakostas et~al.()Karakostas, Gandhi, Ayar, Cristal, Hill,
{McKinley}, Nemirovsky, Swift, and Ünsal]{karakostas_redundant_2015}
Vasileios Karakostas, Jayneel Gandhi, Furkan Ayar, Adrián Cristal, Mark~D.
Hill, Kathryn~S. {McKinley}, Mario Nemirovsky, Michael~M. Swift, and Osman
Ünsal.
\newblock Redundant memory mappings for fast access to large memories.
\newblock In \emph{Proceedings of the 42nd Annual International Symposium on
Computer Architecture}, pages 66--78. {ACM}.
\newblock ISBN 978-1-4503-3402-0.
\newblock \doi{10.1145/2749469.2749471}.
\newblock URL \url{https://dl.acm.org/doi/10.1145/2749469.2749471}.
\bibitem[Chen et~al.(2023)Chen, Tong, Yang, Yi, and
Cheng]{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 \emph{ACM Trans. Archit. Code Optim.}, 20\penalty0 (2), March 2023.
\newblock ISSN 1544-3566.
\newblock \doi{10.1145/3579854}.
\newblock URL \url{https://doi.org/10.1145/3579854}.
\bibitem[Davis et~al.(2019)Davis, Watson, Richardson, Neumann, Moore, Baldwin,
Chisnall, Clarke, Filardo, Gudka, Joannou, Laurie, Markettos, Maste,
Mazzinghi, Napierala, Norton, Roe, Sewell, Son, and Woodruff]{CheriABI}
Brooks Davis, Robert N.~M. Watson, Alexander Richardson, Peter~G. Neumann,
Simon~W. Moore, John Baldwin, David Chisnall, Jessica Clarke,
Nathaniel~Wesley Filardo, Khilan Gudka, Alexandre Joannou, Ben Laurie,
A.~Theodore Markettos, J.~Edward Maste, Alfredo Mazzinghi, Edward~Tomasz
Napierala, Robert~M. Norton, Michael Roe, Peter Sewell, Stacey Son, and
Jonathan Woodruff.
\newblock Cheriabi: Enforcing valid pointer provenance and minimizing pointer
privilege in the posix c run-time environment.
\newblock In \emph{Proceedings of the Twenty-Fourth International Conference on
Architectural Support for Programming Languages and Operating Systems},
ASPLOS '19, page 379393, New York, NY, USA, 2019. Association for
Computing Machinery.
\newblock ISBN 9781450362405.
\newblock \doi{10.1145/3297858.3304042}.
\newblock URL \url{https://doi.org/10.1145/3297858.3304042}.
\bibitem[Evans(2006)]{jemalloc}
Jason Evans.
\newblock A scalable concurrent malloc (3) implementation for freebsd.
\newblock In \emph{Proc. of the bsdcan conference, ottawa, canada}, 2006.
\bibitem[Evans()]{evans_scalable_nodate}
Jason Evans.
\newblock A {Scalable} {Concurrent} malloc(3) {Implementation} for {FreeBSD}.
\bibitem[che()]{cheribsd}
Benchmark {ABI} - {CheriBSD} 23.11 new features tutorial.
\newblock URL
\url{https://www.cheribsd.org/tutorial/23.11/benchmark/index.html}.
\bibitem[Ben()]{Benchmark}
{CHERI}-allocator/benchmarks/benchmarks/{StressTestMalloc}/glibc-bench.c at
main · akilan1999/{CHERI}-allocator.
\newblock URL
\url{https://github.com/Akilan1999/CHERI-Allocator/blob/main/benchmarks/benchmarks/StressTestMalloc/glibc-bench.c}.
\bibitem[Mor()]{Morello}
Department of computer science and technology {CHERI}: The arm morello
board.
\newblock URL
\url{https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/cheri-morello.html}.
\bibitem[Watson et~al.(2023)Watson, Clarke, Sewell, Woodruff, Moore, Barnes,
Grisenthwaite, Stacer, Baranga, and Richardson]{BenchmarkABI}
Robert N.~M. Watson, Jessica Clarke, Peter Sewell, Jonathan Woodruff, Simon~W.
Moore, Graeme Barnes, Richard Grisenthwaite, Kathryn Stacer, Silviu Baranga,
and Alexander Richardson.
\newblock {Early performance results from the prototype Morello
microarchitecture}.
\newblock Technical Report UCAM-CL-TR-986, University of Cambridge, Computer
Laboratory, 15 JJ Thomson Avenue, Cambridge CB3 0FD, United Kingdom, phone
+44 1223 763500, September 2023.
\bibitem[Per()]{PerformanceCounter}
Arm architecture reference manual for a-profile architecture.
\newblock URL \url{https://developer.arm.com/documentation/ddi0487/latest}.
\bibitem[Singh(1993)]{singh1993}
Jaswinder~Pal Singh.
\newblock \emph{Parallel Hierarchical N-body Methods and Their Implications for
Multiprocessors}.
\newblock PhD thesis, Stanford University, February 1993.
\bibitem[Holt and Singh(1995)]{holt1995}
C.~Holt and Jaswinder~Pal Singh.
\newblock Hierarchical n-body methods on shared address space multiprocessors.
\newblock In \emph{SIAM Conference on Parallel Processing for Scientific
Computing}, February 1995.
\newblock To appear.
\end{thebibliography}

View File

@@ -1,73 +1,51 @@
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: unsrtnat.bst
Database file #1: paperReferences.bib
Warning--entry type for "cheribsd" isn't style-file defined
--line 516 of file paperReferences.bib
Warning--entry type for "Benchmark" isn't style-file defined
--line 545 of file paperReferences.bib
Warning--entry type for "Morello" isn't style-file defined
--line 552 of file paperReferences.bib
Warning--entry type for "PerformanceCounter" isn't style-file defined
--line 559 of file paperReferences.bib
Warning--empty journal in mittal_survey_2017
Warning--empty year in mittal_survey_2017
Warning--empty year in mittal_survey_2017
Warning--empty year in panwar_hawkeye_2019
Warning--empty year in panwar_hawkeye_2019
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 year in karakostas_redundant_2015
Warning--empty year in karakostas_redundant_2015
Warning--empty journal in evans_scalable_nodate
Warning--empty year in evans_scalable_nodate
Warning--empty year in evans_scalable_nodate
Warning--empty year in cheribsd
Warning--empty year in Benchmark
Warning--empty year in Morello
Warning--empty year in PerformanceCounter
You've used 22 entries,
2481 wiz_defined-function locations,
712 strings with 10668 characters,
and the built_in function-call counts, 9955 in all, are:
= -- 808
> -- 640
< -- 12
+ -- 243
- -- 198
* -- 864
:= -- 1602
add.period$ -- 104
call.type$ -- 22
change.case$ -- 43
chr.to.int$ -- 21
cite$ -- 44
duplicate$ -- 465
empty$ -- 802
format.name$ -- 220
if$ -- 2109
int.to.chr$ -- 2
int.to.str$ -- 23
missing$ -- 16
newline$ -- 152
num.names$ -- 54
pop$ -- 193
preamble$ -- 1
purify$ -- 22
I couldn't open style file apa.bst
---line 105 of file paper.aux
: \bibstyle{apa
: }
I'm skipping whatever remains of this command
I found no style file---while reading file paper.aux
You've used 23 entries,
0 wiz_defined-function locations,
120 strings with 929 characters,
and the built_in function-call counts, 0 in all, are:
= -- 0
> -- 0
< -- 0
+ -- 0
- -- 0
* -- 0
:= -- 0
add.period$ -- 0
call.type$ -- 0
change.case$ -- 0
chr.to.int$ -- 0
cite$ -- 0
duplicate$ -- 0
empty$ -- 0
format.name$ -- 0
if$ -- 0
int.to.chr$ -- 0
int.to.str$ -- 0
missing$ -- 0
newline$ -- 0
num.names$ -- 0
pop$ -- 0
preamble$ -- 0
purify$ -- 0
quote$ -- 0
skip$ -- 295
skip$ -- 0
stack$ -- 0
substring$ -- 305
swap$ -- 111
text.length$ -- 6
substring$ -- 0
swap$ -- 0
text.length$ -- 0
text.prefix$ -- 0
top$ -- 0
type$ -- 154
warning$ -- 18
while$ -- 54
type$ -- 0
warning$ -- 0
while$ -- 0
width$ -- 0
write$ -- 352
(There were 22 warnings)
write$ -- 0
(There were 2 error messages)

View File

@@ -1,13 +1,13 @@
# Fdb version 4
["bibtex paper"] 1756125835.65327 "paper.aux" "paper.bbl" "paper" 1756392217.53277 0
"./paperReferences.bib" 1754599671.87956 54714 19039cdfd8414d201259ef3610c2b156 ""
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/natbib/unsrtnat.bst" 1233624470 24550 a41a6405f4de768c43e871d9fbce2bc8 ""
"paper.aux" 1756392217.11279 10393 e972020ff1bf8c79e9b591332321dba9 "pdflatex"
["bibtex paper"] 1756555230.29158 "paper.aux" "paper.bbl" "paper" 1756555230.37795 2
"./paperReferences.bib" 1756554896.95923 57745 1615779ba96cf9f14b7d5558c821fad2 ""
"apa.bst" 0 -1 0 ""
"paper.aux" 1756555229.9159 10513 c9598118530f27e2e4416a0cf655bb43 "pdflatex"
(generated)
"paper.bbl"
"paper.blg"
(rewritten before read)
["pdflatex"] 1756392212.86191 "paper.tex" "paper.pdf" "paper" 1756392217.53292 0
["pdflatex"] 1756555225.75307 "paper.tex" "paper.pdf" "paper" 1756555230.37805 0
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc" 1558214095 7693 0f2dce6d313c82989ec3a67fc24df2a0 ""
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc" 1490131464 2921 8ca0eb0831f9bc5da080d3697cfe67bf ""
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_76gpa5.enc" 1490131464 2933 9ad527ce78d7c5fa0a642dead095f172 ""
@@ -229,10 +229,10 @@
"diagram/Benchmarks/wall_clock.png" 1756391851.05303 286465 3e5d20a3e0f119787d515a2a034b5fb2 ""
"diagram/benchmarks-group/Memaccess_size.png" 1756112512.12369 84925 c98bdfb9f27657e08e7126191f4cf920 ""
"diagram/drawing.pdf" 1754599671.86851 28646 0eb4d6c5fd7bfd13117f881769bcc40b ""
"paper.aux" 1756392217.11279 10393 e972020ff1bf8c79e9b591332321dba9 "pdflatex"
"paper.bbl" 1756125835.74686 9667 c839f5ff789de0c36cd440f7e70c5f20 "bibtex paper"
"paper.out" 1756392217.11377 4008 5d099748df22819073f9a7767f18c6a3 "pdflatex"
"paper.tex" 1756392211.05234 114553 2de71d11524fb629943ac4667ebbc4a0 ""
"paper.aux" 1756555229.9159 10513 c9598118530f27e2e4416a0cf655bb43 "pdflatex"
"paper.bbl" 1756555230.37622 0 d41d8cd98f00b204e9800998ecf8427e "bibtex paper"
"paper.out" 1756555229.91678 4008 5d099748df22819073f9a7767f18c6a3 "pdflatex"
"paper.tex" 1756555223.95206 122417 ec27b6b0c27085f77c3ec292a92e217a ""
(generated)
"paper.aux"
"paper.log"

View File

@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 28 AUG 2025 15:43
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 30 AUG 2025 13:00
entering extended mode
\write18 enabled.
%&-line parsing enabled.
@@ -879,7 +879,7 @@ Package caption Info: New subtype `subfigure' on input line 238.
Package caption Info: New subtype `subtable' on input line 238.
\c@subtable=\count357
)
Package hyperref Info: Option `pdfdisplaydoctitle' set `true' on input line 131
Package hyperref Info: Option `pdfdisplaydoctitle' set `true' on input line 132
.
\c@theorem=\count358
@@ -891,56 +891,56 @@ Excluding comment 'screenonly' Include comment 'printonly'
Include comment 'anonsuppress' (./paper.aux)
\openout1 = `paper.aux'.
LaTeX Font Info: Checking defaults for OML/nxlmi/m/it on input line 131.
LaTeX Font Info: Checking defaults for OML/nxlmi/m/it on input line 132.
LaTeX Font Info: Trying to load font information for OML+nxlmi on input line
131.
132.
(/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/omlnxlmi.fd
File: omlnxlmi.fd 2013/11/19 Fontinst v1.933 font definitions for OML/nxlmi.
)
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 131.
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 131.
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 131.
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 131.
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 131.
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for U/ntxexa/m/n on input line 131.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 132.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 132.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 132.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 132.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 132.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for U/ntxexa/m/n on input line 132.
LaTeX Font Info: Trying to load font information for U+ntxexa on input line
131.
132.
(/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/untxexa.fd
File: untxexa.fd 2012/04/16 Fontinst v1.933 font definitions for U/ntxexa.
)
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 131.
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 131.
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for LMS/ntxsy/m/n on input line 131.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 132.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 132.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for LMS/ntxsy/m/n on input line 132.
LaTeX Font Info: Trying to load font information for LMS+ntxsy on input line
131.
132.
(/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/lmsntxsy.fd
File: lmsntxsy.fd 2016/07/02 Fontinst v1.933 font definitions for LMS/ntxsy.
)
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: Checking defaults for LMX/ntxexx/m/n on input line 131.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Checking defaults for LMX/ntxexx/m/n on input line 132.
LaTeX Font Info: Trying to load font information for LMX+ntxexx on input lin
e 131.
e 132.
(/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/lmxntxexx.fd
File: lmxntxexx.fd 2016/07/03 Fontinst v1.933 font definitions for LMX/ntxexx.
)
LaTeX Font Info: ... okay on input line 131.
LaTeX Font Info: ... okay on input line 132.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 7.0pt on input line 131.
(Font) scaled to size 7.0pt on input line 132.
LaTeX Font Info: Trying to load font information for OT1+LinuxLibertineT-TLF
on input line 131.
on input line 132.
(/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/OT1LinuxLibertineT-TLF.
fd
@@ -948,85 +948,85 @@ File: OT1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for OT1/
LinuxLibertineT-TLF.
)
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 7.3pt on input line 131.
(Font) scaled to size 7.3pt on input line 132.
<<ot1.cmap>>
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 5.5pt on input line 131.
(Font) scaled to size 5.5pt on input line 132.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 7.3pt on input line 131.
(Font) scaled to size 7.3pt on input line 132.
<<oml.cmap>>
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 5.5pt on input line 131.
(Font) scaled to size 5.5pt on input line 132.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 7.3pt on input line 131.
(Font) scaled to size 7.3pt on input line 132.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 5.5pt on input line 131.
(Font) scaled to size 5.5pt on input line 132.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 7.3pt on input line 131.
(Font) scaled to size 7.3pt on input line 132.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 5.5pt on input line 131.
LaTeX Font Info: Trying to load font information for U+msa on input line 131
(Font) scaled to size 5.5pt on input line 132.
LaTeX Font Info: Trying to load font information for U+msa on input line 132
.
(/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2013/01/14 v3.01 AMS symbols A
)
LaTeX Font Info: Trying to load font information for U+msb on input line 131
LaTeX Font Info: Trying to load font information for U+msb on input line 132
.
(/usr/local/texlive/2025/texmf-dist/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2013/01/14 v3.01 AMS symbols B
)
LaTeX Font Info: Trying to load font information for U+ntxmia on input line
131.
132.
(/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/untxmia.fd
File: untxmia.fd 2024/04/09 Fontinst v1.933 font definitions for U/ntxmia.
)
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 7.3pt on input line 131.
(Font) scaled to size 7.3pt on input line 132.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 5.5pt on input line 131.
(Font) scaled to size 5.5pt on input line 132.
LaTeX Font Info: Trying to load font information for U+ntxsym on input line
131.
132.
(/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/untxsym.fd
File: untxsym.fd 2023/08/16 Fontinst v1.933 font definitions for U/ntxsym.
)
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 7.3pt on input line 131.
(Font) scaled to size 7.3pt on input line 132.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 5.5pt on input line 131.
(Font) scaled to size 5.5pt on input line 132.
LaTeX Font Info: Trying to load font information for U+ntxsyc on input line
131.
132.
(/usr/local/texlive/2025/texmf-dist/tex/latex/newtx/untxsyc.fd
File: untxsyc.fd 2012/04/12 Fontinst v1.933 font definitions for U/ntxsyc.
)
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 7.3pt on input line 131.
(Font) scaled to size 7.3pt on input line 132.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 5.5pt on input line 131.
(Font) scaled to size 5.5pt on input line 132.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 7.3pt on input line 131.
(Font) scaled to size 7.3pt on input line 132.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 5.5pt on input line 131.
LaTeX Info: Command `\dddot' is already robust on input line 131.
LaTeX Info: Command `\ddddot' is already robust on input line 131.
LaTeX Info: Redefining \microtypecontext on input line 131.
Package microtype Info: Applying patch `item' on input line 131.
Package microtype Info: Applying patch `toc' on input line 131.
Package microtype Info: Applying patch `eqnum' on input line 131.
Package microtype Info: Applying patch `footnote' on input line 131.
Package microtype Info: Applying patch `verbatim' on input line 131.
LaTeX Info: Redefining \microtypesetup on input line 131.
(Font) scaled to size 5.5pt on input line 132.
LaTeX Info: Command `\dddot' is already robust on input line 132.
LaTeX Info: Command `\ddddot' is already robust on input line 132.
LaTeX Info: Redefining \microtypecontext on input line 132.
Package microtype Info: Applying patch `item' on input line 132.
Package microtype Info: Applying patch `toc' on input line 132.
Package microtype Info: Applying patch `eqnum' on input line 132.
Package microtype Info: Applying patch `footnote' on input line 132.
Package microtype Info: Applying patch `verbatim' on input line 132.
LaTeX Info: Redefining \microtypesetup on input line 132.
Package microtype Info: Generating PDF output.
Package microtype Info: Character protrusion enabled (level 2).
Package microtype Info: Using default protrusion set `alltext'.
Package microtype Info: Automatic font expansion enabled (level 2),
(microtype) stretch: 20, shrink: 20, step: 1, non-selected.
Package microtype Info: Using default expansion set `alltext-nott'.
LaTeX Info: Redefining \showhyphens on input line 131.
LaTeX Info: Redefining \showhyphens on input line 132.
Package microtype Info: No adjustment of tracking.
Package microtype Info: No adjustment of interword spacing.
Package microtype Info: No adjustment of character kerning.
@@ -1034,7 +1034,7 @@ Package microtype Info: Loading generic protrusion settings for font family
(microtype) `LinuxLibertineT-TLF' (encoding: T1).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
Package hyperref Info: Link coloring OFF on input line 131.
Package hyperref Info: Link coloring OFF on input line 132.
(./paper.out)
(./paper.out)
\@outlinefile=\write4
@@ -1109,52 +1109,52 @@ Package caption Info: listings package is loaded.
Package caption Info: End \AtBeginDocument code.
\c@lstlisting=\count367
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 17.28pt on input line 330.
(Font) scaled to size 17.28pt on input line 341.
LaTeX Font Info: Trying to load font information for T1+LinuxBiolinumT-TLF o
n input line 330.
n input line 341.
(/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/T1LinuxBiolinumT-TLF.fd
File: T1LinuxBiolinumT-TLF.fd 2017/03/20 (autoinst) Font definitions for T1/Lin
uxBiolinumT-TLF.
)
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
(Font) scaled to size 17.28pt on input line 330.
(Font) scaled to size 17.28pt on input line 341.
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `LinuxBiolinumT-TLF' (encoding: T1).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/b/n' will be
(Font) scaled to size 17.28pt on input line 330.
(Font) scaled to size 17.28pt on input line 341.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `LinuxLibertineT-TLF' (encoding: OT1).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.6pt on input line 330.
(Font) scaled to size 6.6pt on input line 341.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 6.6pt on input line 330.
(Font) scaled to size 6.6pt on input line 341.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 6.6pt on input line 330.
(Font) scaled to size 6.6pt on input line 341.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 6.6pt on input line 330.
(Font) scaled to size 6.6pt on input line 341.
(/usr/local/texlive/2025/texmf-dist/tex/latex/microtype/mt-msa.cfg
File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS)
)
@@ -1162,31 +1162,31 @@ File: mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS)
File: mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS)
)
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 6.6pt on input line 330.
(Font) scaled to size 6.6pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 6.6pt on input line 330.
(Font) scaled to size 6.6pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 6.6pt on input line 330.
(Font) scaled to size 6.6pt on input line 341.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 12.0pt on input line 330.
(Font) scaled to size 12.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 6.6pt on input line 330.
(Font) scaled to size 6.6pt on input line 341.
LaTeX Font Info: Trying to load font information for TS1+LinuxLibertineT-TLF
on input line 330.
on input line 341.
(/usr/local/texlive/2025/texmf-dist/tex/latex/libertine/TS1LinuxLibertineT-TLF.
fd
@@ -1194,166 +1194,166 @@ File: TS1LinuxLibertineT-TLF.fd 2017/03/20 (autoinst) Font definitions for TS1/
LinuxLibertineT-TLF.
)
LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.8pt on input line 330.
(Font) scaled to size 8.8pt on input line 341.
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `LinuxLibertineT-TLF' (encoding: TS1).
(microtype) For optimal results, create family-specific settings.
(microtype) See the microtype manual for details.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
(Font) scaled to size 10.0pt on input line 330.
(Font) scaled to size 10.0pt on input line 341.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be
(Font) scaled to size 7.0pt on input line 330.
(Font) scaled to size 7.0pt on input line 341.
LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 7.0pt on input line 330.
(Font) scaled to size 7.0pt on input line 341.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
(Font) scaled to size 9.0pt on input line 330.
(Font) scaled to size 9.0pt on input line 341.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
(Font) scaled to size 10.95pt on input line 330.
(Font) scaled to size 10.95pt on input line 341.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/b/n' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.0pt on input line 330.
(Font) scaled to size 6.0pt on input line 341.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 6.0pt on input line 330.
(Font) scaled to size 6.0pt on input line 341.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 6.0pt on input line 330.
(Font) scaled to size 6.0pt on input line 341.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 6.0pt on input line 330.
(Font) scaled to size 6.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 6.0pt on input line 330.
(Font) scaled to size 6.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 6.0pt on input line 330.
(Font) scaled to size 6.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 6.0pt on input line 330.
(Font) scaled to size 6.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 8.0pt on input line 330.
(Font) scaled to size 8.0pt on input line 341.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 6.0pt on input line 330.
(Font) scaled to size 6.0pt on input line 341.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 9.0pt on input line 396.
(Font) scaled to size 9.0pt on input line 407.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 9.0pt on input line 396.
(Font) scaled to size 9.0pt on input line 407.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 9.0pt on input line 396.
(Font) scaled to size 9.0pt on input line 407.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 9.0pt on input line 396.
(Font) scaled to size 9.0pt on input line 407.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 9.0pt on input line 396.
(Font) scaled to size 9.0pt on input line 407.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 9.0pt on input line 396.
(Font) scaled to size 9.0pt on input line 407.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 9.0pt on input line 396.
(Font) scaled to size 9.0pt on input line 407.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 9.0pt on input line 396.
(Font) scaled to size 9.0pt on input line 407.
Overfull \hbox (1.7376pt too wide) in paragraph at lines 403--406
Overfull \hbox (1.7376pt too wide) in paragraph at lines 414--417
[]\T1/LinuxLibertineT-TLF/b/n/9 (-20) Memory Al-lo-ca-tion Al-go-rithms (FAT al
-lo-ca-tor)\T1/LinuxLibertineT-TLF/m/n/9 (-20) : Presents
[]
Overfull \hbox (2.8446pt too wide) in paragraph at lines 403--406
Overfull \hbox (2.8446pt too wide) in paragraph at lines 414--417
\T1/LinuxLibertineT-TLF/m/n/9 (-20) mem-ory , and in-te-grat-ing huge pages wit
h CHERI's capability-
[]
Underfull \vbox (badness 10000) has occurred while \output is active []
Underfull \vbox (badness 7486) has occurred while \output is active []
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.0pt on input line 406.
(Font) scaled to size 6.0pt on input line 420.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 36.135pt on input line 406.
LaTeX Font Info: Calculating math sizes for size <36.135> on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Calculating math sizes for size <36.135> on input line 420.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 36.135pt on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 26.37839pt on input line 406.
(Font) scaled to size 26.37839pt on input line 420.
LaTeX Font Info: Font shape `OT1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 19.87434pt on input line 406.
(Font) scaled to size 19.87434pt on input line 420.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 36.135pt on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 26.37839pt on input line 406.
(Font) scaled to size 26.37839pt on input line 420.
LaTeX Font Info: Font shape `OML/nxlmi/m/it' will be
(Font) scaled to size 19.87434pt on input line 406.
(Font) scaled to size 19.87434pt on input line 420.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 36.135pt on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 26.37839pt on input line 406.
(Font) scaled to size 26.37839pt on input line 420.
LaTeX Font Info: Font shape `LMS/ntxsy/m/n' will be
(Font) scaled to size 19.87434pt on input line 406.
(Font) scaled to size 19.87434pt on input line 420.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 36.135pt on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 26.37839pt on input line 406.
(Font) scaled to size 26.37839pt on input line 420.
LaTeX Font Info: Font shape `LMX/ntxexx/m/n' will be
(Font) scaled to size 19.87434pt on input line 406.
(Font) scaled to size 19.87434pt on input line 420.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 36.135pt on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 26.37839pt on input line 406.
(Font) scaled to size 26.37839pt on input line 420.
LaTeX Font Info: Font shape `U/ntxmia/m/it' will be
(Font) scaled to size 19.87434pt on input line 406.
(Font) scaled to size 19.87434pt on input line 420.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 36.135pt on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 26.37839pt on input line 406.
(Font) scaled to size 26.37839pt on input line 420.
LaTeX Font Info: Font shape `U/ntxsym/m/n' will be
(Font) scaled to size 19.87434pt on input line 406.
(Font) scaled to size 19.87434pt on input line 420.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 36.135pt on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 26.37839pt on input line 406.
(Font) scaled to size 26.37839pt on input line 420.
LaTeX Font Info: Font shape `U/ntxsyc/m/n' will be
(Font) scaled to size 19.87434pt on input line 406.
(Font) scaled to size 19.87434pt on input line 420.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 36.135pt on input line 406.
(Font) scaled to size 36.135pt on input line 420.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 26.37839pt on input line 406.
(Font) scaled to size 26.37839pt on input line 420.
LaTeX Font Info: Font shape `U/ntxexa/m/n' will be
(Font) scaled to size 19.87434pt on input line 406.
(Font) scaled to size 19.87434pt on input line 420.
[1.1{/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map}{/usr
/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_76gpa5.enc}{/usr/
local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc}{/usr/l
@@ -1363,53 +1363,53 @@ ocal/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_naooyc.enc}
/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc}]
LaTeX Font Info: Font shape `TS1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 9.0pt on input line 488.
(Font) scaled to size 9.0pt on input line 499.
Underfull \vbox (badness 1895) has occurred while \output is active []
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
(Font) scaled to size 9.0pt on input line 523.
(Font) scaled to size 9.0pt on input line 534.
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/n' will be
(Font) scaled to size 7.0pt on input line 523.
(Font) scaled to size 7.0pt on input line 534.
[2.2]
<diagram/drawing.pdf, id=154, 459.57687pt x 430.33751pt>
File: diagram/drawing.pdf Graphic file (type pdf)
<use diagram/drawing.pdf>
Package pdftex.def Info: diagram/drawing.pdf used on input line 574.
Package pdftex.def Info: diagram/drawing.pdf used on input line 585.
(pdftex.def) Requested size: 192.91872pt x 180.64859pt.
Class acmart Warning: A possible image without description on input line 577.
Class acmart Warning: A possible image without description on input line 588.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be
(Font) scaled to size 9.0pt on input line 637.
(Font) scaled to size 9.0pt on input line 648.
Underfull \vbox (badness 10000) has occurred while \output is active []
Underfull \vbox (badness 1270) has occurred while \output is active []
[3.3 <./diagram/drawing.pdf>]
Package hyperref Info: bookmark level for unknown algorithm defaults to 0 on in
put line 771.
put line 782.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/sc' will be
(Font) scaled to size 9.0pt on input line 774.
(Font) scaled to size 9.0pt on input line 785.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 6.6pt on input line 775.
(Font) scaled to size 6.6pt on input line 786.
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
(Font) scaled to size 5.5pt on input line 775.
(Font) scaled to size 5.5pt on input line 786.
LaTeX Font Info: Trying to load font information for T1+zi4 on input line 86
0.
LaTeX Font Info: Trying to load font information for T1+zi4 on input line 87
1.
(/usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd
File: t1zi4.fd 2018/01/14 T1/zi4 (Inconsolata)
)
LaTeX Font Info: Font shape `T1/zi4/m/n' will be
(Font) scaled to size 9.0pt on input line 860.
(Font) scaled to size 9.0pt on input line 871.
Package microtype Info: Loading generic protrusion settings for font family
(microtype) `zi4' (encoding: T1).
(microtype) For optimal results, create family-specific settings.
@@ -1421,76 +1421,88 @@ nc}{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.en
c}]
Overfull \hbox (3.10277pt too wide) in paragraph at lines 973--979
Overfull \hbox (3.10277pt too wide) in paragraph at lines 984--990
[]\T1/LinuxLibertineT-TLF/m/n/9 (-20) To com-pre-hen-sively anal-yse the im-ple
-mented al-lo-ca-tor, the bench-
[]
Overfull \hbox (4.00519pt too wide) in paragraph at lines 1014--1021
Overfull \hbox (4.00519pt too wide) in paragraph at lines 1025--1032
[]\T1/LinuxLibertineT-TLF/m/n/9 (-20) The Bench-mark ABI was specif-i-cally de-
signed be-cause the Morello
[]
Overfull \hbox (20.98961pt too wide) in paragraph at lines 1014--1021
Overfull \hbox (20.98961pt too wide) in paragraph at lines 1025--1032
\T1/LinuxLibertineT-TLF/m/n/9 (-20) a capability-based jump in-tro-duces stalls
in later PCC-dependent(Program
[]
Underfull \vbox (badness 10000) has occurred while \output is active []
[5.5{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc
}]
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be
(Font) scaled to size 9.0pt on input line 1080.
(Font) scaled to size 9.0pt on input line 1091.
Underfull \vbox (badness 2512) has occurred while \output is active []
Overfull \hbox (10.73358pt too wide) in paragraph at lines 1126--1136
\T1/LinuxLibertineT-TLF/m/n/9 (-20) Monte Carlo code that fo-cuses only on the
most time-consuming
[]
[6.6]
<diagram/Benchmarks/l1_tlb_rd.png, id=259, 1011.78pt x 578.16pt>
<diagram/Benchmarks/l1_tlb_rd.png, id=261, 1011.78pt x 578.16pt>
File: diagram/Benchmarks/l1_tlb_rd.png Graphic file (type png)
<use diagram/Benchmarks/l1_tlb_rd.png>
Package pdftex.def Info: diagram/Benchmarks/l1_tlb_rd.png used on input line 1
167.
192.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/Benchmarks/l2_tlb_rd.png, id=261, 1011.78pt x 578.16pt>
<diagram/Benchmarks/l2_tlb_rd.png, id=263, 1011.78pt x 578.16pt>
File: diagram/Benchmarks/l2_tlb_rd.png Graphic file (type png)
<use diagram/Benchmarks/l2_tlb_rd.png>
Package pdftex.def Info: diagram/Benchmarks/l2_tlb_rd.png used on input line 1
172.
197.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/Benchmarks/dtlb_walk.png, id=262, 1011.78pt x 578.16pt>
<diagram/Benchmarks/dtlb_walk.png, id=264, 1011.78pt x 578.16pt>
File: diagram/Benchmarks/dtlb_walk.png Graphic file (type png)
<use diagram/Benchmarks/dtlb_walk.png>
Package pdftex.def Info: diagram/Benchmarks/dtlb_walk.png used on input line 1
180.
205.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/Benchmarks/l1_tlb_refill.png, id=263, 1011.78pt x 578.16pt>
<diagram/Benchmarks/l1_tlb_refill.png, id=265, 1011.78pt x 578.16pt>
File: diagram/Benchmarks/l1_tlb_refill.png Graphic file (type png)
<use diagram/Benchmarks/l1_tlb_refill.png>
Package pdftex.def Info: diagram/Benchmarks/l1_tlb_refill.png used on input li
ne 1185.
ne 1210.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/Benchmarks/ll_cache_miss_rd.png, id=264, 1011.78pt x 578.16pt>
<diagram/Benchmarks/ll_cache_miss_rd.png, id=266, 1011.78pt x 578.16pt>
File: diagram/Benchmarks/ll_cache_miss_rd.png Graphic file (type png)
<use diagram/Benchmarks/ll_cache_miss_rd.png>
Package pdftex.def Info: diagram/Benchmarks/ll_cache_miss_rd.png used on input
line 1193.
line 1218.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/Benchmarks/wall_clock.png, id=265, 1011.78pt x 578.16pt>
<diagram/Benchmarks/wall_clock.png, id=267, 1011.78pt x 578.16pt>
File: diagram/Benchmarks/wall_clock.png Graphic file (type png)
<use diagram/Benchmarks/wall_clock.png>
Package pdftex.def Info: diagram/Benchmarks/wall_clock.png used on input line
1198.
1223.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
Class acmart Warning: A possible image without description on input line 1206.
Class acmart Warning: A possible image without description on input line 1231.
Overfull \hbox (1.58871pt too wide) in paragraph at lines 1260--1267
\T1/LinuxLibertineT-TLF/m/n/9 (-20) achiev-ing fast mem-ory ac-cess; there-fore
, a re-duc-tion in events
[]
@@ -1501,14 +1513,14 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
<diagram/benchmarks-group/Memaccess_size.png, id=283, 693.792pt x 716.1957pt>
<diagram/benchmarks-group/Memaccess_size.png, id=285, 693.792pt x 716.1957pt>
File: diagram/benchmarks-group/Memaccess_size.png Graphic file (type png)
<use diagram/benchmarks-group/Memaccess_size.png>
Package pdftex.def Info: diagram/benchmarks-group/Memaccess_size.png used on i
nput line 1344.
nput line 1391.
(pdftex.def) Requested size: 241.14749pt x 248.93466pt.
Class acmart Warning: A possible image without description on input line 1347.
Class acmart Warning: A possible image without description on input line 1394.
Underfull \vbox (badness 10000) has occurred while \output is active []
@@ -1519,17 +1531,14 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
<./diagram/Benchmarks/dtlb_walk.png> <./diagram/Benchmarks/l1_tlb_refill.png> <
./diagram/Benchmarks/ll_cache_miss_rd.png> <./diagram/Benchmarks/wall_clock.png
>]
Overfull \hbox (19.8336pt too wide) in paragraph at lines 1444--1474
\T1/LinuxLibertineT-TLF/m/n/9 (-20) Although per-for-mance gains are less sig-n
if-i-cant for larger or computation-
Overfull \hbox (1.72723pt too wide) in paragraph at lines 1560--1565
\T1/LinuxLibertineT-TLF/m/n/9 (-20) en-vi-ron-ments. More broadly, this work de
mon-strates how capability-
[]
(./paper.bbl
Underfull \vbox (badness 10000) has occurred while \output is active []
[9.9 <./diagram/benchmarks-group/Memaccess_size.png>]
Underfull \hbox (badness 2443) in paragraph at lines 164--168
@@ -1570,13 +1579,13 @@ Package rerunfilecheck Info: File `paper.out' has not changed.
(rerunfilecheck) Checksum: 5D099748DF22819073F9A7767F18C6A3;4008.
)
Here is how much of TeX's memory you used:
24410 strings out of 473190
401917 string characters out of 5715801
980850 words of memory out of 5000000
46501 multiletter control sequences out of 15000+600000
781557 words of font info for 491 fonts, out of 8000000 for 9000
24420 strings out of 473190
402121 string characters out of 5715801
982789 words of memory out of 5000000
46504 multiletter control sequences out of 15000+600000
782201 words of font info for 495 fonts, out of 8000000 for 9000
1302 hyphenation exceptions out of 8191
90i,17n,131p,1002b,791s stack positions out of 10000i,1000n,20000p,200000b,200000s
90i,17n,131p,1002b,789s stack positions out of 10000i,1000n,20000p,200000b,200000s
</usr/local/texlive/2025/texmf-dist/fonts/type1/public/inconsolata/Inconsolat
a-zi4r.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/Liberti
neMathMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/L
@@ -1589,10 +1598,10 @@ lic/libertine/LinLibertineTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type
/type1/public/newtx/NewTXMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1
/public/newtx/txmiaX.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public
/newtx/txsys.pfb>
Output written on paper.pdf (10 pages, 2200383 bytes).
Output written on paper.pdf (10 pages, 2201332 bytes).
PDF statistics:
404 PDF objects out of 1000 (max. 8388607)
336 compressed objects within 4 object streams
69 named destinations out of 1000 (max. 500000)
408 PDF objects out of 1000 (max. 8388607)
340 compressed objects within 4 object streams
70 named destinations out of 1000 (max. 500000)
123633 words of extra memory for PDF output out of 128383 (max. 10000000)

Binary file not shown.

View File

@@ -61,6 +61,7 @@
\usepackage{subcaption}
\usepackage{caption}
\usepackage{graphicx}
\usepackage{natbib}
\lstset{basicstyle=\small\ttfamily,columns=fullflexible}
@@ -257,17 +258,27 @@
% The FAT allocator when ran independently and embedded inside Jemalloc reduces walking the TLB hierarchy by upto 90\%, which leads to decreasing runtimes
% for memory read and write intensive applications.
The widening gap between application memory demands and the limited capacity of hardware Translation Lookaside Buffers (TLBs)
in modern processors leads to frequent TLB misses, incurring significant performance penalties due to additional clock cycles
spent on page table walks. A common mitigation strategy involves the use of physically contiguous memory and huge pages to
reduce TLB pressure.
% The widening gap between application memory demands and the limited capacity of hardware Translation Lookaside Buffers (TLBs)
% in modern processors leads to frequent TLB misses, incurring significant performance penalties due to additional clock cycles
% spent on page table walks. A common mitigation strategy involves the use of physically contiguous memory and huge pages to
% reduce TLB pressure.
This paper introduces a solution that leverages capability-based addressing in the CHERI architecture with huge pages.
We present Fat Address Translations (FAT), a memory allocator that embeds allocation metadata directly within
pointer capabilities and manages memory in block-based allocations within huge pages. By encoding allocation bounds in capabilities,
FAT enables more efficient pointer dereferencing and reduces reliance on smaller page table entry lookups. Our evaluation shows that FAT,
both as a standalone allocator and when integrated into Jemalloc, reduces TLB hierarchy walks by up to 99\% in contrast to standard system allocators and improves runtime performance for memory read intensive applications.
This demonstrates that capability-based addressing can repurposed to mitigate TLB pressure.
% This paper introduces a solution that leverages capability-based addressing in the CHERI architecture with huge pages.
% We present Fat Address Translations (FAT), a memory allocator that embeds allocation metadata directly within
% pointer capabilities and manages memory in block-based allocations within huge pages. By encoding allocation bounds in capabilities,
% FAT enables more efficient pointer dereferencing and reduces reliance on smaller page table entry lookups. Our evaluation shows that FAT,
% both as a standalone allocator and when integrated into Jemalloc, reduces TLB hierarchy walks by up to 99\% in contrast to standard system allocators and improves runtime performance for memory read intensive applications.
% This demonstrates that capability-based addressing can repurposed to mitigate TLB pressure.
Modern processors increasingly suffer from Translation Lookaside Buffer (TLB) pressure, where frequent misses lead to costly page table walks and degraded performance. While huge pages can mitigate some of this overhead,
allocator-level inefficiencies persist.
We present Fat Address Translations (FAT), a memory allocator for capability-aware architectures such as CHERI. FAT
embeds allocation metadata directly within pointer capabilities and manages memory in block-based allocations inside
huge pages, reducing reliance on page table lookups and enabling more efficient pointer dereferencing. Evaluation shows that
FAT reduces TLB walks by up to 99\% and L2 TLB reads by 98\%. Runtime performance improves by up to 11\% in macro-benchmarks (e.g. XSBench), 1.84\%
in Kmeans and Barnes, and 4\% in micro-benchmarks such as Memaccess, while Richards remains near baseline. These results demonstrate
that capability-based addressing can be repurposed to mitigate TLB pressure, offering a scalable and efficient strategy for memory allocation
in future capability-aware systems.
\end{abstract}
%%
@@ -409,7 +420,7 @@ memory allocations by emulating block allocations on physically contiguous memor
\end{itemize}
Through evaluating micro and macro benchmarks the FAT allocator though the use of CHERI's capabilities and huge pages demonstrates the allocator's ability
to reduce TLB walks by up to 99\% which yields to improvements of wall clock runtimes by upto 6\% for memory-intensive
to reduce TLB walks by up to 99\% which yields to improvements of wall clock runtimes by upto 11\% for memory-intensive
applications. While its impact on larger and computation-heavy workloads is less pronounced.
The proposed allocator shows strong potential for advancing memory management in scenarios requiring
high memory throughput by reducing the address translation overhead.
@@ -1078,18 +1089,26 @@ the allocator performs with complex memory allocation demands such as large data
\label{sec:Micro}
\begin{itemize}
\item \texttt{GLIBC}: The Glibc benchmark evaluates the performance of
\textit{malloc} and \textit{free} functions in single-threaded, multi-threaded,
and emulated multi-threading scenarios using various block sizes
allocation patterns. It simulates real-world memory usage by partially
deallocating blocks in FIFO order and fully deallocating them in LIFO order.
Results are gathered across configurations to analyse performance variations.
% \item \texttt{GLIBC}: The Glibc benchmark evaluates the performance of
% \textit{malloc} and \textit{free} functions in single-threaded, multi-threaded,
% and emulated multi-threading scenarios using various block sizes
% allocation patterns. It simulates real-world memory usage by partially
% deallocating blocks in FIFO order and fully deallocating them in LIFO order.
% Results are gathered across configurations to analyse performance variations.
\item \texttt{MemAccess}: This benchmark evaluates the performance impact of
memory access patterns by constructing and traversing a doubly
linked list with varying working set sizes. It supports sequential or
randomised structures with optional node operations and multithreaded
traversal using pthreads. The program dynamically allocates memory and systematically
doubles the working set size to analyse memory hierarchy behavior.
\item \texttt{Richards}: Richards is a task scheduling benchmark that simulates a
multitasking environment with tasks of varying types and priorities which is
communicated through queued packets. The schedule function manages
task execution based on the state, priority and tracks processed packets
which are held tasks for performance evaluation. Configurable iterations and
timing help measure system performance to ensure correctness.
\end{itemize}
\subsubsection{Macro benchmark}
@@ -1103,12 +1122,18 @@ distributed across threads using the pthread library, dynamically
assigning tasks to optimise performance. Parameters like data size
and clusters are configurable and the program ensures efficient
memory management and synchronisation.
\item \texttt{Richards}: Richards is a task scheduling benchmark that simulates a
multitasking environment with tasks of varying types and priorities which is
communicated through queued packets. The schedule function manages
task execution based on the state, priority and tracks processed packets
which are held tasks for performance evaluation. Configurable iterations and
timing help measure system performance to ensure correctness.
\item \texttt{XSBench}: XSBench~\cite{XSBench} is a simplified version of the OpenMC Monte Carlo code
that focuses only on the most time-consuming part: calculating macroscopic neutron cross sections.
Instead of running a full particle transport simulation it uses a benchmark reactor model,
a large unionised energy grid to reproduce the same types of calculations and memory use patterns
but with far less complexity. The key point is that cross-section lookups involve many random accesses
to large data tables in memory, rather than a small amount of repeated arithmetic. This makes performance
heavily dependent on how quickly data can be read from and written to different levels of the memory
hierarchy (caches, main memory). XSBench is therefore closely tied to studying memory reads and writes,
since it allows researchers to see how modern processors handle the irregular, data-intensive behaviour
that dominates in real Monte Carlo simulations.
\item \texttt{BARNES}: Implements the Barnes-Hut algorithm to efficiently simulate the interactions within
an \(N\)-body system. A comprehensive overview of the Barnes-Hut method is provided by Singh in his doctoral
dissertation ~\cite{singh1993}. This implementation extends the original method by permitting multiple
@@ -1232,28 +1257,40 @@ of its capability to handle memory more efficiently by leveraging huge pages.
% FAT allocator embedded inside Jemalloc. These results suggest that FAT allocator embedded inside Jemalloc may arrange memory
% in a manner that enhances spatial locality at the page level, particularly for workloads like Memaccess and Glibc.
\item L1 TLB reads (Figure~\ref{fig:l1tlb-reads}): L1 TLB reads are critical for achieving fast memory access; therefore, a
\item L1 DTLB reads (Figure~\ref{fig:l1tlb-reads}): L1 TLB reads are critical for achieving fast memory access; therefore, a
reduction in events that could signify misses or lead to further lookups is generally beneficial.
In the Kmeans benchmark, the FAT allocator demonstrated 13\% fewer L1 TLB reads than the baseline allocator.
However, when the FAT allocator was embedded within Jemalloc, the L1 TLB reads were the same as the baseline.
For the memaccess benchmark, the embedded FAT allocator resulted in 68\% fewer L1 TLB reads compared to the baseline
allocator. A similar pattern was observed with Glibc, showing 59\% fewer L1 TLB reads. In the Richards benchmark,
there was no difference for either allocator. For the Barnes benchmark, the FAT allocator exhibited 5\%
However, when the FAT allocator was embedded within Jemalloc the L1 TLB reads were the same as the baseline.
For memaccess, XSBench and Richards benchmark the L1 TLB were the same as the baseline for both allocators.
For the Barnes benchmark, the FAT allocator exhibited 5\%
fewer L1 TLB reads, and the result was the same for the FAT allocator embedded within Jemalloc.
% For the memaccess benchmark, the embedded FAT allocator resulted in 68\% fewer L1 TLB reads compared to the baseline
% allocator. A similar pattern was observed with Glibc, showing 59\% fewer L1 TLB reads. In the Richards benchmark,
% there was no difference for either allocator. For the Barnes benchmark, the FAT allocator exhibited 5\%
% fewer L1 TLB reads, and the result was the same for the FAT allocator embedded within Jemalloc.
\item L2 TLB reads (Figure~\ref{fig:l2tlb-reads}): L2 Data TLB reads (or lookups) serve as a secondary cache for address translations.
FAT allocator consistently performed at 98\% lesser L2 TLB reads for this metric across all benchmarks except Barnes
which was 4\% lesser. FAT allocator embedded inside Jemalloc also showed significant change for Kmeans, Memaccess, and Richards. However, for the Glibc benchmark
it achieved a reduction of 60\% in L2 TLB reads. This mirrors its L1D TLB improvement for Glibc and suggests that its
strategy for page locality extends effectively to deeper levels of the TLB hierarchy for this particular benchmark, which is notable given
Glibc's high frequency of malloc calls that stress memory management. A minor reduction of 5 \% was also observed for the Barnes
benchmark with FAT allocator embedded inside Jemalloc.
% \item L2 DTLB reads (Figure~\ref{fig:l2tlb-reads}): L2 Data TLB reads serve as a secondary cache for address translations.
% FAT allocator consistently performed at 98\% lesser L2 TLB reads for this metric across all benchmarks except Barnes
% which was 4\% lesser. FAT allocator embedded inside Jemalloc also showed significant change of more than 86\% reduction of L2 TLB reads for Kmeans, XSBench, Memaccess and Richards.
% This means that most reads are hit at the L1 TLB.
% A minor reduction of 5 \% was also observed for the Barnes benchmark with FAT allocator embedded inside Jemalloc.
% This mirrors its L1D TLB improvement for Glibc and suggests that its
% strategy for page locality extends effectively to deeper levels of the TLB hierarchy for this particular benchmark, which is notable given
% Glibc's high frequency of malloc calls that stress memory management.
\item L2 DTLB reads (Figure~\ref{fig:l2tlb-reads}): L2 Data TLB reads act as a secondary cache for address translations.
The FAT allocator consistently reduced L2 TLB reads by around 98\% across all benchmarks, with the exception of Barnes,
where the reduction was 4\%. When embedded within Jemalloc, the FAT allocator also achieved substantial improvements, lowering L2 TLB reads by more than 86\% for Kmeans, XSBench, Memaccess, and Richards.
These results indicate that the majority of address translation requests are successfully resolved at the L1 TLB
level, thereby avoiding the need to access deeper levels of the memory hierarchy.
\item DTLB walks (Figure~\ref{fig:dtlb-walk}): which occur when a virtual-to-physical
address translation is not found in the DTLB and a page table traversal is necessary, represent a performance
cost. thus, fewer walks are preferable. In the observed tests neither FAT allocator nor FAT allocator embedded inside Jemalloc
demonstrated significant deviation from the baseline performance of 99\% lesser walks.
This consistent behavior was noted across all benchmarks evaluated: Kmeans, Memaccess, Glibc, Richards, and Barnes.
This consistent behavior was noted across all benchmarks evaluated: Kmeans, Memaccess, XSBench, Richards, and Barnes.
This indicates that almost all address translations were resolved directly at the L1 DTLB level
without triggering expensive traversals through the page table. More generally, this finding
demonstrates that both allocator designs make efficient use of the hardware translation system and
@@ -1265,10 +1302,10 @@ of its capability to handle memory more efficiently by leveraging huge pages.
% of DTLB misses that necessitate page table walks within these specific workloads. Even for the Memaccess benchmark,
% which is designed with random list traversals that can stress TLB pressure, the impact on dTLB walks was negligible according to the provided graphs.
\item L1 TLB refills (Figure~\ref{fig:l1tlb-refill}): L1 Data TLB refills are a direct consequence of L1 TLB misses; therefore, fewer refills
indicate better performance. Interestingly, despite the variations observed in L1 TLB reads for the FAT allocator
embedded within Jemalloc, the L1 TLB refills metric showed a significant reduction of 99\% for both the standalone
FAT allocator and the FAT allocator embedded within Jemalloc. This consistent and substantial improvement over the baseline was observed across all tested benchmarks: Kmeans, Memaccess, Glibc, Richards, and Barnes.
\item L1 DTLB refills (Figure~\ref{fig:l1tlb-refill}): L1 Data DTLB refills are a direct consequence of L1 DTLB misses; therefore, fewer refills
indicate better performance. Interestingly, despite the variations observed in L1 DTLB reads for the FAT allocator
embedded within Jemalloc, the L1 DTLB refills metric showed a significant reduction of 99\% for both the standalone
FAT allocator and the FAT allocator embedded within Jemalloc. This consistent and substantial improvement over the baseline was observed across all tested benchmarks: Kmeans, Memaccess, XSBench, Richards, and Barnes.
% L1 Data TLB refills are a direct consequence of L1D TLB misses, with fewer refills indicating better performance.
% Interestingly, despite the variations observed in L1D TLB reads for FAT allocator embedded inside Jemalloc, the L1D TLB refills metric
@@ -1278,15 +1315,24 @@ of its capability to handle memory more efficiently by leveraging huge pages.
% events than solely those leading to refills, or perhaps the absolute number of critical misses resulting in refills was minimal to begin with and thus
% not significantly affected by the allocators in these tests.
\item Last-level cache (Figure~\ref{fig:ll-cache-rd}): Cache read misses in the Last-Level Cache (LLC) are critical performance indicators, as they typically lead to
slower data retrievals from main memory. Consequently, a lower number of misses is highly desirable. The performance on this
metric varied considerably across both allocators and benchmarks. The FAT allocator exhibited the highest variance in the
kmeans benchmark, achieving 57\% fewer cache misses compared to the baseline allocator. In contrast, it recorded 18\% more
misses in memaccess, 65\% fewer in glibc, 31\% more in Richards, and 18\% more in barnes.
When the FAT allocator was embedded within Jemalloc, the results shifted notably: kmeans experienced 19\% more misses
relative to the baseline, memaccess saw a substantial 77\% reduction, while glibc incurred a dramatic 370\% increase particularly
significant given its malloc intensive nature. There was no change in LLC misses for Richards, whereas barnes suffered from 68\%
more misses.
% \item Last-level cache (Figure~\ref{fig:ll-cache-rd}): Cache read misses in the Last-Level Cache (LLC) are critical performance indicators, as they typically lead to
% slower data retrievals from main memory. Consequently, a lower number of misses is highly desirable. The performance on this
% metric varied considerably across both allocators and benchmarks. The FAT allocator exhibited the highest variance in the
% kmeans benchmark, achieving 57\% fewer cache misses compared to the baseline allocator. In contrast, it recorded 18\% more
% misses in memaccess, 65\% fewer in glibc, 31\% more in Richards, and 18\% more in barnes.
% When the FAT allocator was embedded within Jemalloc, the results shifted notably: kmeans experienced 19\% more misses
% relative to the baseline, memaccess saw a substantial 77\% reduction, while glibc incurred a dramatic 370\% increase particularly
% significant given its malloc intensive nature. There was no change in LLC misses for Richards, whereas barnes suffered from 68\%
% more misses.
\item Last-level cache (Figure~\ref{fig:ll-cache-rd}): Cache read misses in the Last-Level Cache (LLC) are important performance
indicators, as each miss typically results in slower data retrieval from main memory. Thus, fewer misses are
generally preferable. The results for this metric show notable variation across both allocators and benchmarks.
With the FAT allocator, kmeans achieved a 57\% reduction in LLC misses, while memaccess showed no meaningful
change. In contrast, XSBench experienced 6\% more misses, Richards 32\% more, and Barnes 19\% more compared to
the baseline. When the FAT allocator was embedded within Jemalloc, the behaviour shifted: kmeans recorded 19\% more misses,
memaccess again showed negligible change, XSBench improved slightly with 3\% fewer misses, Richards had a marginal 1\%
increase, and Barnes exhibited a substantial 69\% increase.
% Last-Level Cache read misses are crucial performance indicators, as they often result in slow data fetches
@@ -1305,11 +1351,12 @@ of its capability to handle memory more efficiently by leveraging huge pages.
% such as the difference between the large data arrays in K-Means versus the linked structures common in Memaccess or Richards.
\item Wall clock (Figure~\ref{fig:wallclock}): Wallclock time serves as the definitive metric for evaluating overall execution performance.
When using the FAT allocator, glibc demonstrated the most significant improvement, with a 51\% reduction in wallclock
runtime compared to the baseline allocator. This was followed by memaccess with a 34\% decrease, barnes with a 4\% reduction,
When using the FAT allocator, XSBench demonstrated the most significant improvement, with a 11\% reduction in wallclock
runtime compared to the baseline allocator. This was followed by memaccess, barnes with a 4\% decrease
and kmeans with a modest 1.8\% improvement.
Richards exhibited a slight increase of 1\% in runtime.
When the FAT allocator was integrated into Jemalloc, the performance impact varied. Glibc experienced a 16.2\% increase
When the FAT allocator was integrated into Jemalloc, the performance impact varied. Memaccess and XSBench demonstrated similar
improvements compared to the FAT allocator.
in wallclock time, while barnes showed a 7\% rise. Both Richards and kmeans maintained the same runtime as the baseline
allocator.
In regards to memaccess (Figure~\ref{fig:Memaccess}) the comparative performance of two allocators FAT allocator embedded inside jemalloc
@@ -1346,26 +1393,39 @@ of its capability to handle memory more efficiently by leveraging huge pages.
\label{fig:Memaccess}
\end{figure}
A particularly striking observation is the significant reduction in data TLB walks,
L2 data TLB reads and TLB refills-consistently which show a 90\% decrease across all
benchmarks compared to Jemalloc. This improvement is due to the modified allocators
use of a single huge page entry at the L1 TLB layer. By enabling most address translations
to be resolved directly at the L1 TLB, the need to walk through the deeper TLB hierarchy is
largely eliminated. This reduction in translation overhead is a key factor in the allocators
performance for certain types of workloads.
Overall, the evaluation shows that the FAT allocator provides consistent improvements in
TLB efficiency, with near elimination of L1 refills and L2 reads across all benchmarks,
thereby reducing pressure on the memory translation subsystem. Its effect on last-level
cache behaviour is more variable, with notable gains in Kmeans but regressions in other
workloads such as Richards and Barnes. Wall-clock performance reflects these mixed results:
while XSBench and Memaccess benefit from measurable reductions in execution time, benchmarks
with irregular access patterns (e.g., Richards) show little to no improvement. A closer comparison
of Memaccess further reveals that the standalone FAT allocator performs best at smaller memory scales,
whereas the Jemalloc-embedded FAT allocator demonstrates superior scalability and stability as memory
sizes increase. These findings suggest that FAT's huge-page-oriented design is particularly effective
for workloads with predictable or structured access patterns, whilst integration with Jemalloc enhances
adaptability for larger or more irregular memory usage.
The micro benchmarks which are crafted to emphasise memory read operations, highlight the
allocators strengths. These tests simulate frequent and intensive memory access patterns,
where the reduction in TLB misses directly translate into measurable performance gains.
On average, the FAT allocator achieves a 50\% reduction in wall clock runtimes for
these workloads underscoring its ability to optimise high-throughput memory operations.
% A particularly striking observation is the significant reduction in data TLB walks,
% L2 data TLB reads and TLB refills-consistently which show a 90\% decrease across all
% benchmarks compared to Jemalloc. This improvement is due to the modified allocators
% use of a single huge page entry at the L1 TLB layer. By enabling most address translations
% to be resolved directly at the L1 TLB, the need to walk through the deeper TLB hierarchy is
% largely eliminated. This reduction in translation overhead is a key factor in the allocators
% performance for certain types of workloads.
On the other hand, macro benchmarks which represent larger and more complex real-world applications,
exhibit minimal differences in wall clock runtimes when using the FAT allocator.
This outcome is expected, as macro benchmarks typically involve a broader range of operations
beyond memory allocation. Additionally,
the benefits of huge pages may be less pronounced for these workloads, as they are often
bottlenecked by factors such as computation or I/O rather than memory translation overhead.
% The micro benchmarks which are crafted to emphasise memory read operations, highlight the
% allocators strengths. These tests simulate frequent and intensive memory access patterns,
% where the reduction in TLB misses directly translate into measurable performance gains.
% On average, the FAT allocator achieves a 50\% reduction in wall clock runtimes for
% these workloads underscoring its ability to optimise high-throughput memory operations.
% On the other hand, macro benchmarks which represent larger and more complex real-world applications,
% exhibit minimal differences in wall clock runtimes when using the FAT allocator.
% This outcome is expected, as macro benchmarks typically involve a broader range of operations
% beyond memory allocation. Additionally,
% the benefits of huge pages may be less pronounced for these workloads, as they are often
% bottlenecked by factors such as computation or I/O rather than memory translation overhead.
% \begin{figure}[htbp]
% \centering
@@ -1440,33 +1500,69 @@ bottlenecked by factors such as computation or I/O rather than memory translatio
% The Bluespec design of the RISC-V processor will be modified to allow certain memory operations to bypass the TLB. This means that when a pointer with encoded offset and bounds is used, the system can directly compute the physical address from the capability information.
% This modification reduces the dependency on the TLB, decreasing latency and improving performance, especially for frequent memory operations.
\section{Conclusion} %Title of the Conclusion
This paper has presented FAT, a memory allocator
designed to address the growing mismatch between application memory demands and
the limited reach of TLBs in modern processors.
By leveraging physically contiguous memory through huge pages and embedding
allocation metadata within CHERI's compressed capability based pointers,
FAT significantly reduces the overhead associated with virtual-to-physical
address translation.
\newline
FAT achieves block-based allocation within huge pages, enabling memory tracking
without relying heavily on traditional page table mechanisms. Benchmark evaluations
demonstrate that FAT can reduce TLB walks by up to 99\%, resulting in substantial
performance improvements in memory-intensive workloads. When applied to
microbenchmarks, FAT reduced wall-clock runtime by up to 51\% for Glibc and
34\% for Memaccess, while also achieving up to 68\% fewer L1 TLB reads and 98\%
fewer L2 TLB reads. In contrast, macro benchmarks such as Kmeans and Barnes
showed more modest gains of 1.8\% and 4\% in runtime, respectively, reflecting
the allocator's limited impact in compute-bound scenarios.
\newline
Although performance gains are less significant for larger or computation-heavy applications,
the results underscore the allocator's potential to enhance memory management in
high-throughput environments. More broadly, this work demonstrates how
capability based architectures originally designed to ensure memory safety can
be effectively repurposed to optimise address translation.
FAT thus represents a promising direction for developing more scalable
and efficient memory allocation strategies in systems adopting
capability aware architectures.
% \section{Conclusion} %Title of the Conclusion
% This paper has presented FAT, a memory allocator
% designed to address the growing mismatch between application memory demands and
% the limited reach of TLBs in modern processors.
% By leveraging physically contiguous memory through huge pages and embedding
% allocation metadata within CHERI's compressed capability based pointers,
% FAT significantly reduces the overhead associated with virtual-to-physical
% address translation.
% \newline
% FAT achieves block-based allocation within huge pages, enabling memory tracking
% without relying heavily on traditional page table mechanisms. Benchmark evaluations
% demonstrate that FAT can reduce TLB walks by up to 99\%, resulting in substantial
% performance improvements in memory-intensive workloads. When applied to
% microbenchmarks, FAT reduced wall-clock runtime by up to 11\% for XSBench and
% 4\% for Memaccess, while also achieving up to 98\%
% fewer L2 TLB reads. In contrast, macro benchmarks such as Kmeans and Barnes
% showed more modest gains of 1.8\% and 4\% in runtime, respectively, reflecting
% the allocator's limited impact in compute-bound scenarios.
% \newline
% Although performance gains are less significant for larger or computation-heavy applications,
% the results underscore the allocator's potential to enhance memory management in
% high-throughput environments. More broadly, this work demonstrates how
% capability based architectures originally designed to ensure memory safety can
% be effectively repurposed to optimise address translation.
% FAT thus represents a promising direction for developing more scalable
% and efficient memory allocation strategies in systems adopting
% capability aware architectures.
\section{Conclusion} %Title of the Conclusion
This paper has presented FAT, a memory allocator designed to
address the growing mismatch between application memory demands and the
limited reach of TLBs in modern processors. By leveraging physically contiguous
memory through huge pages and embedding allocation metadata within CHERI's
compressed capability-based pointers, FAT significantly reduces the overhead
associated with virtual-to-physical address translation.
FAT achieves block-based allocation within huge pages, enabling memory
tracking without relying heavily on traditional page table mechanisms.
Benchmark evaluations demonstrate that FAT can reduce TLB walks by up to 99\%,
resulting in substantial improvements in memory-intensive workloads.
When applied to micro-benchmarks, FAT reduced wall-clock runtime by up to 4\%
for Memaccess and maintained near-baseline performance for Richards, while
also achieving up to 98\% fewer L2 TLB reads. In contrast, macro-benchmarks
such as XSBench, Kmeans, and Barnes showed runtime improvements of 11\%, 1.8\%, and 4\%,
respectively, reflecting the allocators stronger benefits in memory-bound scenarios
compared to compute-heavy ones.
Overall, the evaluation shows that FAT provides consistent improvements in TLB efficiency,
with near elimination of L1 refills and L2 reads across all benchmarks, thereby reducing
pressure on the memory translation subsystem. Its effect on last-level cache behaviour
is more variable, with notable gains in Kmeans but regressions in workloads such as
Richards and Barnes. Wall-clock performance reflects these mixed outcomes: while XSBench
and Memaccess benefit from measurable reductions in execution time, workloads with irregular
access patterns (e.g., Richards) show little to no improvement. A closer comparison of Memaccess
further reveals that the standalone FAT allocator performs best at smaller memory scales, whereas
the Jemalloc-embedded FAT allocator demonstrates superior scalability and stability as memory sizes increase.
Although performance gains are less significant for larger or computation-heavy applications, the results
underscore the allocator's potential to enhance memory management in high-throughput environments. More broadly,
this work demonstrates how capability-based architectures, originally designed to ensure memory safety, can be effectively
repurposed to optimise address translation. FAT thus represents a promising direction for developing more scalable and efficient
memory allocation strategies in systems adopting capability-aware architectures.
% This paper addresses the growing disparity between application workloads and the capacity of TLBs.
% To mitigate this gap, FAT proposed leveraging physically contiguous memory with CHERI bounds to reduce TLB walks.
% FAT is a memory allocator that uses huge pages with the CHERI CC scheme to track allocations within the
@@ -2027,7 +2123,8 @@ capability aware architectures.
% rhoncus. Maecenas eu arcu ac neque placerat aliquam. Nunc pulvinar
% massa et mattis lacinia.
\bibliographystyle{unsrtnat}
% \bibliographystyle{unsrtnat}
\bibliographystyle{apa}
\bibliography{paperReferences}
\end{document}

View File

@@ -606,13 +606,24 @@ series = {WCAE '03}
month = feb,
}
@inproceedings{holt1995,
author = {Holt, C. and Singh, Jaswinder Pal},
title = {Hierarchical N-Body Methods on Shared Address Space Multiprocessors},
booktitle = {SIAM Conference on Parallel Processing for Scientific Computing},
year = {1995},
note = {To appear},
month = feb
@article{holt1995,
author = {Singh, Jaswinder Pal and Hennessy, John L. and Gupta, Anoop},
title = {Implications of hierarchical N-body methods for multiprocessor architectures},
year = {1995},
issue_date = {May 1995},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {13},
number = {2},
issn = {0734-2071},
url = {https://doi.org/10.1145/201045.201050},
doi = {10.1145/201045.201050},
abstract = {To design effective large-scale multiprocessors, designers need to understand the characteristics of the applications that will use the machines. Application characteristics of particular interest include the amount of communication relative to computation, the structure of the communication, and the local cache and memory requirements, as well as how these characteristics scale with larger problems and machines. One important class of applications is based on hierarchical N-body methods, which are used to solve a wide range of scientific and engineering problems efficiently. Important characteristics of these methods include the nonuniform and dynamically changing nature of the domains to which they are applied, and their use of long-range, irregular communication. This article examines the key architectural implications of representative applications that use the two dominant hierarchical N-body methods: the Barnes-Hut Method and the Fast Multipole Method.We first show that exploiting temporal locality on accesses to communicated data is critical to obtaining good performance on these applications and then argue that coherent caches on shared-address-space machines exploit this locality both automatically and very effectively. Next, we examine the implications of scaling the applications to run on larger machines. We use scaling methods that reflect the concerns of the application scientist and find that this leads to different conclusions about how communication traffic and local cache and memory usage scale than scaling based only on data set size. In particular, we show that under the most realistic form of scaling, both the communication-to-computation ratio as well as the working-set size (and hence the ideal cache size per processor) grow slowly as larger problems are run on larger machines. Finally, we examine the effects of using the two dominant abstractions for interprocessor communication: a shared address space and explicit message passing between private address spaces. We show that the lack of an efficiently supported shared address space will substantially increase the programming complexity and performance overheads for these applications.},
journal = {ACM Trans. Comput. Syst.},
month = may,
pages = {141202},
numpages = {62},
keywords = {N-body methods, communication abstractions, locality, message passing, parallel applications, parallel computer architecture, scaling, shared address space, shared memory}
}
@article{evans_scalable_nodate,
@@ -641,4 +652,14 @@ location = {Providence, RI, USA},
series = {ASPLOS '19}
}
@inproceedings{XSBench,
author = {Tramm, John R and Siegel, Andrew R and Islam, Tanzima and Schulz, Martin},
title = {{XSBench} - The Development and Verification of a Performance Abstraction for {M}onte {C}arlo Reactor Analysis},
booktitle = {{PHYSOR} 2014 - The Role of Reactor Physics toward a Sustainable Future},
address = {Kyoto},
year = 2014,
url = "https://www.mcs.anl.gov/papers/P5064-0114.pdf"
}