added changes to paper FAT pointer section

This commit is contained in:
2025-04-10 12:05:25 +01:00
parent 8cf048b6b2
commit 3c615fe015
7 changed files with 52 additions and 42 deletions

Binary file not shown.

View File

@@ -79,10 +79,6 @@
\bibcite{DirectSegment}{{7}{}{{}}{{}}}
\bibcite{karakostas_redundant_2015}{{8}{}{{}}{{}}}
\bibcite{chen_flexpointer_2023}{{9}{}{{}}{{}}}
\bibcite{TLBBehavoir}{{10}{}{{}}{{}}}
\bibcite{jemalloc}{{11}{}{{}}{{}}}
\bibcite{cheribsd}{{12}{}{{}}{{}}}
\bibcite{Morello}{{13}{}{{}}{{}}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Usability}{8}{subsection.5.4}\protected@file@percent }
\newlabel{sec:orgd6ba6f0}{{5.4}{8}{Usability}{subsection.5.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Future work}{8}{section.6}\protected@file@percent }
@@ -90,6 +86,10 @@
\@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}{References}{8}{section*.10}\protected@file@percent }
\bibcite{TLBBehavoir}{{10}{}{{}}{{}}}
\bibcite{jemalloc}{{11}{}{{}}{{}}}
\bibcite{cheribsd}{{12}{}{{}}{{}}}
\bibcite{Morello}{{13}{}{{}}{{}}}
\bibcite{BenchmarkABI}{{14}{}{{}}{{}}}
\bibcite{PerformanceCounter}{{15}{}{{}}{{}}}
\bibcite{Benchmark}{{16}{}{{}}{{}}}

View File

@@ -1,13 +1,13 @@
# Fdb version 4
["bibtex paper"] 1743772752.6196 "paper.aux" "paper.bbl" "paper" 1743772754.21184 0
"./paperReferences.bib" 1743764985.86235 45813 26a8e1c09695a94d7f7d7e673ad229c8 ""
["bibtex paper"] 1744196210.46309 "paper.aux" "paper.bbl" "paper" 1744196212.14709 0
"./paperReferences.bib" 1744196148.81398 45813 26a8e1c09695a94d7f7d7e673ad229c8 ""
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
"paper.aux" 1743772753.90955 7634 e3ca248423f988aad8615b956b665125 "pdflatex"
"paper.aux" 1744196211.84376 7634 5db61087f53323c6f78f4959f4ad0f19 "pdflatex"
(generated)
"paper.bbl"
"paper.blg"
(rewritten before read)
["pdflatex"] 1743772752.70293 "paper.tex" "paper.pdf" "paper" 1743772754.21196 0
["pdflatex"] 1744196210.63491 "paper.tex" "paper.pdf" "paper" 1744196212.14723 0
"/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_7grukw.enc" 1490131464 2934 a4a9158faed2e9e89c771b4e3b7fc12f ""
@@ -210,15 +210,15 @@
"/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/AllocationOverview24.png" 1740922321.38668 45834 e2cfc13e3970cce298f0396858ac1356 ""
"diagram/HighOverviewArchitecture.drawio.png" 1740922321.38402 152902 4b92f7b86b6525c26112d4fd5935c951 ""
"diagram/TLBAccess.drawio.png" 1740922321.38286 77522 75367f218335fe386db852966a892e9b ""
"diagram/bargraph.png" 1740924635.40478 74263 65509d21744edc6c9ca02b8c67d664fb ""
"diagram/kmeans.png" 1740924635.40653 94217 5d14308c169ff296bf499805b9823aa6 ""
"paper.aux" 1743772753.90955 7634 e3ca248423f988aad8615b956b665125 "pdflatex"
"paper.bbl" 1743772752.69999 3588 3b324cb71c9931b08d5c6f1eb2446cbc "bibtex paper"
"paper.out" 1743772753.91034 3691 57df4bceeaeac4f8a0aa4a6219c57ca6 "pdflatex"
"paper.tex" 1743772746.19734 77060 eb619787267ca9f1a143fc540a008d93 ""
"diagram/AllocationOverview24.png" 1744196148.80395 45834 e2cfc13e3970cce298f0396858ac1356 ""
"diagram/HighOverviewArchitecture.drawio.png" 1744196148.80443 152902 4b92f7b86b6525c26112d4fd5935c951 ""
"diagram/TLBAccess.drawio.png" 1744196148.80543 77522 75367f218335fe386db852966a892e9b ""
"diagram/bargraph.png" 1744196148.80607 74263 65509d21744edc6c9ca02b8c67d664fb ""
"diagram/kmeans.png" 1744196148.80901 94217 5d14308c169ff296bf499805b9823aa6 ""
"paper.aux" 1744196211.84376 7634 5db61087f53323c6f78f4959f4ad0f19 "pdflatex"
"paper.bbl" 1744196210.63194 3588 3b324cb71c9931b08d5c6f1eb2446cbc "bibtex paper"
"paper.out" 1744196211.84462 3691 57df4bceeaeac4f8a0aa4a6219c57ca6 "pdflatex"
"paper.tex" 1744196148.81378 77216 23cffe66a0238576210f1abaaef6f779 ""
(generated)
"paper.aux"
"paper.log"

