added fixes
This commit is contained in:
@@ -37,7 +37,6 @@
|
|||||||
\newlabel{fig:RangeOfMemory}{{2}{3}{Range of memory}{figure.caption.4}{}}
|
\newlabel{fig:RangeOfMemory}{{2}{3}{Range of memory}{figure.caption.4}{}}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}128 bit compressed bounds}{3}{subsection.3.2}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}128 bit compressed bounds}{3}{subsection.3.2}\protected@file@percent }
|
||||||
\newlabel{sec:128bitCompressedBounds}{{3.2}{3}{128 bit compressed bounds}{subsection.3.2}{}}
|
\newlabel{sec:128bitCompressedBounds}{{3.2}{3}{128 bit compressed bounds}{subsection.3.2}{}}
|
||||||
\citation{sec:FatPointerTranslations}
|
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Fat-pointer Address Translations using huge pages}}{4}{figure.caption.5}\protected@file@percent }
|
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Fat-pointer Address Translations using huge pages}}{4}{figure.caption.5}\protected@file@percent }
|
||||||
\newlabel{fig:HugePages}{{3}{4}{Fat-pointer Address Translations using huge pages}{figure.caption.5}{}}
|
\newlabel{fig:HugePages}{{3}{4}{Fat-pointer Address Translations using huge pages}{figure.caption.5}{}}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Instrumenting Block-Based Allocators with Physically Contiguous Memory}{4}{subsection.3.3}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Instrumenting Block-Based Allocators with Physically Contiguous Memory}{4}{subsection.3.3}\protected@file@percent }
|
||||||
@@ -49,9 +48,6 @@
|
|||||||
\newlabel{alg:free}{{2}{4}{Free implementation}{algorithm.2}{}}
|
\newlabel{alg:free}{{2}{4}{Free implementation}{algorithm.2}{}}
|
||||||
\citation{jemalloc}
|
\citation{jemalloc}
|
||||||
\citation{cheribsd}
|
\citation{cheribsd}
|
||||||
\citation{sec:Micro}
|
|
||||||
\citation{sec:Macro}
|
|
||||||
\citation{sec:Results}
|
|
||||||
\citation{Morello}
|
\citation{Morello}
|
||||||
\citation{BenchmarkABI}
|
\citation{BenchmarkABI}
|
||||||
\citation{PerformanceCounter}
|
\citation{PerformanceCounter}
|
||||||
@@ -67,6 +63,8 @@
|
|||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Micro benchmark}{5}{subsubsection.5.2.1}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Micro benchmark}{5}{subsubsection.5.2.1}\protected@file@percent }
|
||||||
\newlabel{sec:Macro}{{5.2.2}{5}{Macro benchmark}{subsubsection.5.2.2}{}}
|
\newlabel{sec:Macro}{{5.2.2}{5}{Macro benchmark}{subsubsection.5.2.2}{}}
|
||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}Macro benchmark}{5}{subsubsection.5.2.2}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}Macro benchmark}{5}{subsubsection.5.2.2}\protected@file@percent }
|
||||||
|
\citation{singh1993}
|
||||||
|
\citation{holt1995}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Results}{6}{subsection.5.3}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Results}{6}{subsection.5.3}\protected@file@percent }
|
||||||
\newlabel{sec:Results}{{5.3}{6}{Results}{subsection.5.3}{}}
|
\newlabel{sec:Results}{{5.3}{6}{Results}{subsection.5.3}{}}
|
||||||
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces ARM performance counters}}{6}{table.caption.6}\protected@file@percent }
|
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces ARM performance counters}}{6}{table.caption.6}\protected@file@percent }
|
||||||
@@ -86,19 +84,21 @@
|
|||||||
\bibcite{DirectSegment}{{7}{}{{}}{{}}}
|
\bibcite{DirectSegment}{{7}{}{{}}{{}}}
|
||||||
\bibcite{karakostas_redundant_2015}{{8}{}{{}}{{}}}
|
\bibcite{karakostas_redundant_2015}{{8}{}{{}}{{}}}
|
||||||
\bibcite{chen_flexpointer_2023}{{9}{}{{}}{{}}}
|
\bibcite{chen_flexpointer_2023}{{9}{}{{}}{{}}}
|
||||||
\bibcite{jemalloc}{{10}{}{{}}{{}}}
|
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Analysis}{8}{subsection.5.4}\protected@file@percent }
|
||||||
\bibcite{cheribsd}{{11}{}{{}}{{}}}
|
\newlabel{sec:Analysis}{{5.4}{8}{Analysis}{subsection.5.4}{}}
|
||||||
\bibcite{Morello}{{12}{}{{}}{{}}}
|
|
||||||
\bibcite{BenchmarkABI}{{13}{}{{}}{{}}}
|
|
||||||
\bibcite{PerformanceCounter}{{14}{}{{}}{{}}}
|
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Usability}{8}{subsection.5.4}\protected@file@percent }
|
|
||||||
\newlabel{sec:Usability}{{5.4}{8}{Usability}{subsection.5.4}{}}
|
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {6}Future work}{8}{section.6}\protected@file@percent }
|
\@writefile{toc}{\contentsline {section}{\numberline {6}Future work}{8}{section.6}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Storing Offsets Directly on Pointers}{8}{subsection.6.1}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Storing Offsets Directly on Pointers}{8}{subsection.6.1}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Hardware Modifications:}{8}{subsection.6.2}\protected@file@percent }
|
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Hardware Modifications:}{8}{subsection.6.2}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{8}{section.7}\protected@file@percent }
|
\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{8}{section.7}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {section}{References}{8}{section*.10}\protected@file@percent }
|
\@writefile{toc}{\contentsline {section}{References}{8}{section*.10}\protected@file@percent }
|
||||||
|
\bibcite{jemalloc}{{10}{}{{}}{{}}}
|
||||||
|
\bibcite{cheribsd}{{11}{}{{}}{{}}}
|
||||||
|
\bibcite{Morello}{{12}{}{{}}{{}}}
|
||||||
|
\bibcite{BenchmarkABI}{{13}{}{{}}{{}}}
|
||||||
|
\bibcite{PerformanceCounter}{{14}{}{{}}{{}}}
|
||||||
\bibcite{Benchmark}{{15}{}{{}}{{}}}
|
\bibcite{Benchmark}{{15}{}{{}}{{}}}
|
||||||
|
\bibcite{singh1993}{{16}{}{{}}{{}}}
|
||||||
|
\bibcite{holt1995}{{17}{}{{}}{{}}}
|
||||||
\newlabel{tocindent-1}{0pt}
|
\newlabel{tocindent-1}{0pt}
|
||||||
\newlabel{tocindent0}{0pt}
|
\newlabel{tocindent0}{0pt}
|
||||||
\newlabel{tocindent1}{4.185pt}
|
\newlabel{tocindent1}{4.185pt}
|
||||||
|
|||||||
@@ -85,4 +85,17 @@ Arm architecture reference manual for a-profile architecture.
|
|||||||
{CHERI}-allocator/benchmarks/benchmarks/{StressTestMalloc}/glibc-bench.c at
|
{CHERI}-allocator/benchmarks/benchmarks/{StressTestMalloc}/glibc-bench.c at
|
||||||
main · akilan1999/{CHERI}-allocator.
|
main · akilan1999/{CHERI}-allocator.
|
||||||
|
|
||||||
|
\bibitem{singh1993}
|
||||||
|
Jaswinder~Pal Singh.
|
||||||
|
\newblock {\em Parallel Hierarchical N-body Methods and Their Implications for
|
||||||
|
Multiprocessors}.
|
||||||
|
\newblock PhD thesis, Stanford University, February 1993.
|
||||||
|
|
||||||
|
\bibitem{holt1995}
|
||||||
|
C.~Holt and Jaswinder~Pal Singh.
|
||||||
|
\newblock Hierarchical n-body methods on shared address space multiprocessors.
|
||||||
|
\newblock In {\em SIAM Conference on Parallel Processing for Scientific
|
||||||
|
Computing}, February 1995.
|
||||||
|
\newblock To appear.
|
||||||
|
|
||||||
\end{thebibliography}
|
\end{thebibliography}
|
||||||
|
|||||||
@@ -13,10 +13,6 @@ Warning--entry type for "Morello" isn't style-file defined
|
|||||||
--line 507 of file paperReferences.bib
|
--line 507 of file paperReferences.bib
|
||||||
Warning--entry type for "PerformanceCounter" isn't style-file defined
|
Warning--entry type for "PerformanceCounter" isn't style-file defined
|
||||||
--line 514 of file paperReferences.bib
|
--line 514 of file paperReferences.bib
|
||||||
Warning--I didn't find a database entry for "sec:FatPointerTranslations"
|
|
||||||
Warning--I didn't find a database entry for "sec:Micro"
|
|
||||||
Warning--I didn't find a database entry for "sec:Macro"
|
|
||||||
Warning--I didn't find a database entry for "sec:Results"
|
|
||||||
Warning--empty journal in mittal_survey_2017
|
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
|
||||||
@@ -29,45 +25,45 @@ Warning--empty year in THP
|
|||||||
Warning--empty year in karakostas_redundant_2015
|
Warning--empty year in karakostas_redundant_2015
|
||||||
Warning--empty journal in chen_flexpointer_2023
|
Warning--empty journal in chen_flexpointer_2023
|
||||||
Warning--empty year in chen_flexpointer_2023
|
Warning--empty year in chen_flexpointer_2023
|
||||||
You've used 15 entries,
|
You've used 17 entries,
|
||||||
1791 wiz_defined-function locations,
|
1791 wiz_defined-function locations,
|
||||||
530 strings with 6646 characters,
|
533 strings with 6851 characters,
|
||||||
and the built_in function-call counts, 3384 in all, are:
|
and the built_in function-call counts, 3698 in all, are:
|
||||||
= -- 247
|
= -- 273
|
||||||
> -- 203
|
> -- 215
|
||||||
< -- 3
|
< -- 3
|
||||||
+ -- 75
|
+ -- 80
|
||||||
- -- 60
|
- -- 63
|
||||||
* -- 264
|
* -- 278
|
||||||
:= -- 513
|
:= -- 567
|
||||||
add.period$ -- 37
|
add.period$ -- 44
|
||||||
call.type$ -- 15
|
call.type$ -- 17
|
||||||
change.case$ -- 15
|
change.case$ -- 16
|
||||||
chr.to.int$ -- 0
|
chr.to.int$ -- 0
|
||||||
cite$ -- 27
|
cite$ -- 29
|
||||||
duplicate$ -- 134
|
duplicate$ -- 153
|
||||||
empty$ -- 333
|
empty$ -- 369
|
||||||
format.name$ -- 60
|
format.name$ -- 63
|
||||||
if$ -- 736
|
if$ -- 806
|
||||||
int.to.chr$ -- 0
|
int.to.chr$ -- 0
|
||||||
int.to.str$ -- 15
|
int.to.str$ -- 17
|
||||||
missing$ -- 9
|
missing$ -- 10
|
||||||
newline$ -- 68
|
newline$ -- 79
|
||||||
num.names$ -- 10
|
num.names$ -- 12
|
||||||
pop$ -- 66
|
pop$ -- 74
|
||||||
preamble$ -- 1
|
preamble$ -- 1
|
||||||
purify$ -- 0
|
purify$ -- 0
|
||||||
quote$ -- 0
|
quote$ -- 0
|
||||||
skip$ -- 89
|
skip$ -- 95
|
||||||
stack$ -- 0
|
stack$ -- 0
|
||||||
substring$ -- 191
|
substring$ -- 191
|
||||||
swap$ -- 28
|
swap$ -- 31
|
||||||
text.length$ -- 3
|
text.length$ -- 3
|
||||||
text.prefix$ -- 0
|
text.prefix$ -- 0
|
||||||
top$ -- 0
|
top$ -- 0
|
||||||
type$ -- 0
|
type$ -- 0
|
||||||
warning$ -- 12
|
warning$ -- 12
|
||||||
while$ -- 25
|
while$ -- 27
|
||||||
width$ -- 17
|
width$ -- 19
|
||||||
write$ -- 128
|
write$ -- 151
|
||||||
(There were 21 warnings)
|
(There were 17 warnings)
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
# Fdb version 4
|
# Fdb version 4
|
||||||
["bibtex paper"] 1744381307.91479 "paper.aux" "paper.bbl" "paper" 1744381309.50412 0
|
["bibtex paper"] 1744390568.64615 "paper.aux" "paper.bbl" "paper" 1744390570.25362 0
|
||||||
"./paperReferences.bib" 1744196148.81398 45813 26a8e1c09695a94d7f7d7e673ad229c8 ""
|
"./paperReferences.bib" 1744390239.54673 46323 d7b94a445857170fc1233321d0322eaa ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
|
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
|
||||||
"paper.aux" 1744381309.20373 7953 abf8114744868342184253162a495cb1 "pdflatex"
|
"paper.aux" 1744390569.9295 7959 ac3c307910c71eb8d23b97795748826d "pdflatex"
|
||||||
(generated)
|
(generated)
|
||||||
"paper.bbl"
|
"paper.bbl"
|
||||||
"paper.blg"
|
"paper.blg"
|
||||||
(rewritten before read)
|
(rewritten before read)
|
||||||
["pdflatex"] 1744381308.00238 "paper.tex" "paper.pdf" "paper" 1744381309.50425 0
|
["pdflatex"] 1744390568.72948 "paper.tex" "paper.pdf" "paper" 1744390570.25376 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_25tcsq.enc" 1490131464 2921 8ca0eb0831f9bc5da080d3697cfe67bf ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_76gpa5.enc" 1490131464 2933 9ad527ce78d7c5fa0a642dead095f172 ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_76gpa5.enc" 1490131464 2933 9ad527ce78d7c5fa0a642dead095f172 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc" 1490131464 2934 a4a9158faed2e9e89c771b4e3b7fc12f ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_7grukw.enc" 1490131464 2934 a4a9158faed2e9e89c771b4e3b7fc12f ""
|
||||||
@@ -24,6 +25,7 @@
|
|||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1246382020 940 75ac932a52f80982a9f8ea75d03a34cf ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1246382020 940 75ac932a52f80982a9f8ea75d03a34cf ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1246382020 940 228d6584342e91276bf566bcf9716b83 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmr9.tfm" 1136768653 1292 6b21b9c2c7bebb38aa2273f7ca0fb3af ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/cm/cmr9.tfm" 1136768653 1292 6b21b9c2c7bebb38aa2273f7ca0fb3af ""
|
||||||
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-4.tfm" 1558214095 1328 82f7955e88a105d8e5acd89cb6526b12 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1--base.tfm" 1490131464 1744 9486ddc64e90094bbb83f53a83b0e415 ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1--base.tfm" 1490131464 1744 9486ddc64e90094bbb83f53a83b0e415 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1.tfm" 1490131464 19548 768852037f39958c435d71846b8877ea ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumT-tlf-t1.tfm" 1490131464 19548 768852037f39958c435d71846b8877ea ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTB-tlf-t1--base.tfm" 1490131464 1768 23aace73e6def3193d6e0453af90487b ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTB-tlf-t1--base.tfm" 1490131464 1768 23aace73e6def3193d6e0453af90487b ""
|
||||||
@@ -58,6 +60,7 @@
|
|||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/stxscr.tfm" 1569879884 1836 3af1bb0996e7f6070b70151de6395c2c ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/stxscr.tfm" 1569879884 1836 3af1bb0996e7f6070b70151de6395c2c ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txex-bar.tfm" 1699567298 900 fc8190d6de1e520c751c99f1e4e5fe0a ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txex-bar.tfm" 1699567298 900 fc8190d6de1e520c751c99f1e4e5fe0a ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txsys.tfm" 1724614892 1656 68b5079c64f1cefe2cf442b6a60cf2fd ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/tfm/public/newtx/txsys.tfm" 1724614892 1656 68b5079c64f1cefe2cf442b6a60cf2fd ""
|
||||||
|
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/inconsolata/Inconsolata-zi4r.pfb" 1558214095 55526 184de5d68af8c544d6d1653244a2b006 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumT.pfb" 1354061736 548786 1e51d517556d29f2841d57da58668a69 ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumT.pfb" 1354061736 548786 1e51d517556d29f2841d57da58668a69 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumTB.pfb" 1354061736 687959 b99c9f5a9b28f3dba077d1c078bceb3f ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumTB.pfb" 1354061736 687959 b99c9f5a9b28f3dba077d1c078bceb3f ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumTI.pfb" 1354061736 879384 e498f90c951041b56f91c0ffbf77a9d2 ""
|
"/usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumTI.pfb" 1354061736 879384 e498f90c951041b56f91c0ffbf77a9d2 ""
|
||||||
@@ -157,6 +160,7 @@
|
|||||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperref/puenc.def" 1730838014 117112 7533bff456301d32e6d6356fad15f543 ""
|
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperref/puenc.def" 1730838014 117112 7533bff456301d32e6d6356fad15f543 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty" 1710792253 62205 a7f89f92229cfedbace009eb0e06c099 ""
|
"/usr/local/texlive/2025/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty" 1710792253 62205 a7f89f92229cfedbace009eb0e06c099 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/ifmtarg/ifmtarg.sty" 1525197427 318 019510c713feab56160631df4423d2aa ""
|
"/usr/local/texlive/2025/texmf-dist/tex/latex/ifmtarg/ifmtarg.sty" 1525197427 318 019510c713feab56160631df4423d2aa ""
|
||||||
|
"/usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/t1zi4.fd" 1516054831 1021 03341d1cf7f388bbac1915f944d5d128 ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/zi4.sty" 1558214095 4319 14e5db0b68d045ed49e4ed232b58e93f ""
|
"/usr/local/texlive/2025/texmf-dist/tex/latex/inconsolata/zi4.sty" 1558214095 4319 14e5db0b68d045ed49e4ed232b58e93f ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1655478651 22555 6d8e155cfef6d82c3d5c742fea7c992e ""
|
"/usr/local/texlive/2025/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1655478651 22555 6d8e155cfef6d82c3d5c742fea7c992e ""
|
||||||
"/usr/local/texlive/2025/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1665067230 13815 760b0c02f691ea230f5359c4e1de23a7 ""
|
"/usr/local/texlive/2025/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1665067230 13815 760b0c02f691ea230f5359c4e1de23a7 ""
|
||||||
@@ -215,10 +219,10 @@
|
|||||||
"diagram/TLBAccess.drawio.png" 1744196148.80543 77522 75367f218335fe386db852966a892e9b ""
|
"diagram/TLBAccess.drawio.png" 1744196148.80543 77522 75367f218335fe386db852966a892e9b ""
|
||||||
"diagram/bargraph.png" 1744196148.80607 74263 65509d21744edc6c9ca02b8c67d664fb ""
|
"diagram/bargraph.png" 1744196148.80607 74263 65509d21744edc6c9ca02b8c67d664fb ""
|
||||||
"diagram/kmeans.png" 1744196148.80901 94217 5d14308c169ff296bf499805b9823aa6 ""
|
"diagram/kmeans.png" 1744196148.80901 94217 5d14308c169ff296bf499805b9823aa6 ""
|
||||||
"paper.aux" 1744381309.20373 7953 abf8114744868342184253162a495cb1 "pdflatex"
|
"paper.aux" 1744390569.9295 7959 ac3c307910c71eb8d23b97795748826d "pdflatex"
|
||||||
"paper.bbl" 1744381307.99948 3371 e1ba8bd3501bd6b1af1d5ca27a21f4ec "bibtex paper"
|
"paper.bbl" 1744390568.7256 3824 3a7d4db0e425f84ef7bb98164f0eac8f "bibtex paper"
|
||||||
"paper.out" 1744381309.20564 3691 57df4bceeaeac4f8a0aa4a6219c57ca6 "pdflatex"
|
"paper.out" 1744390569.93032 3686 15f71b74083c4eefc68ea70789a0645a "pdflatex"
|
||||||
"paper.tex" 1744381303.28585 80223 2a86dcc0a3a69b931e884068ae17bdcc ""
|
"paper.tex" 1744390408.3819 80741 a3601392619340c3fa4fcbc30ca1b51c ""
|
||||||
(generated)
|
(generated)
|
||||||
"paper.aux"
|
"paper.aux"
|
||||||
"paper.log"
|
"paper.log"
|
||||||
|
|||||||
@@ -524,8 +524,13 @@ INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinLibertineT
|
|||||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinLibertineT-tlf-ot1--base.tfm
|
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/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/tfm/public/libertine/LinBiolinumTI-tlf-t1.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
|
||||||
|
INPUT /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/inconsolata/t1-zi4r-4.tfm
|
||||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/vf/public/libertine/LinBiolinumTI-tlf-t1.vf
|
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 /usr/local/texlive/2025/texmf-dist/fonts/tfm/public/libertine/LinBiolinumTI-tlf-t1--base.tfm
|
||||||
|
INPUT /usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc
|
||||||
INPUT ./diagram/bargraph.png
|
INPUT ./diagram/bargraph.png
|
||||||
INPUT ./diagram/bargraph.png
|
INPUT ./diagram/bargraph.png
|
||||||
INPUT ./diagram/bargraph.png
|
INPUT ./diagram/bargraph.png
|
||||||
@@ -548,6 +553,7 @@ INPUT /usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-utf8.def
|
|||||||
INPUT paper.aux
|
INPUT paper.aux
|
||||||
INPUT ./paper.out
|
INPUT ./paper.out
|
||||||
INPUT ./paper.out
|
INPUT ./paper.out
|
||||||
|
INPUT /usr/local/texlive/2025/texmf-dist/fonts/type1/public/inconsolata/Inconsolata-zi4r.pfb
|
||||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/LibertineMathMI.pfb
|
INPUT /usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/LibertineMathMI.pfb
|
||||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumT.pfb
|
INPUT /usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumT.pfb
|
||||||
INPUT /usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumTB.pfb
|
INPUT /usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinumTB.pfb
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 11 APR 2025 15:21
|
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 11 APR 2025 17:56
|
||||||
entering extended mode
|
entering extended mode
|
||||||
restricted \write18 enabled.
|
restricted \write18 enabled.
|
||||||
%&-line parsing enabled.
|
%&-line parsing enabled.
|
||||||
@@ -1332,10 +1332,6 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
|
|||||||
|
|
||||||
[3.3 <./diagram/HighOverviewArchitecture.drawio.png> <./diagram/AllocationOverv
|
[3.3 <./diagram/HighOverviewArchitecture.drawio.png> <./diagram/AllocationOverv
|
||||||
iew24.png>]
|
iew24.png>]
|
||||||
|
|
||||||
Package natbib Warning: Citation `sec:FatPointerTranslations' on page 4 undefin
|
|
||||||
ed on input line 631.
|
|
||||||
|
|
||||||
Package hyperref Info: bookmark level for unknown algorithm defaults to 0 on in
|
Package hyperref Info: bookmark level for unknown algorithm defaults to 0 on in
|
||||||
put line 645.
|
put line 645.
|
||||||
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/sc' will be
|
LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/sc' will be
|
||||||
@@ -1352,56 +1348,52 @@ LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
|
|||||||
nc}{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.en
|
nc}{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.en
|
||||||
c} <./diagram/TLBAccess.drawio.png>]
|
c} <./diagram/TLBAccess.drawio.png>]
|
||||||
|
|
||||||
Package natbib Warning: Citation `sec:Micro' on page 5 undefined on input line
|
|
||||||
736.
|
|
||||||
|
|
||||||
|
|
||||||
Package natbib Warning: Citation `sec:Macro' on page 5 undefined on input line
|
|
||||||
739.
|
|
||||||
|
|
||||||
|
|
||||||
Package natbib Warning: Citation `sec:Results' on page 5 undefined on input lin
|
|
||||||
e 743.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be
|
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be
|
||||||
(Font) scaled to size 9.0pt on input line 832.
|
(Font) scaled to size 9.0pt on input line 833.
|
||||||
|
LaTeX Font Info: Trying to load font information for T1+zi4 on input line 83
|
||||||
|
4.
|
||||||
|
(/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 834.
|
||||||
|
Package microtype Info: Loading generic protrusion settings for font family
|
||||||
|
(microtype) `zi4' (encoding: T1).
|
||||||
|
(microtype) For optimal results, create family-specific settings.
|
||||||
|
(microtype) See the microtype manual for details.
|
||||||
|
|
||||||
|
|
||||||
[5.5]
|
[5.5{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/inconsolata/i4-t1-4.enc
|
||||||
<diagram/bargraph.png, id=201, 1156.32pt x 722.7pt>
|
}]
|
||||||
|
<diagram/bargraph.png, id=208, 1156.32pt x 722.7pt>
|
||||||
File: diagram/bargraph.png Graphic file (type png)
|
File: diagram/bargraph.png Graphic file (type png)
|
||||||
<use diagram/bargraph.png>
|
<use diagram/bargraph.png>
|
||||||
Package pdftex.def Info: diagram/bargraph.png used on input line 869.
|
Package pdftex.def Info: diagram/bargraph.png used on input line 877.
|
||||||
(pdftex.def) Requested size: 455.6624pt x 284.78517pt.
|
(pdftex.def) Requested size: 455.6624pt x 284.78517pt.
|
||||||
|
|
||||||
|
|
||||||
Class acmart Warning: A possible image without description on input line 871.
|
Class acmart Warning: A possible image without description on input line 879.
|
||||||
|
|
||||||
|
|
||||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||||
|
|
||||||
|
|
||||||
Underfull \vbox (badness 2762) has occurred while \output is active []
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[6.6]
|
[6.6]
|
||||||
<./diagram/kmeans.png, id=210, 1011.78pt x 578.16pt>
|
<./diagram/kmeans.png, id=219, 1011.78pt x 578.16pt>
|
||||||
File: ./diagram/kmeans.png Graphic file (type png)
|
File: ./diagram/kmeans.png Graphic file (type png)
|
||||||
<use ./diagram/kmeans.png>
|
<use ./diagram/kmeans.png>
|
||||||
Package pdftex.def Info: ./diagram/kmeans.png used on input line 919.
|
Package pdftex.def Info: ./diagram/kmeans.png used on input line 927.
|
||||||
(pdftex.def) Requested size: 265.2637pt x 151.57959pt.
|
(pdftex.def) Requested size: 265.2637pt x 151.57959pt.
|
||||||
|
|
||||||
Overfull \hbox (24.11621pt too wide) in paragraph at lines 919--920
|
Overfull \hbox (24.11621pt too wide) in paragraph at lines 927--928
|
||||||
[][]
|
[][]
|
||||||
[]
|
[]
|
||||||
|
|
||||||
|
|
||||||
Class acmart Warning: A possible image without description on input line 921.
|
Class acmart Warning: A possible image without description on input line 929.
|
||||||
|
|
||||||
|
|
||||||
Underfull \vbox (badness 10000) has occurred while \output is active []
|
Underfull \vbox (badness 10000) has occurred while \output is active []
|
||||||
@@ -1411,6 +1403,12 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
|
|||||||
|
|
||||||
|
|
||||||
[7.7 <./diagram/bargraph.png> <./diagram/kmeans.png>]
|
[7.7 <./diagram/bargraph.png> <./diagram/kmeans.png>]
|
||||||
|
Overfull \hbox (1.21416pt too wide) in paragraph at lines 961--967
|
||||||
|
\T1/LinuxLibertineT-TLF/m/n/9 (-20) page op-ti-miza-tions. Its de-sign ef-fec-t
|
||||||
|
ively re-duces TLB misses, achiev-
|
||||||
|
[]
|
||||||
|
|
||||||
|
|
||||||
Underfull \vbox (badness 1895) has occurred while \output is active []
|
Underfull \vbox (badness 1895) has occurred while \output is active []
|
||||||
|
|
||||||
|
|
||||||
@@ -1425,9 +1423,6 @@ essTestMalloc/glibc-bench.c at
|
|||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
Package natbib Warning: There were undefined citations.
|
|
||||||
|
|
||||||
|
|
||||||
Class acmart Warning: Some images may lack descriptions.
|
Class acmart Warning: Some images may lack descriptions.
|
||||||
|
|
||||||
|
|
||||||
@@ -1440,6 +1435,10 @@ Class acmart Warning: CCS concepts are mandatory for papers over two pages.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Overfull \vbox (1.152pt too high) has occurred while \output is active []
|
||||||
|
|
||||||
|
|
||||||
(/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-pdfdoc.def
|
(/usr/local/texlive/2025/texmf-dist/tex/generic/stringenc/se-pdfdoc.def
|
||||||
File: se-pdfdoc.def 2019/11/29 v1.12 stringenc: PDFDocEncoding
|
File: se-pdfdoc.def 2019/11/29 v1.12 stringenc: PDFDocEncoding
|
||||||
)
|
)
|
||||||
@@ -1452,30 +1451,31 @@ LaTeX2e <2024-11-01> patch level 2
|
|||||||
L3 programming layer <2025-01-18>
|
L3 programming layer <2025-01-18>
|
||||||
***********
|
***********
|
||||||
Package rerunfilecheck Info: File `paper.out' has not changed.
|
Package rerunfilecheck Info: File `paper.out' has not changed.
|
||||||
(rerunfilecheck) Checksum: 57DF4BCEEAEAC4F8A0AA4A6219C57CA6;3691.
|
(rerunfilecheck) Checksum: 15F71B74083C4EEFC68EA70789A0645A;3686.
|
||||||
)
|
)
|
||||||
Here is how much of TeX's memory you used:
|
Here is how much of TeX's memory you used:
|
||||||
23996 strings out of 473190
|
24024 strings out of 473190
|
||||||
393331 string characters out of 5715801
|
393754 string characters out of 5715801
|
||||||
963706 words of memory out of 5000000
|
965870 words of memory out of 5000000
|
||||||
46171 multiletter control sequences out of 15000+600000
|
46198 multiletter control sequences out of 15000+600000
|
||||||
768930 words of font info for 446 fonts, out of 8000000 for 9000
|
768597 words of font info for 442 fonts, out of 8000000 for 9000
|
||||||
1302 hyphenation exceptions out of 8191
|
1302 hyphenation exceptions out of 8191
|
||||||
90i,17n,131p,1002b,824s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
90i,16n,131p,1002b,804s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||||
</usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/LibertineMathMI.
|
</usr/local/texlive/2025/texmf-dist/fonts/type1/public/inconsolata/Inconsolat
|
||||||
pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinu
|
a-zi4r.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/newtx/Liberti
|
||||||
mT.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiol
|
neMathMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/L
|
||||||
inumTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/Lin
|
inBiolinumT.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertin
|
||||||
BiolinumTI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine
|
e/LinBiolinumTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libe
|
||||||
/LinLibertineT.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/liber
|
rtine/LinBiolinumTI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/
|
||||||
tine/LinLibertineTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/
|
libertine/LinLibertineT.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/pub
|
||||||
libertine/LinLibertineTI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/pu
|
lic/libertine/LinLibertineTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type
|
||||||
blic/newtx/NewTXMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/n
|
1/public/libertine/LinLibertineTI.pfb></usr/local/texlive/2025/texmf-dist/fonts
|
||||||
ewtx/txsys.pfb>
|
/type1/public/newtx/NewTXMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1
|
||||||
Output written on paper.pdf (9 pages, 701176 bytes).
|
/public/newtx/txsys.pfb>
|
||||||
|
Output written on paper.pdf (9 pages, 714018 bytes).
|
||||||
PDF statistics:
|
PDF statistics:
|
||||||
296 PDF objects out of 1000 (max. 8388607)
|
310 PDF objects out of 1000 (max. 8388607)
|
||||||
247 compressed objects within 3 object streams
|
260 compressed objects within 3 object streams
|
||||||
60 named destinations out of 1000 (max. 500000)
|
62 named destinations out of 1000 (max. 500000)
|
||||||
114906 words of extra memory for PDF output out of 128383 (max. 10000000)
|
115418 words of extra memory for PDF output out of 128383 (max. 10000000)
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -628,7 +628,7 @@ on physically contigous memory.
|
|||||||
\section{Memory allocator design}
|
\section{Memory allocator design}
|
||||||
\label{sec:MemoryAllocator}
|
\label{sec:MemoryAllocator}
|
||||||
This section presents a straightforward memory allocator designed and implemented based on the
|
This section presents a straightforward memory allocator designed and implemented based on the
|
||||||
principles outlined FAT ~\cite{sec:FatPointerTranslations}. The allocator consists of three core functions: InitAlloc,
|
principles outlined FAT ~\ref{sec:FatPointerTranslations}. The allocator consists of three core functions: InitAlloc,
|
||||||
malloc, and free. The InitAlloc function initializes the memory pool, setting up the necessary
|
malloc, and free. The InitAlloc function initializes the memory pool, setting up the necessary
|
||||||
data structures and metadata required for efficient memory management. The malloc function is
|
data structures and metadata required for efficient memory management. The malloc function is
|
||||||
responsible for allocating a contiguous block of memory of a specified size, while the free
|
responsible for allocating a contiguous block of memory of a specified size, while the free
|
||||||
@@ -716,9 +716,9 @@ applications and kernel-level operations.
|
|||||||
|
|
||||||
\section{Evaluation}
|
\section{Evaluation}
|
||||||
\label{sec:Evaluation}
|
\label{sec:Evaluation}
|
||||||
We conducted tests of the FAT Pointer-based range addresses against Jemalloc~\cite{jemalloc},
|
We conducted tests of the FAT memory allocator against Jemalloc~\cite{jemalloc},
|
||||||
the default memory allocator for CHERIBSD~\cite{cheribsd}, to assess the performance improvements
|
Jemalloc is the default memory allocator for CHERIBSD~\cite{cheribsd}, to assess the performance improvements
|
||||||
enabled by a CHERI-based huge page-aware allocator. Specifically, we evaluated
|
enabled by the FAT allocator. Specifically, we evaluated
|
||||||
the reduction in TLB walks and misses and its impact on wall clock runtime.
|
the reduction in TLB walks and misses and its impact on wall clock runtime.
|
||||||
|
|
||||||
To comprehensively analyze the proposed allocator, we categorized benchmarks into
|
To comprehensively analyze the proposed allocator, we categorized benchmarks into
|
||||||
@@ -733,14 +733,14 @@ the specific configurations, compiler options, and system environment tailored
|
|||||||
to benchmark the proposed allocator. This ensures consistency and repeatability
|
to benchmark the proposed allocator. This ensures consistency and repeatability
|
||||||
in our results, providing a solid foundation for meaningful comparisons.
|
in our results, providing a solid foundation for meaningful comparisons.
|
||||||
|
|
||||||
We further elaborated on the two classes of benchmarks executed. Micro benchmarks (section~\cite{sec:Micro}).
|
We further elaborated on the two classes of benchmarks executed. Micro benchmarks (section~\ref{sec:Micro}).
|
||||||
focused on particular allocation and deallocation patterns, such as sequential and
|
focused on particular allocation and deallocation patterns, such as sequential and
|
||||||
random memory accesses, to stress-test the allocator under controlled conditions.
|
random memory accesses, to stress-test the allocator under controlled conditions.
|
||||||
Macro benchmarks (section~\cite{sec:Macro}) involved real-world applications, offering insights into how
|
Macro benchmarks (section~\ref{sec:Macro}) involved real-world applications, offering insights into how
|
||||||
the allocator performs with complex memory allocation demands, large datasets,
|
the allocator performs with complex memory allocation demands, large datasets,
|
||||||
and varying execution contexts.
|
and varying execution contexts.
|
||||||
|
|
||||||
The results (section~\cite{sec:Results}) presents the outcomes of our benchmarks, highlighting key metrics
|
The results (section~\ref{sec:Results}) presents the outcomes of our benchmarks, highlighting key metrics
|
||||||
such as TLB miss rates, memory usage, and runtime performance. We observed that the
|
such as TLB miss rates, memory usage, and runtime performance. We observed that the
|
||||||
proposed allocator demonstrated significant improvements in reducing TLB misses,
|
proposed allocator demonstrated significant improvements in reducing TLB misses,
|
||||||
leading to noticeable enhancements in runtime efficiency for both micro and macro
|
leading to noticeable enhancements in runtime efficiency for both micro and macro
|
||||||
@@ -828,15 +828,16 @@ the proposed changes.
|
|||||||
The benchmarks~\cite{Benchmark} are classified into 2 classes:
|
The benchmarks~\cite{Benchmark} are classified into 2 classes:
|
||||||
|
|
||||||
\subsubsection{Micro benchmark}
|
\subsubsection{Micro benchmark}
|
||||||
\label{sec:Micro}
|
\label{sec:Micro}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item GLIBC: The Glibc benchmark evaluates the performance of
|
\item \texttt{GLIBC}: The Glibc benchmark evaluates the performance of
|
||||||
malloc and free functions in single-threaded, multi-threaded,
|
malloc and free functions in single-threaded, multi-threaded,
|
||||||
and emulated multi-threading scenarios using various block sizes and
|
and emulated multi-threading scenarios using various block sizes and
|
||||||
allocation patterns. It simulates real-world memory usage by partially
|
allocation patterns. It simulates real-world memory usage by partially
|
||||||
deallocating blocks in FIFO order and fully deallocating them in LIFO order.
|
deallocating blocks in FIFO order and fully deallocating them in LIFO order.
|
||||||
Results are gathered across configurations to analyze performance variations.
|
Results are gathered across configurations to analyze performance variations.
|
||||||
\item MemAccess: This benchmark by Alex Bordei evaluates the performance impact of
|
\item \texttt{MemAccess}: This benchmark by Alex Bordei evaluates the performance impact of
|
||||||
memory access patterns by constructing and traversing a doubly
|
memory access patterns by constructing and traversing a doubly
|
||||||
linked list with varying working set sizes. It supports sequential or
|
linked list with varying working set sizes. It supports sequential or
|
||||||
randomized structures, optional node operations, and multithreaded
|
randomized structures, optional node operations, and multithreaded
|
||||||
@@ -846,32 +847,39 @@ The benchmarks~\cite{Benchmark} are classified into 2 classes:
|
|||||||
|
|
||||||
\subsubsection{Macro benchmark}
|
\subsubsection{Macro benchmark}
|
||||||
\label{sec:Macro}
|
\label{sec:Macro}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Kmeans: Kmeans implements a parallelized K-means clustering algorithm that
|
\item \texttt{Kmeans}: Kmeans implements a parallelized K-means clustering algorithm that
|
||||||
assigns data points to clusters based on proximity to centroids,
|
assigns data points to clusters based on proximity to centroids,
|
||||||
iteratively updating them until convergence. The computation is
|
iteratively updating them until convergence. The computation is
|
||||||
distributed across threads using the pthread library, dynamically
|
distributed across threads using the pthread library, dynamically
|
||||||
assigning tasks to optimize performance. Parameters like data size
|
assigning tasks to optimize performance. Parameters like data size
|
||||||
and clusters are configurable, and the program ensures efficient
|
and clusters are configurable, and the program ensures efficient
|
||||||
memory management and synchronization.
|
memory management and synchronization.
|
||||||
\item Richards: Richards is a task scheduling benchmark that simulates a
|
\item \texttt{Richards}: Richards is a task scheduling benchmark that simulates a
|
||||||
multitasking environment with tasks of varying types and priorities,
|
multitasking environment with tasks of varying types and priorities,
|
||||||
communicating through queued packets. The schedule function manages
|
communicating through queued packets. The schedule function manages
|
||||||
task execution based on state and priority, tracking processed packets
|
task execution based on state and priority, tracking processed packets
|
||||||
and held tasks for performance evaluation. Configurable iterations and
|
and held tasks for performance evaluation. Configurable iterations and
|
||||||
timing help measure system performance and ensure correctness.
|
timing help measure system performance and ensure correctness.
|
||||||
|
\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}. The implementation we benchmark extends the original method by permitting multiple
|
||||||
|
particles to be stored within each leaf cell of the spatial decomposition, enhancing performance and scalability.
|
||||||
|
This extension is described by Holt and Singh ~\cite{holt1995}.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
\subsection{Results}
|
\subsection{Results}
|
||||||
\label{sec:Results}
|
\label{sec:Results}
|
||||||
|
|
||||||
\begin{figure*}[h]
|
\begin{figure*}[h]
|
||||||
\includegraphics[width=.9\linewidth]{diagram/bargraph.png}
|
\includegraphics[width=.9\linewidth]{diagram/bargraph.png}
|
||||||
\caption{\label{fig:bargraph}Percentage difference between the modified memory allocator against the default system memory allocator}
|
\caption{\label{fig:bargraph}Percentage difference between the modified memory allocator against the default system memory allocator}
|
||||||
\end{figure*}
|
\end{figure*}
|
||||||
|
|
||||||
The graph (Figure \ref{fig:bargraph}) highlights the performance comparison between the modified memory allocator and
|
The graph (Figure \ref{fig:bargraph}) highlights the performance comparison between the modified memory allocator and
|
||||||
Jemalloc, the default memory allocator. The FAT pointer memory allocator, specifically optimized
|
Jemalloc, the default memory allocator. The FAT memory allocator, specifically optimized
|
||||||
for use with huge pages, demonstrates a clear advantage in scenarios where memory allocation
|
for use with huge pages, demonstrates a clear advantage in scenarios where memory allocation
|
||||||
patterns benefit from its design. The results align with expectations, showcasing the impact
|
patterns benefit from its design. The results align with expectations, showcasing the impact
|
||||||
of its capability to handle memory more efficiently by leveraging huge pages.
|
of its capability to handle memory more efficiently by leveraging huge pages.
|
||||||
@@ -884,7 +892,7 @@ of its capability to handle memory more efficiently by leveraging huge pages.
|
|||||||
reduction on L2 DTLB reads. This demonstrates that all the TLB translations are read at the L1 TLB
|
reduction on L2 DTLB reads. This demonstrates that all the TLB translations are read at the L1 TLB
|
||||||
cache.
|
cache.
|
||||||
|
|
||||||
\item L1 DTLB walks: Due to most of the TLB entries getting hit at the L1 DTLB there is no need
|
\item DTLB walks: Due to most of the TLB entries getting hit at the L1 DTLB there is no need
|
||||||
to walk the TLB cache hierarchy. This is shown by an average of 99\% reduction in DTLB walks.
|
to walk the TLB cache hierarchy. This is shown by an average of 99\% reduction in DTLB walks.
|
||||||
|
|
||||||
\item L1 DTLB refills: Since there are lesser DTLB walks and most reads are done at the L1 DTLB
|
\item L1 DTLB refills: Since there are lesser DTLB walks and most reads are done at the L1 DTLB
|
||||||
@@ -921,7 +929,7 @@ bottlenecked by factors such as computation or I/O rather than memory translatio
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
The K-means algorithm was executed with varying cluster sizes to evaluate the performance difference
|
The K-means algorithm was executed with varying cluster sizes to evaluate the performance difference
|
||||||
between the FAT pointer allocator and the baseline allocator as the workload scales. This analysis
|
between the FAT allocator and Jemalloc as the workload scales. This analysis
|
||||||
aims to understand how the allocator's optimizations, particularly its ability to manage memory
|
aims to understand how the allocator's optimizations, particularly its ability to manage memory
|
||||||
more efficiently with huge pages, impact performance under different workload conditions.
|
more efficiently with huge pages, impact performance under different workload conditions.
|
||||||
|
|
||||||
@@ -949,7 +957,8 @@ consistent performance benefits across most scenarios.
|
|||||||
|
|
||||||
\subsection{Analysis}
|
\subsection{Analysis}
|
||||||
\label{sec:Analysis}
|
\label{sec:Analysis}
|
||||||
The FAT pointer memory allocator demonstrates significant potential for enhancing
|
|
||||||
|
The FAT memory allocator demonstrates significant potential for enhancing
|
||||||
memory management in systems that benefit from huge page optimizations. Its design
|
memory management in systems that benefit from huge page optimizations. Its design
|
||||||
effectively reduces TLB misses, achieving up to 90\% fewer data TLB walks, L2 TLB reads,
|
effectively reduces TLB misses, achieving up to 90\% fewer data TLB walks, L2 TLB reads,
|
||||||
and TLB refills compared to Jemalloc. These improvements lead to noticeable performance
|
and TLB refills compared to Jemalloc. These improvements lead to noticeable performance
|
||||||
|
|||||||
@@ -537,4 +537,21 @@ pages = {129–139},
|
|||||||
numpages = {11}
|
numpages = {11}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@phdthesis{singh1993,
|
||||||
|
author = {Singh, Jaswinder Pal},
|
||||||
|
title = {Parallel Hierarchical N-body Methods and Their Implications for Multiprocessors},
|
||||||
|
school = {Stanford University},
|
||||||
|
year = {1993},
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user