diff --git a/tex/draft/background.bib b/tex/draft/background.bib new file mode 100644 index 0000000..5ce8ba8 --- /dev/null +++ b/tex/draft/background.bib @@ -0,0 +1,28 @@ +@inproceedings{!BGW.2010.CDN, + title={Distributed caching algorithms for content distribution networks}, + author={Borst, Sem and Gupta, Varun and Walid, Anwar}, + booktitle={2010 Proceedings IEEE INFOCOM}, + pages={1--9}, + year={2010}, + organization={IEEE} +} + +@article{KD.2002.Akamai_CoordCacheRepl, + title={Coordinated placement and replacement for large-scale distributed caches}, + author={Korupolu, Madhukar R. and Dahlin, Michael}, + journal={IEEE Transactions on Knowledge and Data Engineering}, + volume={14}, + number={6}, + pages={1317--1329}, + year={2002}, + publisher={IEEE} +} + +@misc{Z.2022.Linux_LRU_GEN, + title={Multi-Gen LRU}, + url={https://www.kernel.org/doc/html/v6.6-rc5/mm/multigen_lru.html}, + journal={The Linux Kernel documentation}, + author={Zhao, Yu}, + editor={Alumbaugh, T JEditor}, + year={2022} +} \ No newline at end of file diff --git a/tex/draft/background.md b/tex/draft/background.md new file mode 100644 index 0000000..5138361 --- /dev/null +++ b/tex/draft/background.md @@ -0,0 +1,10 @@ +> A High-Performance Framework for Dynamic Cache-Replacement-Strategy-Selection in Distributed Shared Memory Systems + +# Background +> Various Kinds of (Distributed) Systems (What makes a system "distributed", anyways?) $\rightarrow$ +> (Distributed) Cache Replacement Algorithms (Strategies) $\rightarrow$ +> Limitations to common distributed cache replacement practices in extremely time-sensitive scenarios (like ours) $\rightarrow$ +> Variables that need to be accounted for in cache replacement problms $\rightarrow$ +> Need for dynamic manipulation to cache replacement strategy, which implies probing & measurement & comparison, etc. $\rightarrow$ +> Framework for such a thing, which is what we explore in this paper. + diff --git a/tex/draft/background.pdf b/tex/draft/background.pdf new file mode 100644 index 0000000..f645c90 Binary files /dev/null and b/tex/draft/background.pdf differ diff --git a/tex/draft/background.tex b/tex/draft/background.tex new file mode 100644 index 0000000..9f08082 --- /dev/null +++ b/tex/draft/background.tex @@ -0,0 +1,63 @@ +\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} \ No newline at end of file diff --git a/tex/misc/w4_slides.bib b/tex/main.bib similarity index 99% rename from tex/misc/w4_slides.bib rename to tex/main.bib index ca3361f..1cbd95d 100644 --- a/tex/misc/w4_slides.bib +++ b/tex/main.bib @@ -128,4 +128,4 @@ abstract = {In this paper we describe the way thread migration can be carried in pages={155--169}, year={2000}, organization={Springer} -} +} \ No newline at end of file diff --git a/tex/misc/w4_slides.pdf b/tex/misc/w4_slides.pdf index e5d1983..94d1a72 100644 Binary files a/tex/misc/w4_slides.pdf and b/tex/misc/w4_slides.pdf differ diff --git a/tex/misc/w4_slides.tex b/tex/misc/w4_slides.tex index d53910b..9910d8b 100644 --- a/tex/misc/w4_slides.tex +++ b/tex/misc/w4_slides.tex @@ -6,7 +6,7 @@ \author{Zhengyi Chen} % Amir? \date{\today} -\addbibresource{w4_slides.bib} +\addbibresource{../main.bib} \begin{document} % Title page