added new CHERI ssh for file transfer

This commit is contained in:
2025-04-13 23:48:37 +01:00
parent 30f930c920
commit 3bc015f227
11 changed files with 299 additions and 29 deletions

BIN
docs/EuroSys/.DS_Store vendored

Binary file not shown.

View File

@@ -0,0 +1,71 @@
** Changelog
*** General
- [x] Change name (Thinking of using (Fat Address Translation) -> similar to GNU))
- [x] Avoid words which create options
- [x] Use citation with ```~/cite{foo}```
- [x] Clear distinction on Literature review and contribution done
- [x] Generalise capitalisation
- [x] Instead of "Leverage" -> "use"
- [ ] Remove whitespace from figures to be compressed
- [ ] Uniform font sizes in figures
- [ ] Symmetrical lines on the figure
- [x] TLB with acronym only once for the first instance in the paper
*** Abstract (Re-read required later on)
- [x] Reduce Abstract to a single paragraph'
- [x] "Mitigate gap, capacity" -> Expand on for instance on how is it measured.
- [x] Huge pages moved to the introduction.
- [ ] Robs proposed structure (This paper presents <NAME> user-space memory allocator. It uses capability-based addressing to <list properties>.
*** Introduction
- [x] "It becomes possible" expand more with baseline compressed bounds (Relook into this later on).
- [x] "This paper makes the following contribution" -. bullet points with marked sections.
- [x] Research questions removed.
- [x] "This implementation" Specify implementation
- [ ] Robs recommended Introduction structure (Expansion of the abstract, Name of the existing system, clearly describe limitation, Introduce memory allocator).
*** 2.1 Encoding ranges as bounds
- [x] Repetition "Tracking of memory ranges using information in pointers" -> remove this
- [x] Paraphrase last sentence (To be looked into later on again).
*** 2.2 128 bit compressed bounds
- [x] Cites Jemalloc paragraph.
- [x] Last sentence needs rewriting. (Needs re-check)
*** 2.3 Instrumenting block based allocator
- [x] Needs citation "Which increases overhead and adds complexity"
- [x] Elaborate on "this method"
- [x] "precise" memory management (Elaborate on this and prove which aspects of the other allocator are not precise). (Todo be looked later on).
*** Memory allocator design
- [x] Remove from heading "sample" and ":"
- [x] Remove future work paragraph
- [x] "unmapped" -> unmap
- [x] "Risks of memory leaks with metadata lookups or complex data structures" -> Elaborate on this (Commented until further notice).
*** Evaluation
- [x] Name of the project keeps the sentence shorter.
- [x] "Such as" -> Definitive and exhaustive.
- [x] Section reference on evaluation expanded.
- [x] Remove "Providing a solid foundation for meaningful comparisons"
- [x] Decide to use Macro or instead "real world C programs"
- [x] Experiment section typo heading
- [x] Fix Latex benchmarks structure
- [x] Change from "Diagram" to "Figure"
- [x] Result para 2 -> too wordy
- [x] "aimed" first use of past tense (Recommendation: avoid)
- [x] Rewrite usability (Changed to Analysis)
*** Related work
- [x] Related work lifted up after introduction based on the reflection of the feedback.
*** Conclusion
- [x] Rewrite

View File

@@ -0,0 +1,76 @@
** Changelog
*** General
- [x] Change name (Thinking of using (Fat Address Translation) -> similar to GNU))
- [x] Avoid words which create options
- [x] Use citation with ```~/cite{foo}```
- [x] Clear distinction on Literature review and contribution done
- [x] Generalise capitalisation
- [x] Instead of "Leverage" -> "use"
- [ ] Remove whitespace from figures to be compressed
- [ ] Uniform font sizes in figures
- [ ] Symmetrical lines on the figure
- [x] TLB with acronym only once for the first instance in the paper
*** Abstract (Re-read required later on)
- [x] Reduce Abstract to a single paragraph'
- [x] "Mitigate gap, capacity" -> Expand on for instance on how is it measured.
- [x] Huge pages moved to the introduction.
- [ ] Robs proposed structure (This paper presents <NAME> user-space memory allocator. It uses capability-based addressing to <list properties>.
*** Introduction
- [x] "It becomes possible" expand more with baseline compressed bounds (Relook into this later on).
- [x] "This paper makes the following contribution" -. bullet points with marked sections.
- [x] Research questions removed.
- [x] "This implementation" Specify implementation
- [ ] Robs recommended Introduction structure (Expansion of the abstract, Name of the existing system, clearly describe limitation, Introduce memory allocator).
*** 2.1 Encoding ranges as bounds
- [x] Repetition "Tracking of memory ranges using information in pointers" -> remove this
- [x] Paraphrase last sentence (To be looked into later on again).
*** 2.2 128 bit compressed bounds
- [x] Cites Jemalloc paragraph.
- [x] Last sentence needs rewriting. (Needs re-check)
*** 2.3 Instrumenting block based allocator
- [x] Needs citation "Which increases overhead and adds complexity"
- [x] Elaborate on "this method"
- [x] "precise" memory management (Elaborate on this and prove which aspects of the other allocator are not precise). (Todo be looked later on).
*** Memory allocator design
- [x] Remove from heading "sample" and ":"
- [x] Remove future work paragraph
- [x] "unmapped" -> unmap
- [x] "Risks of memory leaks with metadata lookups or complex data structures" -> Elaborate on this (Commented until further notice).
*** Evaluation
- [x] Name of the project keeps the sentence shorter.
- [x] "Such as" -> Definitive and exhaustive.
- [x] Section reference on evaluation expanded.
- [x] Remove "Providing a solid foundation for meaningful comparisons"
- [x] Decide to use Macro or instead "real world C programs"
- [x] Experiment section typo heading
- [x] Fix Latex benchmarks structure
- [x] Change from "Diagram" to "Figure"
- [x] Result para 2 -> too wordy
- [x] "aimed" first use of past tense (Recommendation: avoid)
- [x] Rewrite usability (Changed to Analysis)
*** Related work
- [x] Related work lifted up after introduction based on the reflection of the feedback.
*** Conclusion
- [x] Rewrite
*** Experiment work
- [x] 3 line switch in as mmap in Jemalloc for with sample C program.
- [x] Ported Libc ```shm_large_page``` to a kernel module to ensure multiple large scale allocators can use our implementation.
- [ ] Testing the Ported Libc kernel module (Micro benchmark for TLB stress test)
- [ ] Port this over to Jemalloc

Binary file not shown.

View File

@@ -0,0 +1,117 @@
% Created 2025-04-12 Sat 12:37
% Intended LaTeX compiler: pdflatex
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{capt-of}
\usepackage{hyperref}
\author{Akilan}
\date{\today}
\title{}
\hypersetup{
pdfauthor={Akilan},
pdftitle={},
pdfkeywords={},
pdfsubject={},
pdfcreator={Emacs 30.1 (Org mode 9.7.11)},
pdflang={English}}
\begin{document}
\tableofcontents
\section{Changelog}
\label{sec:orgccfe838}
\subsection{General}
\label{sec:org1309166}
\begin{itemize}
\item Change name (Thinking of using (Fat Address Translation) -> similar to GNU))
\item Avoid words which create options
\item Use citation with ```\textasciitilde{}/cite\{foo\}```
\item Clear distinction on Literature review and contribution done
\item Generalise capitalisation
\item Instead of "Leverage" -> "use"
\item[{$\square$}] Remove whitespace from figures to be compressed
\item[{$\square$}] Uniform font sizes in figures
\item[{$\square$}] Symmetrical lines on the figure
\item TLB with acronym only once for the first instance in the paper
\end{itemize}
\subsection{Abstract (Re-read required later on)}
\label{sec:org8685c9f}
\begin{itemize}
\item Reduce Abstract to a single paragraph'
\item "Mitigate gap, capacity" -> Expand on for instance on how is it measured.
\item Huge pages moved to the introduction.
\item[{$\square$}] Robs proposed structure (This paper presents <NAME> user-space memory allocator. It uses capability-based addressing to <list properties>.
\end{itemize}
\subsection{Introduction}
\label{sec:org53e6522}
\begin{itemize}
\item "It becomes possible" expand more with baseline compressed bounds (Relook into this later on).
\item "This paper makes the following contribution" -. bullet points with marked sections.
\item Research questions removed.
\item "This implementation" Specify implementation
\item[{$\square$}] Robs recommended Introduction structure (Expansion of the abstract, Name of the existing system, clearly describe limitation, Introduce memory allocator).
\end{itemize}
\subsection{2.1 Encoding ranges as bounds}
\label{sec:org87f02f1}
\begin{itemize}
\item Repetition "Tracking of memory ranges using information in pointers" -> remove this
\item Paraphrase last sentence (To be looked into later on again).
\end{itemize}
\subsection{2.2 128 bit compressed bounds}
\label{sec:org767dd8c}
\begin{itemize}
\item Cites Jemalloc paragraph.
\item Last sentence needs rewriting. (Needs re-check)
\end{itemize}
\subsection{2.3 Instrumenting block based allocator}
\label{sec:org727e319}
\begin{itemize}
\item Needs citation "Which increases overhead and adds complexity"
\item Elaborate on "this method"
\item "precise" memory management (Elaborate on this and prove which aspects of the other allocator are not precise). (Todo be looked later on).
\end{itemize}
\subsection{Memory allocator design}
\label{sec:org0a7d2f0}
\begin{itemize}
\item Remove from heading "sample" and ":"
\item Remove future work paragraph
\item "unmapped" -> unmap
\item "Risks of memory leaks with metadata lookups or complex data structures" -> Elaborate on this (Commented until further notice).
\end{itemize}
\subsection{Evaluation}
\label{sec:orgfee80dd}
\begin{itemize}
\item Name of the project keeps the sentence shorter.
\item "Such as" -> Definitive and exhaustive.
\item Section reference on evaluation expanded.
\item Remove "Providing a solid foundation for meaningful comparisons"
\item Decide to use Macro or instead "real world C programs"
\item Experiment section typo heading
\item Fix Latex benchmarks structure
\item Change from "Diagram" to "Figure"
\item Result para 2 -> too wordy
\item "aimed" first use of past tense (Recommendation: avoid)
\item Rewrite usability (Changed to Analysis)
\end{itemize}
\subsection{Related work}
\label{sec:orgeb8e639}
\begin{itemize}
\item Related work lifted up after introduction based on the reflection of the feedback.
\end{itemize}
\subsection{Conclusion}
\label{sec:org1fae2ee}
\begin{itemize}
\item Rewrite
\end{itemize}
\end{document}

View File

@@ -37,8 +37,8 @@
\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 }
\newlabel{sec:128bitCompressedBounds}{{3.2}{3}{128 bit compressed bounds}{subsection.3.2}{}}
\@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}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces FAT Address Translations using huge pages}}{4}{figure.caption.5}\protected@file@percent }
\newlabel{fig:HugePages}{{3}{4}{FAT 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 {section}{\numberline {4}Memory allocator design}{4}{section.4}\protected@file@percent }
\newlabel{sec:MemoryAllocator}{{4}{4}{Memory allocator design}{section.4}{}}
@@ -84,6 +84,7 @@
\bibcite{DirectSegment}{{7}{}{{}}{{}}}
\bibcite{karakostas_redundant_2015}{{8}{}{{}}{{}}}
\bibcite{chen_flexpointer_2023}{{9}{}{{}}{{}}}
\bibcite{jemalloc}{{10}{}{{}}{{}}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Analysis}{8}{subsection.5.4}\protected@file@percent }
\newlabel{sec:Analysis}{{5.4}{8}{Analysis}{subsection.5.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {6}Future work}{8}{section.6}\protected@file@percent }
@@ -91,7 +92,6 @@
\@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{jemalloc}{{10}{}{{}}{{}}}
\bibcite{cheribsd}{{11}{}{{}}{{}}}
\bibcite{Morello}{{12}{}{{}}{{}}}
\bibcite{BenchmarkABI}{{13}{}{{}}{{}}}