View File

@@ -1,4 +1,4 @@
PWD /Users/akilan/Documents/Cheri/Test/CHERI-Allocator/docs/EuroSys/Paper
PWD /Users/akilan/Documents/Cheri/Test/Reverse/CHERI-Allocator/docs/EuroSys/Paper
INPUT /usr/local/texlive/2025/texmf.cnf
INPUT /usr/local/texlive/2025/texmf-dist/web2c/texmf.cnf
INPUT /usr/local/texlive/2025/texmf-var/web2c/pdftex/pdflatex.fmt

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) 4 APR 2025 14:19
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 9 APR 2025 11:56
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@@ -1396,15 +1396,15 @@ LaTeX Warning: `h' float specifier changed to `ht'.
<./diagram/kmeans.png, id=205, 1011.78pt x 578.16pt>
File: ./diagram/kmeans.png Graphic file (type png)
<use ./diagram/kmeans.png>
Package pdftex.def Info: ./diagram/kmeans.png used on input line 869.
Package pdftex.def Info: ./diagram/kmeans.png used on input line 875.
(pdftex.def) Requested size: 265.2637pt x 151.57959pt.
Overfull \hbox (24.11621pt too wide) in paragraph at lines 869--870
Overfull \hbox (24.11621pt too wide) in paragraph at lines 875--876
[][]
[]
Class acmart Warning: A possible image without description on input line 871.
Class acmart Warning: A possible image without description on input line 877.
Underfull \vbox (badness 10000) has occurred while \output is active []
@@ -1414,7 +1414,7 @@ Underfull \vbox (badness 10000) has occurred while \output is active []
[7.7 <./diagram/bargraph.png> <./diagram/kmeans.png>]
Underfull \vbox (badness 1895) has occurred while \output is active []
Underfull \vbox (badness 10000) has occurred while \output is active []
@@ -1440,10 +1440,6 @@ 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
File: se-pdfdoc.def 2019/11/29 v1.12 stringenc: PDFDocEncoding
)
@@ -1461,11 +1457,11 @@ Package rerunfilecheck Info: File `paper.out' has not changed.
Here is how much of TeX's memory you used:
23990 strings out of 473190
393203 string characters out of 5715801
963407 words of memory out of 5000000
964253 words of memory out of 5000000
46170 multiletter control sequences out of 15000+600000
768506 words of font info for 442 fonts, out of 8000000 for 9000
1302 hyphenation exceptions out of 8191
90i,16n,131p,1002b,820s 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.
pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiolinu
mT.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/libertine/LinBiol
@@ -1476,7 +1472,7 @@ tine/LinLibertineTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/
libertine/LinLibertineTI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/pu
blic/newtx/NewTXMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1/public/n
ewtx/txsys.pfb>
Output written on paper.pdf (9 pages, 701276 bytes).
Output written on paper.pdf (9 pages, 701842 bytes).
PDF statistics:
292 PDF objects out of 1000 (max. 8388607)
243 compressed objects within 3 object streams

Binary file not shown.

View File

@@ -235,7 +235,7 @@
and the use of huge pages. Concurrently, advancements in hardware-level system security—exemplified by the Capability Hardware
Enhanced RISC Instructions (CHERI) architecture—offer additional opportunities for improving TLB performance. CHERI introduces
capability-based addressing, a novel approach that enhances system security by associating capabilities with memory pointers. By leveraging capability-based
addressing, memory allocators can integrate block-based allocations within huge pages. Through our evaluation using both micro and macro benchmarks, we show that
addressing, we introduce a memory allocator that can integrate block-based allocations within huge pages. Through our evaluation using both micro and macro benchmarks, we show that
our allocator can reduce TLB misses by up to 90\%, leading to improvements in wall clock runtimes for memory-intensive applications.
\end{abstract}
@@ -342,13 +342,13 @@ workloads that rely heavily on large datasets.
Simultaneously, advancements in hardware-level security, such as the Capability Hardware Enhanced RISC Instructions (CHERI)
~\cite{woodruff_cheri_2014} architecture, present additional opportunities for performance enhancement. CHERI's capability-based addressing approach not
only strengthens system security by tightly controlling memory access but also opens avenues for optimising memory management
operations. By integrating CHERIs compressed~\cite{woodruff_cheri_2019} encoded bounds with the use of huge pages, We have shown it is possible to track and manage
operations. By integrating CHERIs compressed encoded bounds~\cite{woodruff_cheri_2019} with the use of huge pages, We have shown it is possible to track and manage
large, physically contiguous memory blocks without requiring numerous TLB entries. This combination reduces TLB pressure by minimising the number of
entries required to map extensive memory regions, thereby decreasing TLB misses and improving address translation performance.
Furthermore, it accelerates memory-intensive tasks by reducing the overhead associated with managing fragmented or non-contiguous
Furthermore, it accelerates memory-intensive tasks by reducing the overhead associated with managing non-contiguous
memory allocations. The contributions for the following paper are as follows:
\begin{itemize}
\item \textbf{Fat pointer Based Range Addresses}: Introduces fat-pointers that include memory bounds, allowing
\item \textbf{Fat Addresses Translations}: Introduces fat-pointers that include memory bounds, allowing
efficient tracking and management of physically contiguous memory regions (section ~\ref{sec:FatPointerTranslations}).
\item \textbf{CHERIs Capability-based Optimization}: Demonstrates how CHERI's architecture can be
@@ -454,15 +454,21 @@ and abstraction extensions for scalable software compartmentalization.
\section{Fat Address Translations}
\label{sec:FatPointerTranslations}
Fat-pointer Address Translations, combined with the capabilities of the CHERI (Capability Hardware Enhanced RISC Instructions)
architecture, introduce robust memory safety and security features by incorporating additional metadata
with memory pointers. Fat-pointer Address Translations enhanced architecture utilizes concepts such as FlexPointer~\cite{chen_flexpointer_2023},
Range Memory Mapping (RMM)~\cite{karakostas_redundant_2015} to manage memory effectively.
This section talks about how Fat-pointer Address Translations uses the CHERI architecture to
bring about block based allocations in physically contiguous memory. Fat-pointer Address Translations
leverages techniques like FlexPointer~\cite{chen_flexpointer_2023} and Range Memory Mapping (RMM)~\cite{karakostas_redundant_2015} to
achieve lesser pressure in the TLB. A key component
in this implementation is the use of range addresses with CHERI CC~\cite{woodruff_cheri_2019}.
Range addresses play a pivotal role within the Fat Address Translations implementation, defining memory
regions bounded by a starting address (Upper) and an ending address (Lower).
These range addresses are encoded within FAT-pointers, allowing for precise
control using CHERI CC~\cite{woodruff_cheri_2019} bounds over memory regions to reduce the number of TLB operations needed.
% Fat-pointer Address Translations, combined with the capabilities of the CHERI
% architecture, introduce robust memory safety and security features by incorporating additional metadata
% with memory pointers. Fat-pointer Address Translations enhanced architecture uses concepts such as FlexPointer~\cite{chen_flexpointer_2023},
% Range Memory Mapping (RMM)~\cite{karakostas_redundant_2015} to manage memory effectively.
% Range addresses play a pivotal role within the Fat Address Translations implementation, defining memory
% regions bounded by a starting address (Upper) and an ending address (Lower).
% These range addresses are encoded within FAT-pointers, allowing for precise
% control using CHERI CC~\cite{woodruff_cheri_2019} bounds over memory regions to reduce the number of TLB operations needed.
% The functionality of ranges encompasses several key aspects:
% \begin{itemize}
@@ -486,6 +492,14 @@ control using CHERI CC~\cite{woodruff_cheri_2019} bounds over memory regions to
% \end{minipage}
\end{figure*}
Figure \ref{fig:HighOverviewArchitecture} illustrates a comparison between standard memory allocation (malloc()) and a proposed Fat-pointer Address
Translation method. The standard approach involves a C program interacting with a custom allocator, utilizing 48-bit
free virtual addresses and a TLB walk (L1, L2, L3) to achieve non-contiguous allocation in physical memory.
This typically results in more TLB entries and increased TLB misses increasing the reasoning to have more TLB walks.
In contrast, the Fat-pointer Address Translations method employs a custom allocator leveraging
physically contiguous memory by using CHERI to encode
bounds within the pointers and as show in the figure \ref{fig:HighOverviewArchitecture} there is almost no reliance on walking the TLB.
Figure \ref{fig:HighOverviewArchitecture} illustrates
the methodology employed to use the CHERI
128-bit FAT-pointer scheme for facilitating