diff --git a/docs/EuroSys/Paper/paper.aux b/docs/EuroSys/Paper/paper.aux index f090f2b..73f1b05 100644 --- a/docs/EuroSys/Paper/paper.aux +++ b/docs/EuroSys/Paper/paper.aux @@ -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} diff --git a/docs/EuroSys/Paper/paper.bbl b/docs/EuroSys/Paper/paper.bbl index 2713fc5..e69de29 100644 --- a/docs/EuroSys/Paper/paper.bbl +++ b/docs/EuroSys/Paper/paper.bbl @@ -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 89–104, - 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 3–es, 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 - 237–248, 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 379–393, 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} diff --git a/docs/EuroSys/Paper/paper.blg b/docs/EuroSys/Paper/paper.blg index 1c2578d..9b9f305 100644 --- a/docs/EuroSys/Paper/paper.blg +++ b/docs/EuroSys/Paper/paper.blg @@ -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) diff --git a/docs/EuroSys/Paper/paper.fdb_latexmk b/docs/EuroSys/Paper/paper.fdb_latexmk index c255313..3b1ea6a 100644 --- a/docs/EuroSys/Paper/paper.fdb_latexmk +++ b/docs/EuroSys/Paper/paper.fdb_latexmk @@ -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" diff --git a/docs/EuroSys/Paper/paper.log b/docs/EuroSys/Paper/paper.log index 71314b6..87fe8c8 100644 --- a/docs/EuroSys/Paper/paper.log +++ b/docs/EuroSys/Paper/paper.log @@ -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. <> 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. <> 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] File: diagram/drawing.pdf Graphic file (type 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] - + File: diagram/Benchmarks/l1_tlb_rd.png Graphic file (type 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. - + File: diagram/Benchmarks/l2_tlb_rd.png Graphic file (type 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. - + File: diagram/Benchmarks/dtlb_walk.png Graphic file (type 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. - + File: diagram/Benchmarks/l1_tlb_refill.png Graphic file (type 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. - + File: diagram/Benchmarks/ll_cache_miss_rd.png Graphic file (type 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. - + File: diagram/Benchmarks/wall_clock.png Graphic file (type 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 [] - + File: diagram/benchmarks-group/Memaccess_size.png Graphic file (type 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 -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) diff --git a/docs/EuroSys/Paper/paper.pdf b/docs/EuroSys/Paper/paper.pdf index d0b44ae..4b8206c 100644 Binary files a/docs/EuroSys/Paper/paper.pdf and b/docs/EuroSys/Paper/paper.pdf differ diff --git a/docs/EuroSys/Paper/paper.tex b/docs/EuroSys/Paper/paper.tex index 2541c37..2a468c1 100644 --- a/docs/EuroSys/Paper/paper.tex +++ b/docs/EuroSys/Paper/paper.tex @@ -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.8–4\% +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 allocator’s 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} diff --git a/docs/EuroSys/Paper/paperReferences.bib b/docs/EuroSys/Paper/paperReferences.bib index c020e93..977f58f 100644 --- a/docs/EuroSys/Paper/paperReferences.bib +++ b/docs/EuroSys/Paper/paperReferences.bib @@ -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 = {141–202}, +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" +} + +