View File

@@ -1,13 +1,13 @@
# Fdb version 4
["bibtex paper"] 1744390568.64615 "paper.aux" "paper.bbl" "paper" 1744390570.25362 0
["bibtex paper"] 1744455340.75803 "paper.aux" "paper.bbl" "paper" 1744456830.74161 0
"./paperReferences.bib" 1744390239.54673 46323 d7b94a445857170fc1233321d0322eaa ""
"/usr/local/texlive/2025/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
"paper.aux" 1744390569.9295 7959 ac3c307910c71eb8d23b97795748826d "pdflatex"
"paper.aux" 1744456830.4036 7943 3a71d8669c9ed74685c0a88ee54b183b "pdflatex"
(generated)
"paper.bbl"
"paper.blg"
(rewritten before read)
["pdflatex"] 1744390568.72948 "paper.tex" "paper.pdf" "paper" 1744390570.25376 0
["pdflatex"] 1744456829.19242 "paper.tex" "paper.pdf" "paper" 1744456830.74178 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 ""
@@ -219,10 +219,10 @@
"diagram/TLBAccess.drawio.png" 1744196148.80543 77522 75367f218335fe386db852966a892e9b ""
"diagram/bargraph.png" 1744196148.80607 74263 65509d21744edc6c9ca02b8c67d664fb ""
"diagram/kmeans.png" 1744196148.80901 94217 5d14308c169ff296bf499805b9823aa6 ""
"paper.aux" 1744390569.9295 7959 ac3c307910c71eb8d23b97795748826d "pdflatex"
"paper.bbl" 1744390568.7256 3824 3a7d4db0e425f84ef7bb98164f0eac8f "bibtex paper"
"paper.out" 1744390569.93032 3686 15f71b74083c4eefc68ea70789a0645a "pdflatex"
"paper.tex" 1744390408.3819 80741 a3601392619340c3fa4fcbc30ca1b51c ""
"paper.aux" 1744456830.4036 7943 3a71d8669c9ed74685c0a88ee54b183b "pdflatex"
"paper.bbl" 1744455340.84361 3824 3a7d4db0e425f84ef7bb98164f0eac8f "bibtex paper"
"paper.out" 1744456830.40439 3686 15f71b74083c4eefc68ea70789a0645a "pdflatex"
"paper.tex" 1744455674.22027 80592 8505b39cbc5a5d440ba01cdea5712579 ""
(generated)
"paper.aux"
"paper.log"

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) 11 APR 2025 17:56
This is pdfTeX, Version 3.141592653-2.6-1.40.27 (TeX Live 2025) (preloaded format=pdflatex 2025.4.2) 12 APR 2025 12:20
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@@ -1347,6 +1347,12 @@ LaTeX Font Info: Font shape `T1/LinuxLibertineT-TLF/m/n' will be
[4.4{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_ncsllp.e
nc}{/usr/local/texlive/2025/texmf-dist/fonts/enc/dvips/libertine/lbtn_oexx6f.en
c} <./diagram/TLBAccess.drawio.png>]
Overfull \hbox (2.40372pt too wide) in paragraph at lines 719--723
\T1/LinuxLibertineT-TLF/m/n/9 (-20) loc [[]], Je-mal-loc is the de-fault mem-or
y al-lo-ca-tor for CHERIBSD [[]],
[]
LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/m/it' will be
(Font) scaled to size 9.0pt on input line 833.
@@ -1454,13 +1460,13 @@ Package rerunfilecheck Info: File `paper.out' has not changed.
(rerunfilecheck) Checksum: 15F71B74083C4EEFC68EA70789A0645A;3686.
)
Here is how much of TeX's memory you used:
24024 strings out of 473190
393754 string characters out of 5715801
965870 words of memory out of 5000000
24021 strings out of 473190
393679 string characters out of 5715801
965554 words of memory out of 5000000
46198 multiletter control sequences out of 15000+600000
768597 words of font info for 442 fonts, out of 8000000 for 9000
768332 words of font info for 440 fonts, out of 8000000 for 9000
1302 hyphenation exceptions out of 8191
90i,16n,131p,1002b,804s stack positions out of 10000i,1000n,20000p,200000b,200000s
90i,16n,131p,1002b,808s 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
@@ -1472,7 +1478,7 @@ lic/libertine/LinLibertineTB.pfb></usr/local/texlive/2025/texmf-dist/fonts/type
1/public/libertine/LinLibertineTI.pfb></usr/local/texlive/2025/texmf-dist/fonts
/type1/public/newtx/NewTXMI.pfb></usr/local/texlive/2025/texmf-dist/fonts/type1
/public/newtx/txsys.pfb>
Output written on paper.pdf (9 pages, 714018 bytes).
Output written on paper.pdf (9 pages, 713986 bytes).
PDF statistics:
310 PDF objects out of 1000 (max. 8388607)
260 compressed objects within 3 object streams

