added changes to paper FAT pointer section
This commit is contained in:
BIN
docs/EuroSys/Paper/.DS_Store
vendored
BIN
docs/EuroSys/Paper/.DS_Store
vendored
Binary file not shown.
@@ -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}{}{{}}{{}}}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
@@ -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 CHERI’s 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 CHERI’s 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{CHERI’s 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
|
||||
|
||||
Reference in New Issue
Block a user