From 0bd28d57d1b0d47c57f9c6971457847bae5b661e Mon Sep 17 00:00:00 2001 From: Akilan Date: Thu, 29 May 2025 23:32:46 +0100 Subject: [PATCH] added content for Jemalloc --- docs/EuroSys/Paper/jemalloc.org | 99 +++++++++++++++++++++++++ docs/EuroSys/Paper/jemalloc.org~ | 43 +++++++++++ docs/EuroSys/Paper/paper.aux | 32 ++++----- docs/EuroSys/Paper/paper.fdb_latexmk | 14 ++-- docs/EuroSys/Paper/paper.fls | 66 ++++++++--------- docs/EuroSys/Paper/paper.log | 76 ++++++++------------ docs/EuroSys/Paper/paper.pdf | Bin 824270 -> 820640 bytes docs/EuroSys/Paper/paper.tex | 104 +++++++++++++++------------ 8 files changed, 283 insertions(+), 151 deletions(-) create mode 100644 docs/EuroSys/Paper/jemalloc.org create mode 100644 docs/EuroSys/Paper/jemalloc.org~ diff --git a/docs/EuroSys/Paper/jemalloc.org b/docs/EuroSys/Paper/jemalloc.org new file mode 100644 index 0000000..57ef4c9 --- /dev/null +++ b/docs/EuroSys/Paper/jemalloc.org @@ -0,0 +1,99 @@ +* Malloc +The provided pseudocode outlines a modified implementation +of jemalloc’s memory mapping routines, adapted to work with +a custom malloc(sz) allocator. Instead of relying on traditional +operating system mechanisms like mmap, the memory allocation is +handled using MALLOC(size) +-> refer pseudo code implementation. + +which refers to a simplified allocator +defined earlier. This custom allocator manages a preallocated +memory region, aligns the requested size, decrements a memory +counter, and returns a pointer with enforced bounds for memory +safety. This approach is especially suited for constrained or +security-focused environments such as CHERI, where strict +control over memory access and deterministic allocation +behavior is essential. + +The os_pages_map function simulates jemalloc’s low-level page +mapping routine. It first checks if a specific address is +requested in case relevant to CheriABI where such behavior +is disallowed and returns NULL. + +If memory overcommitment +is allowed it forces the commit flag to true. +It then allocates memory using the custom MALLOC(size) function and validates +whether the returned pointer matches the requested address +(if one was provided). If there’s a mismatch, it unmaps (i.e calling FREE() -> ref algorithm) the +memory and returns NULL; otherwise, it returns the allocated +pointer. + +The pages_map function is a simplified variant that ignores +alignment and address constraints. It directly allocates the +requested memory size using the internal allocator and returns +the result. This is appropriate in scenarios where alignment is +either managed elsewhere or not critical. + +This approach mentioned above is embeded inside jemallocs strategy of managing memory through arenas and size classes. +In jemalloc, memory is divided into chunks, which are further subdivided into runs and regions to +handle allocations of various sizes efficiently. By aligning sizes and managing allocations within +predefined structures, jemalloc minimizes fragmentation (source: http://hydra.azilian.net/Papers/jemalloc.pdf) + +Not needed: +The pages_commit_impl function emulates memory commitment, a +feature in systems that support lazy memory allocation. It +reallocates memory using MALLOC(size) and checks whether +the returned pointer matches the expected address. If not, +it unmaps the memory and signals failure by returning true; +otherwise, it indicates success by returning false. + +Not needed: +Collectively, these routines demonstrate how jemalloc can be +adapted to operate atop a custom memory allocator instead of +relying on the OS. This enables jemalloc to function in +specialized environments that require stricter memory controls, +such as embedded systems or capability-based architectures, +while still maintaining its structure and allocation policies. + +* Free +The os_pages_unmap algorithm represents a customized abstraction of jemallocs +memory unmapping routine, designed to integrate with the previously defined simplified +free(ptr) implementation. In conventional jemalloc configurations, os_pages_unmap would +invoke low-level system calls such as munmap to release virtual memory pages back to the +operating system. However, in this adapted version, the function instead delegates the +deallocation to a higher-level FREE(addr) -> Point to algorithm implementation + +Not needed: +routine, which encapsulates memory management +within a user-defined allocator, rather than relying on direct interaction with the +operating system. + +The function begins by enforcing two invariants through assertions: first, that the input +address addr is aligned to the operating system's page size (os_page), and second, that +the size of the memory region is also a multiple of os_page. These alignment checks are +critical for maintaining consistency with jemalloc’s internal page-based memory +management semantics and ensuring compatibility with the allocator's expectations. + +Following these checks, the memory at the specified address is deallocated via the +FREE(addr) operation. As previously defined in the free(ptr) pseudocode, this involves +retrieving the size of the allocated region through bounds metadata +(reference section) and invoking an internal unmap routine to mark the region +as available. + +The following changes done to free is embedded inside jemallocs deallocation mechanism, where metadata associated with each allocation +(such as size and location) is used to efficiently return memory to the appropriate arena or pool. jemalloc maintains +separate metadata structures to track allocations, allowing for quick deallocation and reuse of memory blocks +without significant overhead. + +Not needed: +This design enables jemalloc to operate seamlessly in environments where +standard system-level memory operations are either restricted or abstracted away, such +as in sandboxed, embedded, or capability-based systems like CHERI. + + +Not needed: +Overall, this approach demonstrates how jemalloc’s modular architecture can be extended +to support alternative memory management strategies. By redirecting low-level memory +operations to custom allocators, developers can adapt jemalloc to function effectively +in constrained or security-critical execution contexts, without compromising on its +underlying allocation model or safety guarantees. diff --git a/docs/EuroSys/Paper/jemalloc.org~ b/docs/EuroSys/Paper/jemalloc.org~ new file mode 100644 index 0000000..04b8488 --- /dev/null +++ b/docs/EuroSys/Paper/jemalloc.org~ @@ -0,0 +1,43 @@ +The provided pseudocode outlines a modified implementation +of jemalloc’s memory mapping routines, adapted to work with +a custom malloc(sz) allocator. Instead of relying on traditional +operating system mechanisms like mmap, the memory allocation is +handled using MALLOC(size), which refers to a simplified allocator +defined earlier. This custom allocator manages a preallocated +memory region, aligns the requested size, decrements a memory +counter, and returns a pointer with enforced bounds for memory +safety. This approach is especially suited for constrained or +security-focused environments such as CHERI, where strict +control over memory access and deterministic allocation +behavior is essential. + +The os_pages_map function simulates jemalloc’s low-level page +mapping routine. It first checks if a specific address is +requested—a case relevant to CheriABI where such behavior +is disallowed—and returns NULL if so. If memory overcommitment +is allowed, it forces the commit flag to true. It then allocates +memory using the custom MALLOC(size) function and validates +whether the returned pointer matches the requested address +(if one was provided). If there’s a mismatch, it unmaps the +memory and returns NULL; otherwise, it returns the allocated +pointer. + +The pages_map function is a simplified variant that ignores +alignment and address constraints. It directly allocates the +requested memory size using the internal allocator and returns +the result. This is appropriate in scenarios where alignment is +either managed elsewhere or not critical. + +The pages_commit_impl function emulates memory commitment, a +feature in systems that support lazy memory allocation. It +reallocates memory using MALLOC(size) and checks whether +the returned pointer matches the expected address. If not, +it unmaps the memory and signals failure by returning true; +otherwise, it indicates success by returning false. + +Collectively, these routines demonstrate how jemalloc can be +adapted to operate atop a custom memory allocator instead of +relying on the OS. This enables jemalloc to function in +specialized environments that require stricter memory controls, +such as embedded systems or capability-based architectures, +while still maintaining its structure and allocation policies. diff --git a/docs/EuroSys/Paper/paper.aux b/docs/EuroSys/Paper/paper.aux index 178dfc5..efdcf0e 100644 --- a/docs/EuroSys/Paper/paper.aux +++ b/docs/EuroSys/Paper/paper.aux @@ -41,12 +41,10 @@ \@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 } +\@writefile{toc}{\contentsline {section}{\numberline {5}Memory allocator design}{3}{section.5}\protected@file@percent } +\newlabel{sec:MemoryAllocator}{{5}{3}{Memory allocator design}{section.5}{}} \citation{jemalloc} \citation{cheribsd} -\citation{Benchmark} -\citation{Morello} -\@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 } \newlabel{alg:malloc}{{1}{4}{Malloc implementation}{algorithm.1}{}} \@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces Free implementation}}{4}{algorithm.2}\protected@file@percent } @@ -54,14 +52,18 @@ \@writefile{loa}{\contentsline {algorithm}{\numberline {3}{\ignorespaces Init alloc function to create a initial 1 GB huge page}}{4}{algorithm.3}\protected@file@percent } \newlabel{alg:initAlloc}{{3}{4}{Init alloc function to create a initial 1 GB huge page}{algorithm.3}{}} \@writefile{toc}{\contentsline {section}{\numberline {6}Embedding FAT allocator inside Jemalloc}{4}{section.6}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {7}Evaluation}{4}{section.7}\protected@file@percent } -\newlabel{sec:Evaluation}{{7}{4}{Evaluation}{section.7}{}} +\@writefile{loa}{\contentsline {algorithm}{\numberline {4}{\ignorespaces Modified Jemalloc Memory Mapping Routines}}{4}{algorithm.4}\protected@file@percent } +\newlabel{alg:JemallocMalloc}{{4}{4}{Modified Jemalloc Memory Mapping Routines}{algorithm.4}{}} +\citation{Benchmark} +\citation{Morello} \citation{BenchmarkABI} \citation{PerformanceCounter} -\@writefile{loa}{\contentsline {algorithm}{\numberline {4}{\ignorespaces Modified Jemalloc Memory Mapping Routines}}{5}{algorithm.4}\protected@file@percent } -\newlabel{alg:JemallocMalloc}{{4}{5}{Modified Jemalloc Memory Mapping Routines}{algorithm.4}{}} +\citation{singh1993} +\citation{holt1995} \newlabel{alg:JemallocFree}{{\caption@xref {alg:JemallocFree}{ on input line 827}}{5}{Embedding FAT allocator inside Jemalloc}{algorithm.4}{}} \@writefile{loa}{\contentsline {algorithm}{\numberline {5}{\ignorespaces os\_pages\_unmap}}{5}{algorithm.5}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {7}Evaluation}{5}{section.7}\protected@file@percent } +\newlabel{sec:Evaluation}{{7}{5}{Evaluation}{section.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}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Benchmarks}{5}{subsection.7.2}\protected@file@percent } @@ -69,10 +71,8 @@ \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.1}Micro benchmark}{5}{subsubsection.7.2.1}\protected@file@percent } \newlabel{sec:Macro}{{7.2.2}{5}{Macro benchmark}{subsubsection.7.2.2}{}} \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.2}Macro benchmark}{5}{subsubsection.7.2.2}\protected@file@percent } -\citation{singh1993} -\citation{holt1995} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Results}{6}{subsection.7.3}\protected@file@percent } -\newlabel{sec:Results}{{7.3}{6}{Results}{subsection.7.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Results}{5}{subsection.7.3}\protected@file@percent } +\newlabel{sec:Results}{{7.3}{5}{Results}{subsection.7.3}{}} \@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces ARM performance counters}}{6}{table.caption.4}\protected@file@percent } \newlabel{tab:org246a883}{{1}{6}{ARM performance counters}{table.caption.4}{}} \newlabel{table:ARMPerf}{{1}{6}{ARM performance counters}{table.caption.4}{}} @@ -90,8 +90,6 @@ \newlabel{sub@fig:wallclock}{{f}{7}{Wall Clock Time}{figure.caption.5}{}} \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Benchmarks comparing the percentage difference between FAT.}}{7}{figure.caption.5}\protected@file@percent } \newlabel{fig:benchmarks-group}{{2}{7}{Benchmarks comparing the percentage difference between FAT}{figure.caption.5}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {7.4}Analysis}{8}{subsection.7.4}\protected@file@percent } -\newlabel{sec:Analysis}{{7.4}{8}{Analysis}{subsection.7.4}{}} \bibstyle{unsrtnat} \bibdata{paperReferences} \bibcite{TLBHierarchy}{{1}{2013}{{Lustig et~al.}}{{Lustig, Bhattacharjee, and Martonosi}}} @@ -106,6 +104,10 @@ \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}}} +\@writefile{toc}{\contentsline {subsection}{\numberline {7.4}Analysis}{8}{subsection.7.4}\protected@file@percent } +\newlabel{sec:Analysis}{{7.4}{8}{Analysis}{subsection.7.4}{}} +\@writefile{toc}{\contentsline {section}{\numberline {8}Conclusion}{8}{section.8}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{References}{8}{section*.7}\protected@file@percent } \bibcite{jemalloc}{{13}{2006}{{Evans}}{{}}} \bibcite{cheribsd}{{14}{}{{che}}{{}}} \bibcite{Benchmark}{{15}{}{{Ben}}{{}}} @@ -121,8 +123,6 @@ \newlabel{tocindent3}{18.198pt} \newlabel{tocindent4}{0pt} \newlabel{tocindent5}{0pt} -\@writefile{toc}{\contentsline {section}{\numberline {8}Conclusion}{9}{section.8}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{References}{9}{section*.7}\protected@file@percent } \newlabel{TotPages}{{9}{9}{}{page.9}{}} \gdef\svg@ink@ver@settings{{\m@ne }{inkscape}{\m@ne }} \gdef \@abspage@last{9} diff --git a/docs/EuroSys/Paper/paper.fdb_latexmk b/docs/EuroSys/Paper/paper.fdb_latexmk index e9b9b50..b86f574 100644 --- a/docs/EuroSys/Paper/paper.fdb_latexmk +++ b/docs/EuroSys/Paper/paper.fdb_latexmk @@ -1,13 +1,13 @@ # Fdb version 4 -["bibtex paper"] 1748298354.94538 "paper.aux" "paper.bbl" "paper" 1748298357.47654 0 +["bibtex paper"] 1748542391.49982 "paper.aux" "paper.bbl" "paper" 1748542393.50586 0 "./paperReferences.bib" 1746971882.78313 50975 d23cf0e29e30a59879e0a43f7bd63014 "" "/usr/local/texlive/2025/texmf-dist/bibtex/bst/natbib/unsrtnat.bst" 1233624470 24550 a41a6405f4de768c43e871d9fbce2bc8 "" - "paper.aux" 1748298357.087 9430 ccff33579246ecce72fa55d0a77e6d17 "pdflatex" + "paper.aux" 1748542393.18687 9430 f2d638c91d61664cb189252cfa34b0aa "pdflatex" (generated) "paper.bbl" "paper.blg" (rewritten before read) -["pdflatex"] 1748298355.05037 "paper.tex" "paper.pdf" "paper" 1748298357.47672 0 +["pdflatex"] 1748542391.64154 "paper.tex" "paper.pdf" "paper" 1748542393.506 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 "" @@ -254,10 +254,10 @@ "diagram/benchmarks-group/bargraph-large-ll-cache-rd.png" 1747839169.49301 52855 22a83d7bc1ca7dfa1c47f31936824ff6 "" "diagram/benchmarks-group/bargraph-large-wallclock.png" 1747839751.63939 55378 1da56901d20a39a645beca6272b36eaf "" "diagram/drawing_png.png" 1748297803.36134 22858 0c9dbeaa2b2a2c8d4588aeb499d141da "" - "paper.aux" 1748298357.087 9430 ccff33579246ecce72fa55d0a77e6d17 "pdflatex" - "paper.bbl" 1748298355.0467 8420 47d3ab73b727b7165b20d774bb45ad1a "bibtex paper" - "paper.out" 1748298357.08809 3482 dfb5cd2e0b64721769d9bbb90a3777d7 "pdflatex" - "paper.tex" 1748298348.19746 97986 3d168af49491944c70254477c1890880 "" + "paper.aux" 1748542393.18687 9430 f2d638c91d61664cb189252cfa34b0aa "pdflatex" + "paper.bbl" 1748542391.63845 8420 47d3ab73b727b7165b20d774bb45ad1a "bibtex paper" + "paper.out" 1748542393.18782 3482 dfb5cd2e0b64721769d9bbb90a3777d7 "pdflatex" + "paper.tex" 1748537227.43593 98923 e8aacff771f33802f685e767cf224fa6 "" (generated) "paper.aux" "paper.log" diff --git a/docs/EuroSys/Paper/paper.fls b/docs/EuroSys/Paper/paper.fls index ae6644e..e8e0843 100644 --- a/docs/EuroSys/Paper/paper.fls +++ b/docs/EuroSys/Paper/paper.fls @@ -559,11 +559,11 @@ INPUT ./diagram/drawing_png.png INPUT ./diagram/drawing_png.png INPUT ./diagram/drawing_png.png INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1.tfm -INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineTI-tlf-t1.vf -INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1--base.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-sc-t1.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-t1.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-t1.tfm +INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineTI-tlf-t1.vf +INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineTI-tlf-t1--base.tfm INPUT /usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd INPUT /usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd INPUT /usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd @@ -578,44 +578,44 @@ INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/stxscr.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineT-tlf-ot1.vf INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ot1--base.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.enc -INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/newtx/nxlmia.vf INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/LibertineMathRM.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txmiaSTbb.tfm INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txmiaX.tfm +INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1.tfm +INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png +INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png +INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png +INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png +INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png +INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png +INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png +INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png +INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png +INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png +INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png +INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png +INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png +INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png +INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png +INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png +INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinBiolinumTI-tlf-t1.vf INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1--base.tfm -INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png -INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png -INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png -INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png -INPUT ./diagram/benchmarks-group/bargraph-large-dtlb-walk.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png -INPUT ./diagram/benchmarks-group/bargraph-large-l1tlb-refill.png -INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-l2tlb-reads.png -INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png -INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png -INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png -INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png -INPUT ./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png -INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png -INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png -INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png -INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png -INPUT ./diagram/benchmarks-group/bargraph-large-wallclock.png INPUT ./paper.bbl INPUT ./paper.bbl INPUT paper.bbl diff --git a/docs/EuroSys/Paper/paper.log b/docs/EuroSys/Paper/paper.log index 45fd650..5f36b83 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) 26 MAY 2025 23:25 +This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 29 MAY 2025 19:13 entering extended mode \write18 enabled. %&-line parsing enabled. @@ -1509,20 +1509,6 @@ LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/it' will be (Font) scaled to size 9.0pt on input line 534. - -LaTeX Warning: Reference `fig:RangeOfMemory' on page 3 undefined on input line -571. - - -LaTeX Warning: Reference `fig:HugePages' on page 3 undefined on input line 665. - - - -Underfull \vbox (badness 10000) has occurred while \output is active [] - - - -[3.3 <./diagram/drawing_png.png>] Package hyperref Info: bookmark level for unknown algorithm defaults to 0 on in put line 689. LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/sc' will be @@ -1533,6 +1519,8 @@ LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be (Font) scaled to size 5.5pt on input line 693. +[3.3 <./diagram/drawing_png.png>] + LaTeX Font Info: Trying to load font information for T1+zi4 on input line 77 7. (/usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd @@ -1569,15 +1557,15 @@ ory al-lo-ca-tor for CHERIBSD [[]]. [4.4{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_ncsllp.e nc}{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.en -c}] +c}{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc}] + +Underfull \vbox (badness 5681) has occurred while \output is active [] + + LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be (Font) scaled to size 9.0pt on input line 963. - - -[5.5{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc -}] - File: diagram/benchmarks-group/bargraph-large-dtlb-walk.png Graphic file (type png) @@ -1585,7 +1573,7 @@ png) Package pdftex.def Info: diagram/benchmarks-group/bargraph-large-dtlb-walk.png used on input line 1050. (pdftex.def) Requested size: 241.14749pt x 137.79964pt. - File: diagram/benchmarks-group/bargraph-large-l1tlb-reads.png Graphic file (typ e png) @@ -1593,7 +1581,7 @@ e png) Package pdftex.def Info: diagram/benchmarks-group/bargraph-large-l1tlb-reads.pn g used on input line 1055. (pdftex.def) Requested size: 241.14749pt x 137.79964pt. - File: diagram/benchmarks-group/bargraph-large-l1tlb-refill.png Graphic file (ty pe png) @@ -1601,7 +1589,7 @@ pe png) Package pdftex.def Info: diagram/benchmarks-group/bargraph-large-l1tlb-refill.p ng used on input line 1063. (pdftex.def) Requested size: 241.14749pt x 137.79964pt. - File: diagram/benchmarks-group/bargraph-large-l2tlb-reads.png Graphic file (typ e png) @@ -1609,7 +1597,7 @@ e png) Package pdftex.def Info: diagram/benchmarks-group/bargraph-large-l2tlb-reads.pn g used on input line 1068. (pdftex.def) Requested size: 241.14749pt x 137.79964pt. - File: diagram/benchmarks-group/bargraph-large-ll-cache-rd.png Graphic file (typ e png) @@ -1617,7 +1605,7 @@ e png) Package pdftex.def Info: diagram/benchmarks-group/bargraph-large-ll-cache-rd.pn g used on input line 1076. (pdftex.def) Requested size: 241.14749pt x 137.79964pt. - File: diagram/benchmarks-group/bargraph-large-wallclock.png Graphic file (type png) @@ -1626,13 +1614,11 @@ Package pdftex.def Info: diagram/benchmarks-group/bargraph-large-wallclock.png used on input line 1081. (pdftex.def) Requested size: 241.14749pt x 137.79964pt. - Class acmart Warning: A possible image without description on input line 1089. -Underfull \vbox (badness 10000) has occurred while \output is active [] - +[5.5] Underfull \vbox (badness 10000) has occurred while \output is active [] @@ -1645,12 +1631,6 @@ Underfull \vbox (badness 10000) has occurred while \output is active [] -Overfull \hbox (1.64574pt too wide) in paragraph at lines 1126--1134 -[]\T1/LinuxLibertineT-TLF/m/n/9 (-20) DTLB walks: Data Trans-la-tion Looka-side - Buffer (dTLB) walks, - [] - - Underfull \vbox (badness 10000) has occurred while \output is active [] @@ -1660,15 +1640,13 @@ marks-group/bargraph-large-l1tlb-reads.png> <./diagram/benchmarks-group/bargrap h-large-l1tlb-refill.png> <./diagram/benchmarks-group/bargraph-large-l2tlb-read s.png> <./diagram/benchmarks-group/bargraph-large-ll-cache-rd.png> <./diagram/b enchmarks-group/bargraph-large-wallclock.png>] - - Underfull \vbox (badness 10000) has occurred while \output is active [] -[8.8] (./paper.bbl - +(./paper.bbl +[8.8] Underfull \hbox (badness 2443) in paragraph at lines 141--145 []\T1/LinuxLibertineT-TLF/m/n/7 (+20) CHERI-allocator/benchmarks/benchmarks/Str essTestMalloc/glibc-bench.c at @@ -1687,8 +1665,10 @@ Class acmart Warning: CCS concepts are mandatory for papers over two pages. -Package balance Warning: You have called \balance in second column -(balance) Columns might not be balanced. + + +Overfull \vbox (1.152pt too high) has occurred while \output is active [] + (/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-pdfdoc.def File: se-pdfdoc.def 2019/11/29 v1.12 stringenc: PDFDocEncoding @@ -1709,13 +1689,13 @@ Package rerunfilecheck Info: File `paper.out' has not changed. (rerunfilecheck) Checksum: DFB5CD2E0B64721769D9BBB90A3777D7;3482. ) Here is how much of TeX's memory you used: - 26504 strings out of 473190 - 451278 string characters out of 5715801 - 1049088 words of memory out of 5000000 - 48526 multiletter control sequences out of 15000+600000 - 779187 words of font info for 476 fonts, out of 8000000 for 9000 + 26499 strings out of 473190 + 451169 string characters out of 5715801 + 1043466 words of memory out of 5000000 + 48524 multiletter control sequences out of 15000+600000 + 778914 words of font info for 474 fonts, out of 8000000 for 9000 1302 hyphenation exceptions out of 8191 - 94i,17n,131p,1002b,780s stack positions out of 10000i,1000n,20000p,200000b,200000s + 94i,17n,131p,1002b,797s stack positions out of 10000i,1000n,20000p,200000b,200000s -Output written on paper.pdf (9 pages, 824270 bytes). +Output written on paper.pdf (9 pages, 820640 bytes). PDF statistics: 339 PDF objects out of 1000 (max. 8388607) 283 compressed objects within 3 object streams diff --git a/docs/EuroSys/Paper/paper.pdf b/docs/EuroSys/Paper/paper.pdf index 3f929a41ba81b2ba04217c91a4f5450fbed37298..8edb610d37d58864421ef3da9a70f94812d9abb3 100644 GIT binary patch delta 86423 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 delta 90042 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

nv^{CK*I@-Jl==h5$1 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 diff --git a/docs/EuroSys/Paper/paper.tex b/docs/EuroSys/Paper/paper.tex index 80a4066..7a6eea3 100644 --- a/docs/EuroSys/Paper/paper.tex +++ b/docs/EuroSys/Paper/paper.tex @@ -568,12 +568,12 @@ FAT memory ranges are established using bounds encoded within the pointer, adhering to CHERI CC~\cite{woodruff_cheri_2019}. % as referred in section ~\ref{sec:128bitCompressedBounds}. -Figure \ref{fig:RangeOfMemory} illustrates a straightforward use-case in which the dark pink line represents a single -large contiguous memory area or huge page. Within this huge page the orange and blue lines indicate -two separate memory allocations equivalent to invoking \textit{malloc} twice to allocate memory in distinct regions. -This scenario simulates a block-based memory allocator operating within the confines of a huge page. -The allocations use the bounds encoded in FAT which ensures tracking of the allocated memory regions. -By using the CHERI bounds, this method maintains the contiguity of the allocated blocks within the huge page. +% Figure \ref{fig:RangeOfMemory} illustrates a straightforward use-case in which the dark pink line represents a single +% large contiguous memory area or huge page. Within this huge page the orange and blue lines indicate +% two separate memory allocations equivalent to invoking \textit{malloc} twice to allocate memory in distinct regions. +% This scenario simulates a block-based memory allocator operating within the confines of a huge page. +% The allocations use the bounds encoded in FAT which ensures tracking of the allocated memory regions. +% By using the CHERI bounds, this method maintains the contiguity of the allocated blocks within the huge page. \section{128 bit compressed bounds} \label{sec:128bitCompressedBounds} @@ -662,12 +662,12 @@ memory patterns within physically contiguous memory. %Overall, it simplifies memory operations while improving performance %and reduces TLB overhead by reducing TLB walks. -Figure \ref{fig:HugePages} illustrates a use-case of huge pages where the green -line represents sample access to read within a contiguous -space of physical memory. The dotted lines represent the -bounds for that particular pointer access. Using bounds -stored on the pointer a block-based pattern can be replicated -on physically contiguous memory. +% Figure \ref{fig:HugePages} illustrates a use-case of huge pages where the green +% line represents sample access to read within a contiguous +% space of physical memory. The dotted lines represent the +% bounds for that particular pointer access. Using bounds +% stored on the pointer a block-based pattern can be replicated +% on physically contiguous memory. \section{Memory allocator design} \label{sec:MemoryAllocator} @@ -1104,28 +1104,37 @@ patterns benefit from its design. The results align with expectations, showcasin of its capability to handle memory more efficiently by leveraging huge pages. \begin{itemize} - \item L1 DTLB reads: L1 Data TLB reads are critical for achieving fast memory access, and a reduction - in events that could signify misses or lead to further lookups is generally beneficial. FAT allocator consistently performed - at the baseline level (100\%) across all benchmarks including Kmeans, Memaccess, Glibc, Richards, and Barnes. - In contrast, FAT allocator embedded inside Jemalloc exhibited varied performance. It achieved a notable 14\% - reduction in L1D TLB reads for Kmeans and a minor 3\% reduction for Barnes. More significantly, it - led to a substantial 68\% reduction for Memaccess, a benchmark characterized by linked list traversals - that can challenge memory access efficiency, and a 59\% reduction for Glibc, which involves numerous memory - allocation and deallocation operations. For the Richards benchmark, however, no significant change was observed with - 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 DTLB reads: L1 Data TLB reads are critical for achieving fast memory access, and a reduction + % in events that could signify misses or lead to further lookups is generally beneficial. FAT allocator consistently performed + % at the baseline level (100\%) across all benchmarks including Kmeans, Memaccess, Glibc, Richards, and Barnes. + % In contrast, FAT allocator embedded inside Jemalloc exhibited varied performance. It achieved a notable 14\% + % reduction in L1D TLB reads for Kmeans and a minor 3\% reduction for Barnes. More significantly, it + % led to a substantial 68\% reduction for Memaccess, a benchmark characterized by linked list traversals + % that can challenge memory access efficiency, and a 59\% reduction for Glibc, which involves numerous memory + % allocation and deallocation operations. For the Richards benchmark, however, no significant change was observed with + % 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 DTLB reads: L1 DTLB 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 23\% fewer L1 DTLB reads than the baseline allocator. + However, when the FAT allocator was embedded within Jemalloc, the L1 DTLB reads were the same as the baseline. + For the memaccess benchmark, the embedded FAT allocator resulted in 72\% fewer L1 DTLB reads compared to the baseline + allocator. A similar pattern was observed with Glibc, showing 62\% fewer L1 DTLB reads. In the Richards benchmark, + there was no discernible difference for either allocator. For the Barnes benchmark, the FAT allocator exhibited 5\% + fewer L1 DTLB reads, and the result was the same for the FAT allocator embedded within Jemalloc. \item L2 DTLB reads: L2 Data TLB reads (or lookups) serve as a secondary cache for address translations, and, similar to L1 TLB, lower values are - indicative of better performance. FAT allocator consistently performed at the baseline (100\%) for this metric across all benchmarks. + indicative of better performance. FAT allocator consistently performed at the baseline (100\%) for this metric across all benchmarks except Barnes. FAT allocator embedded inside Jemalloc also showed no significant change for Kmeans, Memaccess, and Richards. However, for the Glibc benchmark, it achieved a significant reduction of 60\% in L2D 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 3\% was also observed for the Barnes benchmark with FAT allocator embedded inside Jemalloc. - \item DTLB walks: Data Translation Lookaside Buffer (dTLB) walks, which occur when a virtual-to-physical + \item DTLB walks: 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 + cost. thus, fewer walks are preferable. In the observed tests neither FAT allocator nor FAT allocator embedded inside Jemalloc demonstrated any significant deviation from the baseline performance (100\%) for this metric. This consistent behavior was noted across all benchmarks evaluated: Kmeans, Memaccess, Glibc, Richards, and Barnes. This outcome suggests that the memory allocation strategies employed by these allocators do not substantially alter the frequency @@ -1137,30 +1146,31 @@ of its capability to handle memory more efficiently by leveraging huge pages. remained at the baseline (100\%) for both FAT allocator and FAT allocator embedded inside Jemalloc. This consistent performance at baseline was observed across all tested benchmarks: Kmeans, Memaccess, Glibc, Richards, and Barnes. This outcome presents a point of potential inconsistency; if L1D TLB reads (interpreted as events related to misses or lookups that could lead to misses) are reduced, a corresponding decrease in actual - refills would typically be expected. The absence of change in refills might suggest that the "reads" metric captures a wider range of TLB interaction - 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. + refills would typically be expected. + % The absence of change in refills might suggest that the "reads" metric captures a wider range of TLB interaction + % 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: Last-Level Cache (LLC) read misses are crucial performance indicators, as they often result in slow data fetches - from main memory; therefore, fewer misses are highly desirable. The performance on this metric varied significantly between the - allocators and across benchmarks. FAT allocator was near baseline for Kmeans but caused an 18\% increase in misses for Memaccess (designed to stress cache ), - a 30\% increase for Richards (many dynamic allocations and pointer manipulations ), and an 18\% increase for Barnes (uses pointer-based octrees ). However, - FAT allocator achieved a significant 60\% reduction in misses for the Glibc benchmark, which involves active memory use post-allocation. - FAT allocator embedded inside Jemalloc showed a 75\% reduction in misses for Memaccess, a substantial improvement. Conversely, it led to an 18\% increase in - misses for Kmeans, a massive 375\% increase for Glibc, and a 65\% increase for Barnes. For the Richards benchmark, its performance was at the baseline. - This high variability indicates that memory placement strategies of the allocators interact diversely with the specific access patterns of each benchmark, - such as the difference between the large data arrays in K-Means versus the linked structures common in Memaccess or Richards. + % \item Last-level cache: Last-Level Cache read misses are crucial performance indicators, as they often result in slow data fetches + % from main memory therefore fewer misses are highly desirable. The performance on this metric varied significantly between the + % allocators and across benchmarks. FAT allocator was near baseline for Kmeans but caused an 18\% increase in misses for Memaccess (designed to stress cache ), + % a 30\% increase for Richards (many dynamic allocations and pointer manipulations ), and an 18\% increase for Barnes (uses pointer-based octrees ). However, + % FAT allocator achieved a significant 60\% reduction in misses for the Glibc benchmark, which involves active memory use post-allocation. + % FAT allocator embedded inside Jemalloc showed a 75\% reduction in misses for Memaccess, a substantial improvement. Conversely, it led to an 18\% increase in + % misses for Kmeans, a massive 375\% increase for Glibc, and a 65\% increase for Barnes. For the Richards benchmark, its performance was at the baseline. + % This high variability indicates that memory placement strategies of the allocators interact diversely with the specific access patterns of each benchmark, + % such as the difference between the large data arrays in K-Means versus the linked structures common in Memaccess or Richards. - \item Wall clock: Wallclock time provides the ultimate measure of overall execution performance, where lower values (deviations below 100\%) indicate improvement. - FAT allocator resulted in a 1\% speedup for Kmeans and a more significant 5\% speedup for Barnes. This improvement for Barnes was observed despite an increase - in its LL cache misses, suggesting other factors such as reduced allocator overhead or better CPU pipeline utilization might have contributed. - For Memaccess and Glibc, FAT allocator performed at the baseline. Notably, the substantial LL cache miss reduction seen with FAT allocator on Glibc did not - translate into an overall speedup. It was about 1\% slower on Richards. - FAT allocator embedded inside Jemalloc was 4\% faster for Memaccess, aligning well with its significant LL cache miss reduction and L1D TLB improvements - for that benchmark. It performed at baseline for Kmeans and was negligibly faster (0.5\%) for Richards. However, it was 15\% slower for Glibc, a slowdown - consistent with the massive increase in LL cache misses observed. For Barnes, it resulted in an 8\% slowdown, which also correlates with its increased - LL cache misses for that benchmark. These wallclock results underscore that improvements in a single specific memory subsystem metric do not always guarantee - an overall application speedup, as the interplay of various factors determines the final performance. + % \item Wall clock: Wallclock time provides the ultimate measure of overall execution performance, where lower values (deviations below 100\%) indicate improvement. + % FAT allocator resulted in a 1\% speedup for Kmeans and a more significant 5\% speedup for Barnes. This improvement for Barnes was observed despite an increase + % in its LL cache misses, suggesting other factors such as reduced allocator overhead or better CPU pipeline utilization might have contributed. + % For Memaccess and Glibc, FAT allocator performed at the baseline. Notably, the substantial LL cache miss reduction seen with FAT allocator on Glibc did not + % translate into an overall speedup. It was about 1\% slower on Richards. + % FAT allocator embedded inside Jemalloc was 4\% faster for Memaccess, aligning well with its significant LL cache miss reduction and L1D TLB improvements + % for that benchmark. It performed at baseline for Kmeans and was negligibly faster (0.5\%) for Richards. However, it was 15\% slower for Glibc, a slowdown + % consistent with the massive increase in LL cache misses observed. For Barnes, it resulted in an 8\% slowdown, which also correlates with its increased + % LL cache misses for that benchmark. These wallclock results underscore that improvements in a single specific memory subsystem metric do not always guarantee + % an overall application speedup, as the interplay of various factors determines the final performance. \end{itemize} A particularly striking observation is the significant reduction in data TLB walks,