Binary file not shown.

View File

@@ -332,7 +332,7 @@ huge pages~\cite{panwar_hawkeye_2019}.
Huge pages, also known as large pages, allow for the allocation of memory in significantly larger chunks
compared to traditional small pages. By reducing the number of TLB entries needed to access a given amount
of memory, Huge pages offer a potential avenue for optimising TLB utilisation by reducing the number
of memory, huge pages offer a potential avenue for optimising TLB utilisation by reducing the number
of entries needed to map large memory regions. This not only decreases the frequency of
TLB misses but also lowers the overhead associated with address translation. By minimising
these bottlenecks, huge pages can improve system performance in aspects such as speeding
@@ -348,7 +348,7 @@ entries required to map extensive memory regions, thereby decreasing TLB misses
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 Addresses Translations}: Introduces fat-pointers that include memory bounds, allowing
\item \textbf{FAT Addresses Translations}: Introduces FAT 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
@@ -495,7 +495,7 @@ in this implementation is the use of range addresses with CHERI CC~\cite{woodruf
Figure \ref{fig:HighOverviewArchitecture} illustrates a comparison between standard memory allocation (malloc()) and a proposed FAT 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 and L3 cache) 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
In contrast, the FAT 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 hierarchy.
@@ -533,7 +533,7 @@ Figure \ref{fig:RangeOfMemory} illustrates a straightforward use-case in which t
large contiguous memory area, or huge page. Within this huge page, the orange and blue lines indicate
two separate memory allocations equivalent to invoking malloc twice to allocate memory in distinct regions.
This scenario simulates a block-based memory allocator operating within the confines of the huge page.
The allocations use the bounds encoded in the FAT-pointer, ensuring tracking of the allocated memory regions.
The allocations use the bounds encoded in the FAT, ensuring tracking of the allocated memory regions.
By using the CHERI bounds, this method maintains the contiguity of the allocated blocks within the huge page.
\subsection{128 bit compressed bounds}
@@ -588,7 +588,7 @@ malloc. Offering a more flexible alternative than fixed-size TLB entries.
\subsection{Instrumenting Block-Based Allocators with Physically Contiguous Memory}
\begin{figure}[h]
\includegraphics[width=0.4\textwidth]{diagram/TLBAccess.drawio.png}
\caption{Fat-pointer Address Translations using huge pages}
\caption{FAT Address Translations using huge pages}
\label{fig:HugePages}
\end{figure}
To build up based on Section ~\ref{sec:RangeMemory} and ~\ref{sec:128bitCompressedBounds}.
@@ -628,7 +628,7 @@ on physically contigous memory.
\section{Memory allocator design}
\label{sec:MemoryAllocator}
This section presents a straightforward memory allocator designed and implemented based on the
principles outlined FAT ~\ref{sec:FatPointerTranslations}. The allocator consists of three core functions: InitAlloc,
principles outlined FAT (section ~\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
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
@@ -656,7 +656,7 @@ function deallocates the memory, returning it to the pool for future use.
\end{algorithm}
When the malloc function (Algorithm \ref{alg:malloc}) is invoked, the algorithm employs an eager allocation strategy for physical memory.
This is achieved through the use of the SetBounds mechanism, which constructs a FAT-pointer specialized
This is achieved through the use of the SetBounds mechanism, which constructs a FAT specialized
pointer that encodes both the start and end addresses of the allocated memory region within the pointer
itself. The start and end addresses correspond to the size of the memory block requested by malloc. This
approach introduces a method of memory tracking, where the bounds of the allocated region are
@@ -665,7 +665,7 @@ explicitly encoded in the address, enabling efficient monitoring and management
Furthermore, this design uses shared huge page TLB entries to map
and track memory addresses. By encoding bounds directly into the address, the algorithm ensures that memory
accesses remain within the allocated region, thereby reducing the risk of out-of-bounds
errors. This use of FAT-pointers and shared TLB entries not only aligns with the principles of
errors. This use of FAT and shared TLB entries not only aligns with the principles of
efficient memory management but also demonstrates a practical usecase of huge pages in CHERI.
\begin{algorithm}
@@ -679,9 +679,9 @@ efficient memory management but also demonstrates a practical usecase of huge pa
\end{algorithmic}
\end{algorithm}
The memory deallocation (Algorithm \ref{alg:free}) mechanism in the proposed allocator is facilitated by the FAT-pointer structure
The memory deallocation (Algorithm \ref{alg:free}) mechanism in the proposed allocator is facilitated by the FAT structure
introduced in the malloc algorithm. When the free function is invoked, it uses the metadata
embedded within the FAT-pointer to determine the range and size of the allocated memory region.
embedded within the FAT to determine the range and size of the allocated memory region.
Specifically, the start and end addresses encoded in FAT to provide the necessary information
to identify the exact memory block to be deallocated. This allows the allocator to unmap
the corresponding memory region from the address space.
@@ -1011,7 +1011,7 @@ to minimize fragmentation.
Comprehensive benchmarking demonstrates that the allocator reduces TLB misses by up to 90\%,
leading to substantial performance gains in memory-intensive workloads, though the improvements are less pronounced
for larger, computation-heavy applications. These results highlight the allocator's potential to advance memory management
by combining enhanced security and performance through CHERI's capability-based model with the use of huge pages.
by repurposing CHERI's capability-based model with the use of huge pages.

View File

@@ -2,5 +2,5 @@ files=`find . -newermt "-3600 secs" | sed 's|^./||'`
for file in $files
do
scp -P 35585 "$file" "akilan@217.76.63.222:/home/akilan/Alloc-Test/CHERI-Allocator/$file"
scp -P 45161 "$file" "akilan@217.76.63.222:/home/akilan/Alloc-Test/CHERI-Allocator/$file"
done