63 lines
No EOL
3.1 KiB
TeX
63 lines
No EOL
3.1 KiB
TeX
\documentclass{article}
|
|
\usepackage{biblatex}
|
|
|
|
\title{Thesis Background}
|
|
\author{Zhengyi Chen}
|
|
\date{\today}
|
|
|
|
\addbibresource{../main.bib}
|
|
\addbibresource{background.bib}
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
|
|
% Phil Karlton's famous quote about the 2 hard problems in CS here, maybe.
|
|
|
|
The problem of cache replacement is general to computer systems of all scales and topologies:
|
|
topologically massive systems, such as cellular stations\cite{GWHSZ.2014.CacheReplAsMDP-QLearning}
|
|
and CDNs\cites{EHOFK.2020.IBM-LRUvsFIFO}{!BGW.2010.CDN}{KD.2002.Akamai_CoordCacheRepl}, and
|
|
data-path level implementations for processors\cites{QJPSE.2007.DIP}{JTSE.2010.RRIP}{SYS.2021.RLR}
|
|
alike requires good solutions to maintain and maximize application performance
|
|
to various levels of granularity. On the other hand, the set of feasible/performant solutions
|
|
(i.e., cache replacement policies) to one system may or may not be inspiring to performance
|
|
improvement on another system of different scale, objectives, tasks, constrained by a
|
|
(mostly) different context of available inputs, metadata, etc.
|
|
|
|
We propose a framework for dynamic cache-replacement-strategy selection that balances computation
|
|
cost, optimality, and working-set estimation for each strategy while incurring minimal performance
|
|
penalties for a shared-kernel cooperative Distributed Shared Memory system. (We identify \dots)
|
|
|
|
\section[1]{Existing Cache Replacement Strategies}
|
|
\subsection[1.1]{LRU-derived Algorithms}
|
|
\subsection[1.2]{FIFO-derived Algorithms}
|
|
\subsection[1.3]{Cache Replacement in Processors}
|
|
\subsection[1.4]{Machine Learning and Heuristics}
|
|
|
|
\section[2]{The Cache Replacement Problem}
|
|
|
|
\section[3]{Page Replacement in (SMP or?) Linux}
|
|
%-- But LRU_GEN is interop-ed with an array of other systems,
|
|
% how could we trivially implement alternative page replacement algorithms with maximum feature
|
|
% compliance?
|
|
%
|
|
|
|
% Cache replacement strategies local to its own resources, for example CPU cache line replacement stategies, may not optimally perform cache eviction and
|
|
% replacement for CDNs which (1) center \textit{freqency} over \textit{recency} and (2) could
|
|
% cooperate to utilize a nearby cache with small additional transfer cost\cite{KD.2002.Akamai_CoordCacheRepl}.
|
|
% Orthogonally, cache replacement strategies that perform well on one task might perform less well on
|
|
% another, as implied by \cite{SYS.2021.RLR} among others.
|
|
|
|
% this is the case for Linux's \textit{multi-gen LRU} page replacement algorithm which
|
|
% by default prioritizes memory access via page table to be stored in cache over those via file
|
|
% descriptors (though it dynamically self-adjusts)\cite{Z.2022.Linux_LRU_GEN} -- the kernel developers
|
|
% assume that the former is costlier upon page fault. This is well and good for programs with
|
|
|
|
% This is not to say that some amount of "technological transfer" from cache replacement strategies
|
|
% intended for one specific setting could not be
|
|
|
|
% A performant cache replacement strategy, relative to its hosting
|
|
% system, needs to strike balance between optimality and the necessary computation needed to make a
|
|
% replacement/eviction decision.
|
|
|
|
\printbibliography
|
|
\end{document} |