From 96f08fce812619f7937d814cfdea8d5ad8b2e1a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantin=20F=C3=BCrst?= Date: Sun, 21 Jan 2024 17:42:16 +0100 Subject: [PATCH] add figure visualizing public interface of cachedata and cache to chapter 4 design --- thesis/bachelor.pdf | Bin 1253487 -> 1276741 bytes thesis/content/40_design.tex | 14 ++++- thesis/images/design-classdiagram.png | Bin 0 -> 47925 bytes thesis/images/design-classdiagram.xml | 82 ++++++++++++++++++++++++++ 4 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 thesis/images/design-classdiagram.png create mode 100644 thesis/images/design-classdiagram.xml diff --git a/thesis/bachelor.pdf b/thesis/bachelor.pdf index 1ab69b1d4bf8b65fde84036244c65c1d1e0bcd97..00f6bc9084dcdc1597477c78d4ab83624d2cd807 100644 GIT binary patch delta 60795 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≪ljE)sN>3 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­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 delta 37550 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 diff --git a/thesis/content/40_design.tex b/thesis/content/40_design.tex index aba8820..3201bc8 100644 --- a/thesis/content/40_design.tex +++ b/thesis/content/40_design.tex @@ -34,11 +34,21 @@ The task of prefetching is somewhat aligned with that of a cache. As a cache is more generic and allows use beyond Query Driven Prefetching, the choice was made to solve the prefetching offload by implementing an offloading \texttt{Cache}. When referring to the provided implementation, \texttt{Cache} will be used from now on. The interface with \texttt{Cache} must provide three basic functions: requesting a memory block to be cached, accessing a cached memory block and synchronizing cache with the source memory. The latter operation comes in to play when the data that is cached may also be modified, requiring the entry to be updated with the source or the other way around. Due to the many possible setups and use cases, the user should also be responsible for choosing cache placement and the copy method. As re-caching is resource intensive, data should remain in the cache for as long as possible while being removed when memory pressure due to restrictive memory size drives the \texttt{Cache} to flush unused entries. \par +\begin{figure}[h] + \centering + \includegraphics[width=0.9\textwidth]{images/design-classdiagram.png} + \caption{Public Interface of CacheData and Cache Classes} + \label{fig:impl-design-interface} +\end{figure} + +For reference, the public interface which we will develop throughout this section is visualized in Figure \ref{fig:impl-design-interface} for both classes created. Colour coding signals thread safety where grey denotes impossibility for threaded access. Green indicates full safety guarantees only relying on atomics to achieve this. Turquoise functions use locking mechanisms to achieve thread safety. Operations in yellow may observe threading effects from atomics but are still inherently safe to call. Finally, red markers indicate unsafe functions which must be called from a single threaded context. As we implement these classes in C++ in Chapter \ref{chap:implementation}, we also utilize C++-Notation for functions in the figure here.\par + \subsection{Interface} -To allow rapid integration and ease developer workload, a simple interface was chosen. As this work primarily focuses on caching static data, the choice was made only to provide cache invalidation and not synchronization. Given a memory address, \texttt{Cache::Invalidate} will remove all entries for it. The other two operations are provided in one single function, which we shall call \texttt{Cache::Access} henceforth, receiving a data pointer and size it takes care of either submitting a caching operation if the pointer received is not yet cached or returning the cache entry if it is. The cache placement and assignment of the task to accelerators are controlled by the user. In addition to the two basic operations outlined before, the user also is given the option to flush the cache using \texttt{Cache::Flush} of unused elements manually or to clear it completely with \texttt{Cache::Clear}. \par -As caching is performed asynchronously, the user may wish to wait on the operation. This would be beneficial if there are other threads making progress in parallel while the current thread waits on its data becoming available in the faster cache, speeding up local computation. To achieve this, the \texttt{Cache::Access} will return an instance of an object which from hereinafter will be referred to as \texttt{CacheData}. Through \texttt{CacheData::GetDataLocation} a pointer to the cached data will be retrieved, while also providing \texttt{CacheData::WaitOnCompletion} which must only return when the caching operation has completed and during which the current thread is put to sleep, allowing other threads to progress. \par +To allow rapid integration and ease developer workload, a simple interface was chosen. As this work primarily focuses on caching static data, the choice was made only to provide cache invalidation and not synchronization. Given a memory address, \texttt{Cache::Invalidate} will remove all entries for it. The other two operations are provided in one single function, which we shall call \texttt{Cache::Access} henceforth, receiving a data pointer and size it takes care of either submitting a caching operation if the pointer received is not yet cached or returning the cache entry if it is. The cache placement and assignment of the task to accelerators are controlled by the user. In addition to the two basic operations outlined before, the user also is given the option to flush the cache using \texttt{Cache::Flush} of unused elements manually or to clear it completely with \texttt{Cache::Clear}. This interface is represented on the right block of Figure \ref{fig:impl-design-interface} labelled \enquote{Cache}. \par + +As caching is performed asynchronously, the user may wish to wait on the operation. This would be beneficial if there are other threads making progress in parallel while the current thread waits on its data becoming available in the faster cache, speeding up local computation. To achieve this, the \texttt{Cache::Access} will return an instance of an object which from hereinafter will be referred to as \texttt{CacheData}. Through \texttt{CacheData::GetDataLocation} a pointer to the cached data will be retrieved, while also providing \texttt{CacheData::WaitOnCompletion} which must only return when the caching operation has completed and during which the current thread is put to sleep, allowing other threads to progress. Figure \ref{fig:impl-design-interface} also documents the public interface for \texttt{CacheData} on the left block labelled as such. \par \subsection{Cache Entry Reuse} \label{subsec:design:cache-entry-reuse} diff --git a/thesis/images/design-classdiagram.png b/thesis/images/design-classdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..c42f89654faf14415d623cec2e84b68e3d7fedb7 GIT binary patch literal 47925 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 hRt0-6AB7H7==;Dd6=b0#LtzDt9 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 literal 0 HcmV?d00001 diff --git a/thesis/images/design-classdiagram.xml b/thesis/images/design-classdiagram.xml new file mode 100644 index 0000000..f70f6ab --- /dev/null +++ b/thesis/images/design-classdiagram.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +