test whole program

This commit is contained in:
2025-08-28 11:06:46 +01:00
parent d2657193ff
commit 8b0852178b
10 changed files with 131 additions and 67 deletions

View File

@@ -7,13 +7,13 @@
#include "malloc.h"
// #define malloc MALLOCCHERI
// #define free FREECHERI
#define malloc MALLOCCHERI
#define free FREECHERI
int main(int argc, char* argv[] )
{
// Init alloc
// INITREGULARALLOC(0);
INITREGULARALLOC(0);
// =====================================================================
// Initialization & Command Line Read-In
// =====================================================================

View File

@@ -1,3 +1,5 @@
LD_PRELOAD=/home/akilan/Alloc-Test/Reverse/CHERI-Allocator/bin/libjemalloc.so pmcstat -d -w 1 -p l1d_tlb_rd -p l2d_tlb_rd -p l1d_tlb_refill -p cpu_cycles -p dtlb_walk -p stall_backend -p ll_cache_miss_rd -o XSCHERI-alloc.txt ./XSBench -s small > XSCHERI-alloc-cheri-out.txt
LD_PRELOAD=/home/akilan/Alloc-Test/Reverse/CHERI-Allocator/bin/regularjemalloc.so pmcstat -d -w 1 -p l1d_tlb_rd -p l2d_tlb_rd -p l1d_tlb_refill -p cpu_cycles -p dtlb_walk -p stall_backend -p ll_cache_miss_rd -o XSCHERI-regular.txt ./XSBench -s small > XSCHERI-alloc-out.txt
# LD_PRELOAD=/home/akilan/Alloc-Test/Reverse/CHERI-Allocator/bin/hugepage_alloc.so pmcstat -d -w 1 -p l1d_tlb_rd -p l2d_tlb_rd -p l1d_tlb_refill -p cpu_cycles -p dtlb_walk -p stall_backend -p ll_cache_miss_rd -o XSCHERI-hugepage.txt ./XSBench -s small > XSCHERI-hugepage-out.txt
# LD_PRELOAD=/home/akilan/Alloc-Test/Reverse/CHERI-Allocator/bin/libjemalloc.so pmcstat -d -w 1 -p l1d_tlb_rd -p l2d_tlb_rd -p l1d_tlb_refill -p cpu_cycles -p dtlb_walk -p stall_backend -p ll_cache_miss_rd -o XSCHERI-alloc.txt ./XSBench -s small > XSCHERI-alloc-cheri-out.txt
# LD_PRELOAD=/home/akilan/Alloc-Test/Reverse/CHERI-Allocator/bin/regularjemalloc.so pmcstat -d -w 1 -p l1d_tlb_rd -p l2d_tlb_rd -p l1d_tlb_refill -p cpu_cycles -p dtlb_walk -p stall_backend -p ll_cache_miss_rd -o XSCHERI-regular.txt ./XSBench -s small > XSCHERI-alloc-out.txt
# LD_PRELOAD=/home/akilan/Alloc-Test/Reverse/CHERI-Allocator/bin/hugepage_alloc.so pmcstat -d -w 1 -p l1d_tlb_rd -p l2d_tlb_rd -p l1d_tlb_refill -p cpu_cycles -p dtlb_walk -p stall_backend -p ll_cache_miss_rd -o XSCHERI-hugepage.txt ./XSBench -s small > XSCHERI-hugepage-out.txt
pmcstat -d -w 1 -p l1d_tlb_rd -p l2d_tlb_rd -p l1d_tlb_refill -p cpu_cycles -p dtlb_walk -p stall_backend -p ll_cache_miss_rd -o XSCHERI-hugepage.txt ./XSBench -s small > XSCHERI-hugepage-out.txt

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

@@ -113,6 +113,10 @@
\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{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}}}
@@ -132,7 +136,5 @@
\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 \@abspage@last{9}
\newlabel{TotPages}{{10}{10}{}{page.10}{}}
\gdef \@abspage@last{10}

View File

@@ -1,13 +1,13 @@
# Fdb version 4
["bibtex paper"] 1753645029.46016 "paper.aux" "paper.bbl" "paper" 1753646783.20149 0
"./paperReferences.bib" 1750702099.74581 54714 19039cdfd8414d201259ef3610c2b156 ""
["bibtex paper"] 1756125835.65327 "paper.aux" "paper.bbl" "paper" 1756125837.91186 0
"./paperReferences.bib" 1754599671.87956 54714 19039cdfd8414d201259ef3610c2b156 ""
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/natbib/unsrtnat.bst" 1233624470 24550 a41a6405f4de768c43e871d9fbce2bc8 ""
"paper.aux" 1753646782.87726 10111 c1687afac52aee7e78cc42d3a1da73cf "pdflatex"
"paper.aux" 1756125837.48584 10393 e972020ff1bf8c79e9b591332321dba9 "pdflatex"
(generated)
"paper.bbl"
"paper.blg"
(rewritten before read)
["pdflatex"] 1753646781.23861 "paper.tex" "paper.pdf" "paper" 1753646783.20162 0
["pdflatex"] 1756125835.74977 "paper.tex" "paper.pdf" "paper" 1756125837.912 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 ""
@@ -221,17 +221,18 @@
"/usr/local/texlive/2025/texmf-var/fonts/map/pdftex/updmap/pdftex.map" 1743605858 5467155 19efa205003f9ecad95fbbaa6ff24da1 ""
"/usr/local/texlive/2025/texmf-var/web2c/pdftex/pdflatex.fmt" 1743605772 3345731 9f70a6727154d056b4116903856deae2 ""
"/usr/local/texlive/2025/texmf.cnf" 1741450484 577 418a7058ec8e006d8704f60ecd22c938 ""
"diagram/benchmarks-group/large/bargraph-large-dtlb_walk.png" 1753643390.42674 87466 43cc9d9e52ad24eda0534e9c374cb177 ""
"diagram/benchmarks-group/large/bargraph-large-l1_tlb_rd.png" 1753643390.42819 85873 12aaa5f38f23c0de67f2b955760bd468 ""
"diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png" 1753643390.43088 87037 94cbd9625ae4cfd18cd2dc86434f81a9 ""
"diagram/benchmarks-group/large/bargraph-large-l2_tlb_rd.png" 1753643390.43177 86347 c2c0623228d38c390fd0bca4fc3a2061 ""
"diagram/benchmarks-group/large/bargraph-large-llcache.png" 1753643390.4343 81964 2b21d389f7a0bb5b2a0174d7c020779a ""
"diagram/benchmarks-group/large/bargraph-large-wallclock.png" 1753643390.43523 85258 015855fa73ccdb4ae859b79da8032169 ""
"diagram/drawing.pdf" 1748909319.05561 28646 0eb4d6c5fd7bfd13117f881769bcc40b ""
"paper.aux" 1753646782.87726 10111 c1687afac52aee7e78cc42d3a1da73cf "pdflatex"
"paper.bbl" 1753645029.54671 9667 c839f5ff789de0c36cd440f7e70c5f20 "bibtex paper"
"paper.out" 1753646782.87805 4008 21fd7693a5a3059545203aa7db2ea238 "pdflatex"
"paper.tex" 1753646764.56991 112718 a61104490f86f49437149752b3211c7a ""
"diagram/benchmarks-group/Memaccess_size.png" 1756112512.12369 84925 c98bdfb9f27657e08e7126191f4cf920 ""
"diagram/benchmarks-group/large/bargraph-large-dtlb_walk.png" 1754599671.86354 87466 43cc9d9e52ad24eda0534e9c374cb177 ""
"diagram/benchmarks-group/large/bargraph-large-l1_tlb_rd.png" 1754599671.86437 85873 12aaa5f38f23c0de67f2b955760bd468 ""
"diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png" 1754599671.8654 87037 94cbd9625ae4cfd18cd2dc86434f81a9 ""
"diagram/benchmarks-group/large/bargraph-large-l2_tlb_rd.png" 1754599671.8659 86347 c2c0623228d38c390fd0bca4fc3a2061 ""
"diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png" 1755550185.23242 85171 01ddc0c85f17b19bc86b12327051d3d5 ""
"diagram/benchmarks-group/large/bargraph-large-wallclock.png" 1754599671.86798 85258 015855fa73ccdb4ae859b79da8032169 ""
"diagram/drawing.pdf" 1754599671.86851 28646 0eb4d6c5fd7bfd13117f881769bcc40b ""
"paper.aux" 1756125837.48584 10393 e972020ff1bf8c79e9b591332321dba9 "pdflatex"
"paper.bbl" 1756125835.74686 9667 c839f5ff789de0c36cd440f7e70c5f20 "bibtex paper"
"paper.out" 1756125837.48686 4008 5d099748df22819073f9a7767f18c6a3 "pdflatex"
"paper.tex" 1756125826.07124 114344 7a47427783f88f50802b74b52d1efe2f ""
(generated)
"paper.aux"
"paper.log"

