From 3301b17497e8d4687ae489b6af6abd7470600b60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantin=20F=C3=BCrst?= Date: Tue, 16 Jan 2024 21:56:20 +0100 Subject: [PATCH] write a chunk of implementation chapter --- thesis/bachelor.pdf | Bin 1029575 -> 1051204 bytes thesis/content/50_implementation.tex | 30 +++++++++++++++++++++++++-- thesis/own.gls | 21 +++++++++++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/thesis/bachelor.pdf b/thesis/bachelor.pdf index 7fa03c47c70ddd93a24410adf95643841ea8367c..cbe14de683ac975708c8027250c4a863dd446738 100644 GIT binary patch delta 83179 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%0DI!F5J6}fwQwBPyL0NGiky$}%t8%aRR$9< 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%0DFp)i@!LIm>^tPcW&HFegcm?B!t_yyTa2~M?&wV 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�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 diff --git a/thesis/content/50_implementation.tex b/thesis/content/50_implementation.tex index 075ee44..c6f066b 100644 --- a/thesis/content/50_implementation.tex +++ b/thesis/content/50_implementation.tex @@ -1,5 +1,5 @@ \chapter{Implementation} -\label{sec:implementation} +\label{chap:implementation} % Hier greift man einige wenige, interessante Gesichtspunkte der % Implementierung heraus. Das Kapitel darf nicht mit Dokumentation oder @@ -20,7 +20,33 @@ % nichts zu suchen, auch nicht im Anhang, sondern gehören auf Rechner, % auf denen man sie sich ansehen kann. -\ldots implementation \ldots +\todo{write introductory paragraph} + +\section{Locking and Usage of Atomics} + +As the usage of locking and atomics may have a significant impact on performance, their application will be discussed in detail within this section. \todo{extend introductory paragraph} \par + +\subsection{Cache State Lock} + +To keep track of the current cache state, a map is used internally which associates a memory address to a \texttt{CacheData} instance. In \ref{subsec:design:cache-entry-reuse} we decided to reuse one cache entry for multiple consumers, requiring thread safety when accessing and extending the cache state in \texttt{Cache::Access}, \texttt{Cache::Flush} and \texttt{Cache::Clear}. The latter two both require a unique lock, preventing other calls to \texttt{Cache} from making progress while the operation is being processed. For \texttt{Cache::Access} the use of locking depends upon the caches state. At first only a shared lock is acquired for checking whether the given address already resides in cache, allowing other \texttt{Cache::Access}-operations to also perform this check. If no entry for the region is present, a unique lock is required as well when adding the newly created entry to cache, which however is a rather short operation. \par + +In scenarios where the \texttt{Cache} is frequently tasked with flushing and re-caching by multiple threads accessing large amounts of data, leading to high memory pressure, lock contention around this lock will negatively impact performance by delaying cache access. Due to passive waiting, this impact might be less noticeable when other threads on the system are able to make progress during the wait. \par + +\subsection{CacheData Reference Counting} + +\todo{write this section} + +\subsection{CacheData WaitOnCompletion} + +\todo{write this section} + +\subsection{Performance Guideline} + +The performance impact of lock contention \todo{find a reference for this and use above too} and atomic synchronization \todo{find a reference for this and use above too} is not to be taken lightly, as \texttt{Cache} may be used in performance critical systems. Reducing their impact is therefore desireable which can be achieved in multiple ways. The easiest is to have one instance of \texttt{Cache} per \gls{numa:node} which reduces both lock contention by just serving less threads and atomic synchronization as the atomics are shared between physically close cpu cores \todo{find a reference that shows that physical distance affects sync cost}. This requires no code modification but does not inherently reduce the amount of synchronization taking place. To achieve this reduction, restrictions must be placed upon the thread safety or access guarantees, which is not sensible for this generic implementation. + +\section{Accelerator Usage} + +After \ref{subsec:implementation:accel-usage} the implementation of \texttt{Cache} provided leaves it up to the user to choose a caching and copy method policy which is accomplished through submitting function pointers at initialization of the \texttt{Cache}. In \ref{sec:state:setup-and-config} we configured our system to have separate \gls{numa:node}s for accessing \gls{hbm} which are assigned a \gls{numa:node}-ID by adding eight to the \gls{numa:node}s ID of the \gls{numa:node} that physically contains the \gls{hbm}. Therefore, given \gls{numa:node} 3 accesses some datum, the most efficient placement for the copy would be on \gls{numa:node} \(3 + 8 == 11\). As the \texttt{Cache} is intended for multithreaded usage, conserving accelerator resources is important, so that concurrent cache requests complete quickly. To get high per-copy performance while maintaining low usage, the smart-copy method is selected as described in \ref{sec:perf:datacopy} for larger copies, while small copies under 64 MiB will be handled exclusively by the current node. This size is quite high but due to the overhead of assigning the current thread to the selected nodes, using only the current one is more efficient. This assignment is required due to \gls{intel:dml} not being \gls{numa} aware and therefore assigning submissions only to the \gls{dsa} engine present on the node that the calling thread is assigned to \cite{intel:dmldoc}. \todo{Actually test which size makes sense, due to numa-setaffinity and scheduling overhead this will probably be much higher} \cleardoublepage diff --git a/thesis/own.gls b/thesis/own.gls index 26be809..f55879d 100644 --- a/thesis/own.gls +++ b/thesis/own.gls @@ -94,4 +94,25 @@ long={Intel Data Mover Library}, first={Intel Data Mover Library (Intel DML)}, description={... desc ...} +} + +\newglossaryentry{numa}{ + name={NUMA}, + long={Non Uniform Memory Architecture}, + first={Non Uniform Memory Architecture (NUMA)}, + description={... desc ...} +} + +\newglossaryentry{numa:node}{ + name={Node}, + long={NUMA-Node}, + first={NUMA-Node (Node)}, + description={... desc ...} +} + +\newglossaryentry{hbm}{ + name={HBM}, + long={High Bandwidth Memory}, + first={High Bandwidth Memory (HBM)}, + description={... desc ...} } \ No newline at end of file