From 38fba031e332b0ada22e2144461532a2b11c33bf Mon Sep 17 00:00:00 2001 From: Andre Meyering Date: Mon, 4 Dec 2017 09:08:07 +0100 Subject: [PATCH] =?UTF-8?q?[Speicher]=20Erg=C3=A4nze=20LFU-Strategie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Kapitel/03_Speicher.tex | 38 ++++++++++++++++++++++-- Rechnerarchitektur_Roethig_Skript_AM.tex | 1 + 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/Kapitel/03_Speicher.tex b/Kapitel/03_Speicher.tex index fbc1c52..d0a86cb 100644 --- a/Kapitel/03_Speicher.tex +++ b/Kapitel/03_Speicher.tex @@ -559,7 +559,7 @@ Verwaltung der \acsp{CL} als einfach verwaltete Liste, \dash Zeiger auf den Nach Ständig genutzte Datenstücke werden genauso schnell verdrängt wie Daten, die nur ein einziges Mal gebraucht werden. Anders gesagt: Daten, die lange nicht benötigt wurden, werden auch nicht schneller verdrängt, als Daten, die genauso lange im Cache sind, aber erst kürzlich gebraucht wurden. \subsubsection{Least-Recently-Used (LRU)} -Bei der \acf{LRU}-Strategie wird die \acl{HSS}, auf welche am längsten nicht zugegriffen wurde, verdrängt. +Bei der \acf{LRU} Strategie wird die \acl{HSS}, auf welche am längsten nicht zugegriffen wurde, verdrängt. \textit{Aufwand}: \newline Timestamp mit Update bei jedem Zugriff $\Rightarrow$ Die Suche bei Verdrängung ist zu aufwändig @@ -568,4 +568,38 @@ Timestamp mit Update bei jedem Zugriff $\Rightarrow$ Die Suche bei Verdrängung Verwaltung als \textit{doppelt} verkettete Liste, \dash Zeiger auf Vorgänger \textit{und} Nachfolger in jeder \acs{CL}. Globalen Zeiger auf ersten und letzten Eintrag. \textit{Schlecht unterstützte Zugriffsmuster}: \newline -Häufigkeit der Zugriffe wird nicht berücksichtigt, \dash vielfach genutzte \aclp{HSS} werden genauso verdrängt wie \acs{HSS} mit nur einem Zugriff) \ No newline at end of file +Häufigkeit der Zugriffe wird nicht berücksichtigt, \dash vielfach genutzte \aclp{HSS} werden genauso verdrängt wie \acs{HSS} mit nur einem Zugriff) + +\subsubsection{Least-Frequently-Used (LFU)} +Bei der \acf{LFU} Strategie wird die \acl{HSS} verdrängt, welche bisher am seltensten (\enquote{am wenigsten häufig}) verwendet wurde. + +\columnratio{0.35} +\begin{paracol}{2} + \textit{Aufwand (für Statusinfo):} + \begin{itemize}[noitemsep] + \item Benutzungszähler + \item Einlagerungszeit + \end{itemize} + \switchcolumn + \medskip + Häufigkeit=$\frac{\text{Zugriffe}}{\text{Zeit}}$ + + $\Rightarrow$ Bei Verdrängung aufwändige Berechnung und Suche +\end{paracol} + +\newpage % Nur für's Layout + +\textit{Problem (Zugriffsmuster)}: \newline +Neu eingelagerte Seiten werden schnell wieder verdrängt, wenn sich der Zugriffszähler am Anfang nicht schnell genug erhöht und andere etablierte Seiten eine höhere Häufigkeit aufgrund vieler \enquote{alter} Zugriffe aufweisen. + +\textit{Lösungsansatz}: \newline +Zugriffe müssen \enquote{altern}, \dash alte Zugriffe werden weniger stark gewichtet als neue Zugriffe. + +\textit{Mögliche Implementierung}: \newline +Mehrere Zugriffszähler in jeder \acs{CL} für die letzten $i$ Zeitscheiben. +Dividieren ist damit überflüssig (alle Zeitscheiben sind gleich lang): Addition der mit $2^j$ gewichteten Zähler als \enquote{Häufigkeit} ($j=i-1$ für jüngste Zeitscheiben, $j=0$ für älteste Zeitscheibe). + +\textit{Weiterhin}: \newline +Bei der Verdrängung gibt ein Problem bei der Suche nach der niedrigsten \enquote{Häufigkeit}. \newline +$\Rightarrow$ evtl. Lösung über eine bei Beginn jedes Zeitslots neu aufzubauende verkettete Liste. \newline +\phantom{$\Rightarrow$ }Hier gibt es viel Platz für Optimierungen der \acs{CPU}-Hersteller. diff --git a/Rechnerarchitektur_Roethig_Skript_AM.tex b/Rechnerarchitektur_Roethig_Skript_AM.tex index d08c5a7..8faa8cf 100644 --- a/Rechnerarchitektur_Roethig_Skript_AM.tex +++ b/Rechnerarchitektur_Roethig_Skript_AM.tex @@ -63,6 +63,7 @@ \acro{HSS}{Hauptspeicherseite} \acrodefplural{HSS}[HSS]{Hauptspeicherseiten} \acro{HW}{Hardware} + \acro{LFU}{Least-Frequently-Used} \acro{LRU}{Least-Recently-Used} \acro{LW}{Laufwerk} \acro{PC}{Personal Computer}