Preamble for PIM chapter

This commit is contained in:
2024-02-06 16:24:44 +01:00
parent 237f899f99
commit 0c33c99c61
2 changed files with 44 additions and 3 deletions

View File

@@ -1,9 +1,15 @@
\section{Processing-in-Memory}
\label{sec:pim}
% Allgemeiner overview hier...
% wird seit 70ern diskutiert...
% durch DNNs neuer Aufwind...
In the conventional von Neumann architecture, compute is completely separated from memory.
Memory-intensive workloads operate on a large data set, have poor spatial and temporal locality, and low operational density.
As a consequence, the data movement between the memory and compute forms the so-called von Neumann bottleneck \cite{zou2021}.
In the past, this bottleneck was hidden using latency hiding techniques such as out-of-order execution, branch prediction, and multiple layers of cache \cite{radojkovic2021}.
However, new memory-intensive applications, including \acp{dnn}, have led researchers to reconsider \ac{pim} as a new approach to meet future processing demands.
First proposals for \ac{pim} date back to the 1970s, were hindered by the limitations of existing memory systems, but are now experiencing a renaissance \cite{radojkovic2021,ghose2019a}.
In the following, the workloads suitable for \ac{pim} will be discussed in more detail, followed by an overview of the different types of \ac{pim} implementations.
Finally, a number of concrete examples are presented.
\subsection{Applicable Workloads}
\label{sec:pim_workloads}