View File

@@ -555,16 +555,21 @@ INPUT ./diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-llcache.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-llcache.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-llcache.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-llcache.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-llcache.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-wallclock.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-wallclock.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-wallclock.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-wallclock.png
INPUT ./diagram/benchmarks-group/large/bargraph-large-wallclock.png
INPUT ./diagram/benchmarks-group/Memaccess_size.png
INPUT ./diagram/benchmarks-group/Memaccess_size.png
INPUT ./diagram/benchmarks-group/Memaccess_size.png
INPUT ./diagram/benchmarks-group/Memaccess_size.png
INPUT ./diagram/benchmarks-group/Memaccess_size.png
INPUT ./paper.bbl
INPUT ./paper.bbl
INPUT paper.bbl

View File

@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 27 JUL 2025 21:06
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 25 AUG 2025 13:43
entering extended mode
\write18 enabled.
%&-line parsing enabled.
@@ -1421,6 +1421,24 @@ 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
[]\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
[]\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
\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 []
@@ -1434,7 +1452,7 @@ LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be
[6.6]
<diagram/benchmarks-group/large/bargraph-large-l1_tlb_rd.png, id=258, 1011.78pt
<diagram/benchmarks-group/large/bargraph-large-l1_tlb_rd.png, id=259, 1011.78pt
x 578.16pt>
File: diagram/benchmarks-group/large/bargraph-large-l1_tlb_rd.png Graphic file
(type png)
@@ -1442,7 +1460,7 @@ File: diagram/benchmarks-group/large/bargraph-large-l1_tlb_rd.png Graphic file
Package pdftex.def Info: diagram/benchmarks-group/large/bargraph-large-l1_tlb_r
d.png used on input line 1167.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/benchmarks-group/large/bargraph-large-l2_tlb_rd.png, id=260, 1011.78pt
<diagram/benchmarks-group/large/bargraph-large-l2_tlb_rd.png, id=261, 1011.78pt
x 578.16pt>
File: diagram/benchmarks-group/large/bargraph-large-l2_tlb_rd.png Graphic file
(type png)
@@ -1450,7 +1468,7 @@ File: diagram/benchmarks-group/large/bargraph-large-l2_tlb_rd.png Graphic file
Package pdftex.def Info: diagram/benchmarks-group/large/bargraph-large-l2_tlb_r
d.png used on input line 1172.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/benchmarks-group/large/bargraph-large-dtlb_walk.png, id=261, 1011.78pt
<diagram/benchmarks-group/large/bargraph-large-dtlb_walk.png, id=262, 1011.78pt
x 578.16pt>
File: diagram/benchmarks-group/large/bargraph-large-dtlb_walk.png Graphic file
(type png)
@@ -1458,7 +1476,7 @@ File: diagram/benchmarks-group/large/bargraph-large-dtlb_walk.png Graphic file
Package pdftex.def Info: diagram/benchmarks-group/large/bargraph-large-dtlb_wal
k.png used on input line 1180.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png, id=262, 1011.7
<diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png, id=263, 1011.7
8pt x 578.16pt>
File: diagram/benchmarks-group/large/bargraph-large-l1tlb_refill.png Graphic fi
le (type png)
@@ -1466,15 +1484,15 @@ le (type png)
Package pdftex.def Info: diagram/benchmarks-group/large/bargraph-large-l1tlb_re
fill.png used on input line 1185.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/benchmarks-group/large/bargraph-large-llcache.png, id=263, 1011.78pt x
578.16pt>
File: diagram/benchmarks-group/large/bargraph-large-llcache.png Graphic file (t
ype png)
<use diagram/benchmarks-group/large/bargraph-large-llcache.png>
Package pdftex.def Info: diagram/benchmarks-group/large/bargraph-large-llcache.
png used on input line 1193.
<diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png, id=264
, 1011.78pt x 578.16pt>
File: diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png Gr
aphic file (type png)
<use diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png>
Package pdftex.def Info: diagram/benchmarks-group/large/bargraph-large-last-cac
he-miss-read.png used on input line 1193.
(pdftex.def) Requested size: 241.14749pt x 137.79964pt.
<diagram/benchmarks-group/large/bargraph-large-wallclock.png, id=264, 1011.78pt
<diagram/benchmarks-group/large/bargraph-large-wallclock.png, id=265, 1011.78pt
x 578.16pt>
File: diagram/benchmarks-group/large/bargraph-large-wallclock.png Graphic file
(type png)
@@ -1498,6 +1516,15 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
<diagram/benchmarks-group/Memaccess_size.png, id=283, 693.792pt x 716.1957pt>
File: diagram/benchmarks-group/Memaccess_size.png Graphic file (type png)
<use diagram/benchmarks-group/Memaccess_size.png>
Package pdftex.def Info: diagram/benchmarks-group/Memaccess_size.png used on i
nput line 1339.
(pdftex.def) Requested size: 241.14749pt x 248.93466pt.
Class acmart Warning: A possible image without description on input line 1342.
Underfull \vbox (badness 10000) has occurred while \output is active []
@@ -1506,19 +1533,22 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
[8.8 <./diagram/benchmarks-group/large/bargraph-large-l1_tlb_rd.png> <./diagram
/benchmarks-group/large/bargraph-large-l2_tlb_rd.png> <./diagram/benchmarks-gro
up/large/bargraph-large-dtlb_walk.png> <./diagram/benchmarks-group/large/bargra
ph-large-l1tlb_refill.png> <./diagram/benchmarks-group/large/bargraph-large-llc
ache.png> <./diagram/benchmarks-group/large/bargraph-large-wallclock.png>]
Overfull \hbox (19.8336pt too wide) in paragraph at lines 1422--1452
ph-large-l1tlb_refill.png> <./diagram/benchmarks-group/large/bargraph-large-las
t-cache-miss-read.png> <./diagram/benchmarks-group/large/bargraph-large-wallclo
ck.png>]
Overfull \hbox (19.8336pt too wide) in paragraph at lines 1439--1469
\T1/LinuxLibertineT-TLF/m/n/9 (-20) Although per-for-mance gains are less sig-n
if-i-cant for larger or computation-
[]
(./paper.bbl
Underfull \vbox (badness 2698) has occurred while \output is active []
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
[]\T1/LinuxLibertineT-TLF/m/n/7 (+20) CHERI-allocator/benchmarks/benchmarks/Str
essTestMalloc/glibc-bench.c at
@@ -1537,31 +1567,33 @@ 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
)
(/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-utf8.def
File: se-utf8.def 2019/11/29 v1.12 stringenc: UTF-8
) [9.9]
) [10.10]
(./paper.aux)
***********
LaTeX2e <2024-11-01> patch level 2
L3 programming layer <2025-01-18>
***********
Package rerunfilecheck Info: File `paper.out' has not changed.
(rerunfilecheck) Checksum: 21FD7693A5A3059545203AA7DB2EA238;4008.
(rerunfilecheck) Checksum: 5D099748DF22819073F9A7767F18C6A3;4008.
)
Here is how much of TeX's memory you used:
24403 strings out of 473190
402665 string characters out of 5715801
983429 words of memory out of 5000000
46493 multiletter control sequences out of 15000+600000
781830 words of font info for 493 fonts, out of 8000000 for 9000
24410 strings out of 473190
403065 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
1302 hyphenation exceptions out of 8191
90i,17n,131p,1002b,778s stack positions out of 10000i,1000n,20000p,200000b,200000s
90i,17n,131p,1002b,791s stack positions out of 10000i,1000n,20000p,200000b,200000s
</usr/local/texlive/2025/texmf-dist/fonts/type1/public/inconsolata/Inconsolat
a-zi4r.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/Liberti
neMathMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/L
@@ -1574,10 +1606,10 @@ lic/libertine/LinLibertineTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type
/type1/public/newtx/NewTXMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1
/public/newtx/txmiaX.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public
/newtx/txsys.pfb>
Output written on paper.pdf (9 pages, 962446 bytes).
Output written on paper.pdf (10 pages, 1032868 bytes).
PDF statistics:
395 PDF objects out of 1000 (max. 8388607)
330 compressed objects within 4 object streams
67 named destinations out of 1000 (max. 500000)
123628 words of extra memory for PDF output out of 128383 (max. 10000000)
404 PDF objects out of 1000 (max. 8388607)
336 compressed objects within 4 object streams
69 named destinations out of 1000 (max. 500000)
123633 words of extra memory for PDF output out of 128383 (max. 10000000)

Binary file not shown.

View File

@@ -1190,7 +1190,7 @@ This extension is described by Holt and Singh ~\cite{holt1995}.
\begin{multicols}{2}
\begin{subfigure}{\linewidth}
\includegraphics[width=\linewidth]{diagram/benchmarks-group/large/bargraph-large-llcache.png}
\includegraphics[width=\linewidth]{diagram/benchmarks-group/large/bargraph-large-last-cache-miss-read.png}
\caption{LL Cache Reads}
\label{fig:ll-cache-rd}
\end{subfigure}\par
@@ -1254,7 +1254,12 @@ of its capability to handle memory more efficiently by leveraging huge pages.
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 outcome suggests that most translations were done at the L1 DTLB level.
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
maintain consistently low page walk overheads across a range of workloads.
% This outcome suggests that most translations were done at the L1 DTLB level.
% the memory allocation strategies employed by these allocators do substantially alter the frequency
% of DTLB misses that necessitate page table walks within these specific workloads. Even for the Memaccess benchmark,
@@ -1302,10 +1307,21 @@ of its capability to handle memory more efficiently by leveraging huge pages.
\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,
and kmeans with a modest 1.8\% improvement. Conversely, Richards exhibited a slight increase of 1\% in runtime.
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
in wallclock time, while barnes showed a 7\% rise. Both Richards and kmeans maintained the same runtime as the baseline
allocator, whereas memaccess recorded a 4\% reduction.
allocator.
In regards to memaccess (Figure~\ref{fig:Memaccess}) the comparative performance of two allocators FAT allocator embedded inside jemalloc
(depicted by the solid blue line with circular markers) and FAT allocator (represented by the dashed orange line with square markers)
across progressively increasing memory access iterations ranging from 500 to 64,000. The results indicate that the standalone FAT allocator
exhibits superior performance at smaller memory sizes, maintaining an initial lead of approximately 0.78\% at size 500. However,
its trajectory is characterised by minor fluctuations as memory size increases. Conversely, the jemalloc embedded allocator demonstrates
a more consistent and steadily rising performance pattern. The annotated red values denote the performance differential between the two
allocators. Although the FAT allocator retains an advantage in the lower ranges, this advantage progressively diminishes with increasing memory reads.
Notably, at the largest tested size of 64,000, the difference marginally reverses (0.07), with the jemalloc-embedded allocator slightly outperforming.
Overall, the findings suggest that while the FAT allocator is more effective at smaller scales, the jemalloc embedded FAT allocator exhibits superior scalability
and reliability across larger memory reads.
% Wallclock time provides the ultimate measure of overall execution performance, In terms of the FAT allocator GLibc
% had a biggest difference of 51\% lesser wall clock run time than the baseline allocator, following this memaccess with a 34\% reduction
@@ -1324,6 +1340,12 @@ of its capability to handle memory more efficiently by leveraging huge pages.
% an overall application speedup, as the interplay of various factors determines the final performance.
\end{itemize}
\begin{figure}[htbp]
\includegraphics[width=\linewidth]{diagram/benchmarks-group/Memaccess_size.png}
\caption{Memaccess percentage increase in wallclock run times}
\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