• Keine Ergebnisse gefunden

Effiziente Algorithmen Kapitel 6 Online-Algorithmen Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Effiziente Algorithmen Kapitel 6 Online-Algorithmen Walter Unger"

Copied!
58
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Effiziente Algorithmen

Kapitel 6 Online-Algorithmen

Walter Unger

Lehrstuhl für Informatik 1

08.06.2012 14:01

(2)

Einleitung File-Allocation-Problem Paging-Problem

(6:2) <> Walter Unger 8.6.2012 14:06 SS2012 Zx

Inhalt I

1 Einleitung Motivation Beispiele Definitionen

2 File-Allocation-Problem Einleitung Obere Schranke Untere Schranke

3 Paging-Problem Einleitung Marking-Algorithmus Nicht-competitive Algorithmen Untere Schranke

Competitive Analyse für Zufallsalgorithmen Randomisierter Marking-Algorithmus Online-Algorithmus mit Vorteil

(3)

Einleitung File-Allocation-Problem Paging-Problem

Motivation (6:1) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Einleitung

Bisher bekam ein Algorithmus die komplette Eingabe.

Muss aber in der Praxis oft aber nicht möglich sein:

Neuer Kunde für den Handlungsreisenden.

Neuer Prozess auf Rechner.

Neue Frage in einer Prüfung.

Daher unterscheiden wir:

Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.

Online:

Der Algorithmus bekommt die Eingabe in Stücken.

Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.

Getroffene Entscheidungen können nicht geändert werden.

(4)

Einleitung File-Allocation-Problem Paging-Problem

Beispiele (6:2) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Die folgenden beiden Beispiele zeigen, wie bei gewissen Problemen ein Online Algorithmus beliebig grosse Fehler machen kann.

Im ersten Beispiel sieht man wie man bei der Online Färbung eines Baums beliebig viele Farben notwendig werden.

Das zweite Beispiel zeigt, wie der Online Algorithmus eine stabile Menge der Größe 1 wählt, während das die optimal stabile Menge ausn−1 vielen Knoten besteht.

(5)

Einleitung File-Allocation-Problem Paging-Problem

Beispiele (6:4) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Beispiel: Online-Graphfärbung

Schritt 1:

a1 a2 a3 a4

Schritt 2:

a1 a2 a3 a4

b1 b2 b3 b4

Schritt 3:

a1 a2 a3 a4

b1 b2 b3 b4

c1 c2 c3 c4

Schritt 4:

a1 a2 a3 a4

b1 b2 b3 b4

c1 c2 c3 c4 a5

(6)

Einleitung File-Allocation-Problem Paging-Problem

Beispiele (6:6) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Beispiel: Online Stabile Menge

Schritt 1: a1 a2 a3

Schritt 2: a1 a2 a3 a4 a5

Schritt 3: a1 a2 a3 a4 a5 a6

Schritt 4:

a1 a2 a3 a4 a5 a6

b1 b2 b3 b4 b5 b6

(7)

Einleitung File-Allocation-Problem Paging-Problem

Definitionen (6:7) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Definition

Definition

Seiρ=ρ1, ρ2, ρ3, . . . , ρmeine Eingabesequenz für ein ProblemΠ.

Ein AlgorithmusAist ein Online-Algorithmus, wenn:

Imi-ten Schritt die Eingabe vonρi erfolgt.

Amuss aufρ1...i=ρ1, ρ2, ρ3, . . . , ρi eine Lösung fürΠangeben.

Dabei darf die Entscheidung vonAaufρ1...i−1=ρ1, ρ2, ρ3, . . . , ρi−1

nicht verändert werden.

(8)

Einleitung File-Allocation-Problem Paging-Problem

Definitionen (6:8) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Definition

Definition

SeiAein Online-Algorithmus undCA(ρ)die Kosten der vonA berechneten Strategie auf Eingabesequenzρ.

SeienC(ρ)die Kosten für eine optimale Strategie.

Dann istAc-competitive, falls es eine Konstanteagibt, so dass für jede Eingabesequenzρgilt:

CA6c·C(ρ) +a.

(9)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:9) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Problembeschreibung

Betrachte Datei in einem Netzwerk.

Viele Nutzer wollen diese lesen.

Viele Nutzer können diese lesen.

Zur Verbesserung der Zugriffsgeschwindigkeit könnten mehrere Kopien im Netz gehalten werden.

Die Migration der Datei erzeugt Kosten.

Damit haben wir das File-Allocation-Problem (FAP).

Ziel: Entwicklung eines guten Online-Algorithmus das File-Allocation-Problem.

(10)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:10) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Beschreibung der Situation

Wir betrachten System aus zwei Rechnerna,b (Knoten).

a b

Damit sind die folgenden Konfigurationen möglich:

[a]: die Datei ist nur auf Knotena.

a b

[b]: die Datei ist nur auf Knotenb.

a b

[a,b]: die Datei ist auf beiden Knoten.

a b

Die Eingabesequenzρ=ρ1, ρ2, ρ3, . . . , ρmbesteht aus Anfragen:

ρi =r(v): Knotenv ∈ {a,b}will Datei lesen oder ρi =w(v): Knotenv∈ {a,b}will Datei schreiben.

(11)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:11) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Die im folgende beschriebenen Kosten können am einfachsten mit folgenden Modell veranschaulicht werden.

Die Größe der Datei istD.

Wenn ein Teil der Datei gelesen werden soll und der Leser hat keine Kopie, so muss dieser Teil angefordert werden. Es entstehen Servicekosten.

Wenn ein Teil der Datei geschrieben werden soll und der Leser hat keine Kopie, so muss dieser Teil angefordert und die Änderungen

zurückgeschickt werden. Es entstehen Servicekosten.

Wenn ein Teil der Datei geschrieben werden soll und beide Leser haben eine Kopie, so müssen die Änderungen weitergereicht werden. Es entstehen Servicekosten.

Wenn nur ein Leser die Kopie hat und es sollen beide Leser eine Kopie erhalten, so muss die gesammte Datei übertragen werden. Es entstehen Migrationskosten vonD.

(12)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:12) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Beschreibung der Situation (Kosten)

Die Kosten entstehen an zwei Stellen (Möglichkeiten):

Servicekosten von 1 durch Anfragen der folgenden Art:

Fallsρi=r(v)in der Konfiguration[x]mitx 6=v.

r(a): a b

Fallsρi=w(v)in der Konfiguration[a,b]oder[x]fallsx 6=v. w(a): a b

w(a): a b

Migrationskosten vonDdurch eine Anpassung nach der Anfrage:

Falls der Algorithmus aus der Konfiguration[x]in die Konfiguration [a,b]geht.

a b =⇒ a b

In diesem Fall muss die ganze Datei übertragen werden, daher KostenD.

Hier nehmen wir an:D=1.

(13)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:13) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Überblick zu den Kosten

Kosten ohne Migration bei Folge von gleichen Anfragen:

r(a)k r(b)k w(a)k w(b)k

[a] 0 k 0 k

[b] k 0 k 0

[a,b] 0 0 k k

Wenn wir einen konstanten competitiven Faktor wollen so müssen wir migrieren:

Von[a,b]nach[a], falls eine Anfragew(a)erfolgt.

Von[a,b]nach[b], falls eine Anfragew(b)erfolgt.

Von[a]nach[b]oder[a,b], falls eine Anfrager(b)erfolgt.

Von[b]nach[a]oder[a,b], falls eine Anfrager(a)erfolgt.

Die Konfiguration[a,b]ist dabei scheinbar zu bevorzugen.

(14)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:14) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Bemerkungen zur Situation

Ein Gegner (Adversary) kann einen Online-Algorithmus für das File-Allocation-Problem zu beliebig hohen Kosten zwingen.

Anfragefolge:ρ=w(a),w(b),w(a),w(b),w(a),w(b),w(a),w(b), . . ..

Dann hat aber der Offline Algorithmus auch hohe Kosten.

Im Folgenden werden wir zeigen, ein einfacher Algorithmus hat schon einen competitive Faktor von 3.

Idee: Der Algorithmus versucht, möglichst in die Konfiguration[a,b]zu kommen.

Danach schätzen wir die notwendigen Kosten ab.

(15)

Einleitung File-Allocation-Problem Paging-Problem

Obere Schranke (6:15) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Online-Algorithmus für FAP

CA6c·C(ρ) +a

Der Algorithmus befolgt die folgenden Regeln:

1 Falls eine Anfrageρi∈ {r(v),w(v)}in der Konfiguration[x]mit x 6=v kommt, gehe in die Konfiguration[a,b].

r(a): a b =⇒ a b

w(a): a b =⇒ a b

2 Falls eine Anfrageρi=w(v)in der Konfiguration[a,b]kommt, gehe in die Konfiguration[v].

w(a): a b =⇒ a b 3 Gehe Initial sofort in die Konfiguration[a,b].

Initial: a b

Die Kosten im ersten Fall sind 2, eine Einheit für die Anfrage und eine Einheit für die Migration.

Die Kosten im zweiten Fall sind 1, eine Einheit für die Anfrage (Löschen kostet hier nichts).

Die initialen Kosten erhöhen den Faktorc nicht.

(16)

Einleitung File-Allocation-Problem Paging-Problem

Obere Schranke (6:16) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Güte des Verfahrens

CA6c·C(ρ) +a

Theorem

Das obige Verfahren ist 3-competitive.

Beweis:

Der Algorithmus startet in der Konfiguration[a,b].

Der erste Konfigurationswechsel erfolgt erst durch eine Anfrage der Form w(v).

Sei also[v]die zweite Konfiguration.

Nun kann die nächste neue Konfiguration nur[a,b]sein, ausgelöst durch eine Anfrager(x)oderw(x)mitx 6=v.

Es gibt keine direkten Konfigurationswechsel der Form[a]→[b]oder [b]→[a].

Alle direkten Übergänge sind von der Form[v]→[a,b]oder[a,b]→[u]

fürv,u∈ {a,b}.

(17)

Einleitung File-Allocation-Problem Paging-Problem

Obere Schranke (6:17) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis (Einteilung in Phasen)

CA6c·C(ρ) +a

Damit erhalten wir die folgende Konfigurationsfolge:

[a,b]+[v1]+[a,b]+[v2]+[a,b]+[v3]+[a,b]+. . .

mitvi ∈ {a,b}.

Die Teilsequenzen maximaler Länge der Form[a]+,[b]+ oder[a,b]+ nennen wir Phasen.

Teilsequenzen maximaler Länge der Form[vi]+[a,b]+ nennen wir Doppelphase.

Eine[a]+oder[b]+ Phase wird durch einen Schreibzugriff ausgelöst.

Eine[a,b]+wird durch einen Lese- oder Schreibzugriff ausgelöst.

Damit hat die Sequenz die Form:[a,b]+([vi]+[a,b]+)+. Betrachten wir im Folgenden die Kosten.

(18)

Einleitung File-Allocation-Problem Paging-Problem

Obere Schranke (6:18) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis (Vergleich der Kosten)

CA6c·C(ρ) +a

Innerhalb einer Phase treten keine Kosten auf.

Eine Doppelphase[vi]+[a,b]+ hat Kosten 3:

Die Doppelphase wird durch einen Schreibzugriff aufvi ausgelöst.

Es fallen nur die Servicekosten von 1 an.

Beim Übergang von[vi]auf[a,b]entstehen Servicekosten 1 und Mirgrationskosten 1.

Nun zeigen wir, dass jeder Algorithmus mindestens Kosten 1 hat.

Nehmen wir an, dass ein Algorithmus keine Kosten hat.

D.h. der Algorithmus startet die Doppelphase in Konfiguration[vi].

Ohne Kosten zu erzeugen, bleibt der Algorithmus in dieser Konfiguration.

Damit kann er aber die Anfrager(x)oderw(x)(x 6=vi) zu Beginn des zweiten Teils der Doppelphase nicht erfüllen.

(19)

Einleitung File-Allocation-Problem Paging-Problem

Untere Schranke (6:19) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Aussage

CA6c·C(ρ) +a

Theorem

Jeder deterministische Online-Algorithmus hat einen Competitive-Faktor von

>3für uniformes FAP auf zwei Knoten.

Beweis:

Zeige: Für jeden beliebigen Online-AlgorithmusAgibt es eine Eingabesequenzρmit:CA(ρ)>3·C(ρ).

Die Eingabesequenzρwird die Formw(v1),w(v2),w(v3), . . .haben.

Auf derartigen Sequenzen können die Kosten nicht durch die Konfiguration[a,b]reduziert werden.

Beweisidee: Transformiere einen Online-Algorithmus A, der Konfigurationen[a,b]verwendet,

in einen Online-Algorithmus B, der nur die Konfigurationen[a]und [b]verwendet ohne die Kosten zu vergrößern.

Fallsρnur aus Schreibzugriffen besteht, geht das (Siehe Folie: 13).

(20)

Einleitung File-Allocation-Problem Paging-Problem

Untere Schranke (6:20) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis

CA6c·C(ρ) +a

O.B.d.A. verwendetAnur die Konfigurationen[a]und[b].

Die gesuchte gegnerische Eingabesequenzρ0 ist wie folgt definiert:

FallsAin der Konfiguration[x]ist, stellt der Gegner die Anfrage w(y)mity 6=x.

Nun betrachte die folgenden drei Strategien:

Strategie 1: hält eine Kopie auf Knotena.

Strategie 2: hält eine Kopie auf Knotenb.

Strategie 3: hält immer eine Kopie auf demjenigen Knoten, auf dem A keine Kopie hält.

(21)

Einleitung File-Allocation-Problem Paging-Problem

Untere Schranke (6:21) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis (Kosten der Strategien)

CA6c·C(ρ) +a

Strategie 1: hält eine Kopie auf Knotena.

Strategie 2: hält eine Kopie auf Knotenb.

Strategie 3: hält immer eine Kopie auf demjenigen Knoten, auf dem A keine Kopie hält.

Strategien 1 und 2 arbeiten ohne Migrationskosten.

Strategie 3 hat dieselben Migrationskosten wieA.

Strategien 1 und 2 verursachen zusammen genau eine Einheit Servicekosten pro Schritt.

Strategie 1 hat Servicekosten, genau dann, wenn Strategie 2 keine Servicekosten hat.

Strategie 3 erzeugt keine Servicekosten.

Strategie 3 ist genau invers zuAund die gegnerische Eingabesequenz ist auch genau invers zuA

Damit erzeugtAauch immer Servicekosten.

(22)

Einleitung File-Allocation-Problem Paging-Problem

Untere Schranke (6:22) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

CA6c·C(ρ) +a

Beweis (Zusammenfassung)

Die Migrations- und Servicekosten von den drei Strategien sind genau so groß wie die vonA.

CA0) =C10) +C20) +C30).

CA(ρ)>C(ρ).

Ci(ρ)>C(ρ)füri∈ {1,2,3}.

Damit erhalten wir:

CA(ρ)>3·C(ρ).

Damit istAbestenfalls 3-competitive.

(23)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:23) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Einleitung

CA6c·C(ρ) +a

Computer haben mehrschichtige Speichersysteme.

Wir betrachten hier stellvertretend ein zweischichtiges Speichersystem:

Bestehend aus einem großen Hauptspeicher und einem schnellen kleineren Speicher (Cache).

Der Cache hat Platz fürk Speicherseiten.

Eine Anfraget entspricht jeweils einer Seite.

Falls Seitetnicht im Cache ist (Seitenfehler), so muss Seitet nachgeladen werden.

Falls der Cache voll ist, muss eine andere Seite verdrängt werden.

Ein Online-Paging-Algorithmus muss entscheiden, welche Seite verdrängt wird.

(24)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:24) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Einleitendes Beispiel (k = 5)

Größe des Cache:k

ρ1=1 1 ρ1=1

ρ2=2 1 2 ρ2=2

ρ3=3 1 2 3 ρ3=3

ρ4=4 1 2 3 4 ρ4=4

1 2 3 4

ρ5=2

ρ6=5 1 2 3 4 5 ρ6=5

ρ7=6 6 2 3 4 5 ρ7=6

ρ8=7 6 7 3 4 5 ρ8=7

ρ9=8 6 7 8 4 5 ρ9=8

6 7 8 4 5

ρ10=7

6 7 8 4 5

ρ11=6

ρ12=9 6 7 8 9 5 ρ12=9

ρ13=1 1 7 8 9 5 ρ13=1

ρ14=2 1 2 8 9 5 ρ14=2

1 2 8 9 5

ρ15=9

ρ16=3 1 2 3 9 5 ρ16=3

ρ17=4 1 2 3 4 5 ρ17=4

1 2 3 4 5

ρ18=5

ρ19=6 6 2 3 4 5 ρ19=6

6 2 3 4 5

ρ20=5

ρ21=7 6 7 3 4 5 ρ21=7

6 7 3 4 5

ρ22=5

ρ23=8 6 7 8 4 5 ρ23=8

ρ24=9 6 7 8 9 5 ρ24=9

(25)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:25) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

Verfahren

Größe des Cache:k 1 LRU (Least Recently Used):

verdränge diejenige Seite, deren letzter Zugriff am längsten zurückliegt.

2 LF U (Least Frequently Used):

verdränge diejenige Seite, die am seltensten nachgefragt wurde.

3 F IF O(First In First Out):

verdränge diejenige Seite, die sich am längsten im Cache befindet.

4 LIF O (Last In First Out):

verdränge diejenige Seite, die als letztes in den Cache geladen wurde.

5 RAN DOM:

verdränge eine uniform zufällig ausgewählte Seite aus dem Cache.

6 F WF (Flush When Full):

entleere den Cache vollständig, falls eine Seite verdrängt werden muss.

7 LF D (Longest Forward Distance):

verdränge diejenige Seite, deren nächster Zugriff am weitesten in der Zukunft liegt

(26)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:26) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

Bemerkungen

Größe des Cache:k

Das letzte dieser Verfahren ist kein Online-Verfahren.

Aber dieses letzte Verfahren ist das optimale Verfahren.

Im folgenden wird gezeigt:

Deterministische Verfahren liefern keine guten Competitive-Faktoren.

Randomisierte Online-Algorithmen haben wesentlich bessere Competitive-Faktoren.

Wichtig ist dabei, dass die Zufallsbits nicht dem Gegner gekannt werden.

Ansonsten könnte der Gegner den Online-Algorithmus “reinlegen”.

(27)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:27) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

Beispiel zu LRU (k = 4)

Größe des Cache:k

ρ1=1 1

ρ1=1

ρ2=2 1 2

ρ2=2

ρ3=3 1 2 3

ρ3=3

ρ4=4 1 2 3 4

ρ4=4

1 2 3 4

ρ5=2

ρ6=5 5 2 3 4

ρ6=5

ρ7=6 5 2 6 4

ρ7=6

5 2 6 4

ρ8=5

ρ9=7 5 2 6 7

ρ9=7

ρ10=8 5 8 6 7

ρ10=8

5 8 6 7

ρ11=6

5 8 6 7

ρ12=6

ρ13=1 1 8 6 7

ρ13=1

ρ14=2 1 8 6 2

ρ14=2

1 8 6 2

ρ15=2

ρ16=3 1 3 6 2

ρ16=3

ρ17=4 1 3 4 2

ρ17=4

1 3 4 2

ρ18=3

ρ19=6 6 3 4 2

ρ19=6

ρ20=7 6 3 4 7

ρ20=7

6 3 4 7

ρ21=3

ρ22=8 6 3 8 7

ρ22=8

ρ23=9 9 3 8 7

ρ23=9

9 3 8 7

ρ24=9

(28)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:28) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

Beispiel zu F WF (k = 4)

Größe des Cache:k

ρ1=1 1

ρ1=1

ρ2=2 1 2

ρ2=2

ρ3=3 1 2 3

ρ3=3

ρ4=4 1 2 3 4

ρ4=4

1 2 3 4

ρ5=3

1 2 3 4

ρ6=1

ρ7=5 5

ρ7=5

ρ8=2 5 2

ρ8=2

5 2

ρ9=5

ρ10=4 5 2 4

ρ10=4

ρ11=8 5 2 4 8

ρ11=8

5 2 4 8

ρ12=2

ρ13=1 1

ρ13=1

ρ14=7 1 7

ρ14=7

ρ15=4 1 7 4

ρ15=4

ρ16=8 1 7 4 8

ρ16=8

1 7 4 8

ρ17=4

ρ18=6 6

ρ18=6

ρ19=7 6 7

ρ19=7

ρ20=5 6 7 5

ρ20=5

ρ21=8 6 7 5 8

ρ21=8

ρ22=9 9

ρ22=9 9 ρ23=9

ρ24=5 9 5

ρ24=5

(29)

Einleitung File-Allocation-Problem Paging-Problem

Einleitung (6:29) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

Beispiel zu LRU und F WF (k = 4)

Größe des Cache:k

ρ1=1 1

ρ1=1

ρ2=2 1 2

ρ2=2

ρ3=3 1 2 3

ρ3=3

ρ4=4 1 2 3 4

ρ4=4

ρ5=5 5 2 3 4

ρ5=5

ρ6=6 5 6 3 4

ρ6=6

ρ7=7 5 6 7 4

ρ7=7

ρ8=8 5 6 7 8

ρ8=8

ρ9=1 1 6 7 8

ρ9=1

ρ10=2 1 2 7 8

ρ10=2

ρ1=1 1

ρ1=1

ρ2=2 1 2

ρ2=2

ρ3=3 1 2 3

ρ3=3

ρ4=4 1 2 3 4

ρ4=4

ρ5=5 5

ρ5=5

ρ6=6 5 6

ρ6=6

ρ7=7 5 6 7

ρ7=7

ρ8=8 5 6 7 8

ρ8=8

ρ9=1 1

ρ9=1

ρ10=2 1 2

ρ10=2

(30)

Einleitung File-Allocation-Problem Paging-Problem

Marking-Algorithmus (6:30) <> Walter Unger 8.6.2012 14:06 SS2012 Zw

Um den competitive Faktor eines Paging Verfahrens zu bestimmen, müssen wir unbedingt notwendige Seitenauslagerungen erkennen.

Dazu wird im Folgenden ein Marking beschrieben.

Wenn eine Teilfolge der Eingabek+1 verschiedene Seitenzugriffe enthält, dann muss jedes Paging Verfahren einen Seitenfehler machen.

Daher teilen wir die Eingabesequenz in maximale Phasen auf, diek verschiedene Seitenzugriffe enthalten.

Danach markieren wir in jeder Phase den erstmaligen Zugriff auf eine Seite.

Eine markierte Seite bleibt bis zu Ende der Phase markiert.

Phasen und Markierungen hängen nur von der Eingabesequenz ab.

Wir können nun die Verfahren in zwei Klassen einteilen.

Die Verfahren die nie ein markierte Seite verdrängen.

Die Verfahren die auch markierte Seite verdrängen.

(31)

Einleitung File-Allocation-Problem Paging-Problem

Marking-Algorithmus (6:31) <> Walter Unger 8.6.2012 14:06 SS2012 Zw

Beschreibung eines Markings

Größe des Cache:k

Der Cache hatkSeiten.

Die Anfragesequenzρj∈Nwird wie folgt ink-Phasen aufgeteilt:

Setzep0=0.

Phasei: Maximale Teilsequenzρ(pi−1+1)...(pi), die auf höchstensk verschiedene Seiten zugreift.

D.h. Wählepi maximal mit:|{ρi |pi−1<i 6pi}|6k.

Eine Seites ist markiert zum Zeitpunkttfalls:

∃i,j: pi−1<jρj=s6tt6pi.

pi−1 j pi

s

D.h. Zu Beginn einer Phase sind alle Seiten unmarkiert. Sobald auf eine Seite zugegriffen wird, ist diese bis zum Ende der Phase markiert.

Definition (Marking-Algorithmus)

Ein Paging Algorithmus heißt Marking-Algorithmus, falls er nie eine markierte Seite verdrängt.

(32)

Einleitung File-Allocation-Problem Paging-Problem

Marking-Algorithmus (6:32) <> Walter Unger 8.6.2012 14:06 SS2012 Zg

Beispiel zum Marking (k = 4)

Größe des Cache:k

p0 ρρ11==11 1 ρ2=2 1 2 ρ2=2

ρ3=3 1 2 3 ρ3=3

ρ4=4 1 2 3 4 ρ4=4

1 2 3 4

ρ5=2 p1

ρ6=5 5 2 3 4 ρ6=5

ρ7=6 5 2 6 4 ρ7=6

5 2 6 4

ρ8=5

ρ9=7 5 2 6 7 ρ9=7

ρ10=8 5 8 6 7 ρ10=8

5 8 6 7

ρ11=6

p2ρρ1212==11 1 8 6 7 ρ13=2 1 8 6 2 ρ13=2

ρ14=3 1 3 6 2 ρ14=3

ρ15=4 1 3 4 2 ρ15=4

1 3 4 2

ρ16=3 p3

ρ17=6 6 3 4 2 ρ17=6

ρ18=7 6 3 4 7 ρ18=7

6 3 4 7

ρ19=3

ρ20=8 6 3 8 7 ρ20=8

p4

ρ21=9 9 3 8 7 ρ21=9

9 3 8 7

ρ22=9

(33)

Einleitung File-Allocation-Problem Paging-Problem

Marking-Algorithmus (6:33) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

LRU und F WF

Größe des Cache:k

Theorem

LRUundF WF sind Marking-Algorithmen.

Beweis (F WF):

F WF (Flush When Full):

entleere den Cache vollständig bei jedem Seitenfehler.

F WF flushed genau am Ende einer Phase.

Damit istF WFminimaler Marking Algorithmus.

p0 ρρ11==11 1

ρ2=2 1 2

ρ2=2

ρ3=3 1 2 3

ρ3=3

ρ4=4 1 2 3 4

ρ4=4

1 2 3 4

ρ5=3

1 2 3 4

ρ6=1 p1

ρ7=5 5

ρ7=5

ρ8=2 5 2

ρ8=2

5 2

ρ9=5

ρ10=4 5 2 4

ρ10=4

ρ11=8 5 2 4 8

ρ11=8

5 2 4 8

ρ12=4

(34)

Einleitung File-Allocation-Problem Paging-Problem

Marking-Algorithmus (6:34) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

LRU und F WF

Größe des Cache:k

Theorem

LRUundF WF sind Marking-Algorithmen.

Beweis (LRU):

LRU (Least Recently Used):

verdränge diejenige Seite, deren letzter Zugriff am längsten zurückliegt.

Betrachte beliebigek-PhasePi. Innerhalb vonPi sind höchstenk Seiten markiert.

Auf jeder dieserk markierten Seite erfolgte Zugriff innerhalb vonPi. Diese werden vonLRU nicht verdrängt.

p0 ρρ11==11 1

ρ2=2 1 2

ρ2=2

ρ3=3 1 2 3

ρ3=3

ρ4=4 1 2 3 4

ρ4=4

1 2 3 4

ρ5=2 p1

ρ6=5 5 2 3 4

ρ6=5

ρ7=6 5 2 6 4

ρ7=6

5 2 6 4

ρ8=5

ρ9=7 5 2 6 7

ρ9=7

ρ10=8 5 8 6 7

ρ10=8 p2

ρ11=1 5 8 1 7

ρ11=1

5 8 1 7

ρ12=8

(35)

Einleitung File-Allocation-Problem Paging-Problem

Marking-Algorithmus (6:35) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

k -competitive

Größe des Cache:k

Theorem

Jeder Marking-Algorithmus ist k-competitive.

Lemma

LRUundF WF sind k-competitive.

Beweis des Theorems

Eigenschaften vom Marking-Algorithmen:

Zu jeder Zeit sind alle markierten Seiten im Cache.

Jede neue Markierung verursacht höchstens einen Seitenfehler.

Jeder Marking-Algorithmus produziert höchstenskSeitenfehler pro Phase.

Zeige im Folgenden: jeder Algorithmus verursacht mindestens einen Seitenfehler pro Phase.

(36)

Einleitung File-Allocation-Problem Paging-Problem

Marking-Algorithmus (6:36) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis

Größe des Cache:k

Seipdie erste in PhasePi angefragte Seite.

Betrachte die Teilsequenz, die mit dem zweiten Zugriffp0 aus Phasei anfängt und mit dem ersten Zugriffp00aus Phasei+1 aufhört.

Zu Beginn der Teilsequenz sind neben der Seite pnoch höchstensk−1 andere Seiten im Cache.

In der Teilsequenz gibt es Zugriffe aufk verschiedene Seiten, die alle auch verschieden vonpsind.

Also muß mindestens eine dieser Seiten pro Phase nachgeladen werden.

Es folgt:

CA(ρ)6k·(C(ρ) +1) =k·C(ρ) +k.

Damit sind Marking-Algorithmen k-competitive.

p0 p00

Teilsequenz

k1 viele

pi−1 p pi

PhasePi

(37)

Einleitung File-Allocation-Problem Paging-Problem

Nicht-competitive Algorithmen (6:37) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

Nicht-competitive

Größe des Cache:k

Theorem

LF U ist nicht c-competitive für beliebiges c∈N. LF U (Least Frequently Used):

verdränge diejenige Seite, die am seltensten nachgefragt wurde.

Betrachte:

ρ=p1l,p2l,pl3, . . . ,pk−1l ,(pk,pk+1)l−1

Es gibt eine einfache Strategie für diese Sequenz mit höchstensk+1 Seitenfehlern.

LF U hingegen verursacht in jedem Zugriff nach den erstenl·(k−1) vielen Zugriffen einen Fehler, und verursacht somit mindestens 2(l−1) Fehler.

Wir können den Competitive-Faktor vonLF U also beliebig nach oben treiben, indem wirl genügend groß wählen.

(38)

Einleitung File-Allocation-Problem Paging-Problem

Nicht-competitive Algorithmen (6:38) <> Walter Unger 8.6.2012 14:06 SS2012 Zi

Verbleibende Heuristiken

Größe des Cache:k

F IF O(First In First Out):

verdränge diejenige Seite, die sich am längsten im Cache befindet.

LIF O (Last In First Out):

verdränge diejenige Seite, die als letztes in den Cache geladen wurde.

Lemma

F IF Oist kein Marking-Algorithmus.

Beweis: Übung.

Theorem

F IF Oist (dennoch) k-competitive.

Beweis: Übung.

Theorem

LIF Oist nicht c-competitive für beliebiges c∈N. Beweis: Übung.

(39)

Einleitung File-Allocation-Problem Paging-Problem

Untere Schranke (6:39) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Untere Schranke

Größe des Cache:k

Theorem

Es gibt keinen deterministischen Online-Algorithmus für das Paging-Problem mit competitive-Faktor besser als k.

Beweis:

SeiAein beliebiger deterministischer Algorithmus.

SeiAc-competitive, d.h.

∃a:∀ρ:CA(ρ)6c·C(ρ) +a.

Ziel: zeigeAist nichtc-competitive fürc<k.

Zeige für beliebigesadie Existenz vonρund eines Offline-AlgorithmusB mit:

CA(ρ)>c·CB(ρ) +a.

(40)

Einleitung File-Allocation-Problem Paging-Problem

Untere Schranke (6:40) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis

Größe des Cache:k

BestimmeρundB:

Hauptspeicher habek+1 viele Seiten.

ρi =i für 16i6k.

D.h.AundBhalten die gleichenk Seiten im Cache.

Der Gegner fragt nun immer nach der Seite, dieAnicht im Cache hat.

Bei einer Sequenz der Längek+msind dask+mSeitenfehler fürA.

Hingegen lagertBdie Seite aus, die in den nächstenk−1 Schritten nicht nachgefragt wird.

Damit machtBhöchstensk+dmke6k+1+mk Seitenfehler.

Damit kannmfür jedes gegebeneaundc<k so gewählt werden, dass gilt:

k+m>c·(k+1+m

k) +a=c

k ·m+c·k+c+a D.h.m>(c·kk+c+a)/(1c/k)

Daher kannAnichtc-competitive sein.

(41)

Einleitung File-Allocation-Problem Paging-Problem

Competitive Analyse für Zufallsalgorithmen (6:41) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Einleitung

Deterministische Online-Algorithmen sind höchstensk-competitive.

Der Gegner konnte (beim Beweis) daher die “schlimmste” Sequenz passend wählen.

Daher betrachten wir nun randomisierte Online-Algorithmen.

Das Vorgehen beim Beweis muss angepasst werden:

1 Der randomisierte Online-Algorithmus wird ohne die Zufallsbits bekanntgegeben.

2 Der Gegner bestimmt Anfragesequenzρ.

3 Nun werden die Zufallsbits fürAbestimmt.

So ein Gegner (oder auch Algorithmus) heißt oblivious (blind,vergesslich).

Würden die Schritte 2 und 3 vertauscht, dann hätten wir die Situation wie bei deterministischen Online-Algorithmen.

Wir müssen noch die Definition anpassen.

(42)

Einleitung File-Allocation-Problem Paging-Problem

Competitive Analyse für Zufallsalgorithmen (6:42) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Definition

Erinnerung:

1 Der randomisierte Online-Algorithmus wird ohne die Zufallsbits bekanntgegeben.

2 Der Gegner bestimmt Anfragesequenzρ.

3 Nun werden die Zufallsbits fürAbestimmt.

Definition

Ein randomisierter Online-AlgorithmusAistc-competitive, falls es einagibt, so dass für jede durch einen oblivous Gegner bestimmte Anfragesequenzρgilt:

E[CA(ρ)]6c·C(ρ) +a

(43)

Einleitung File-Allocation-Problem Paging-Problem

Randomisierter Marking-Algorithmus (6:43) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Randomisierter Marking-Algorithmus

Idee: Bringe Zufallsanteil in einen Marking-Algorithmus.

Vorgehen:

1 Bestimme unmarkierte Seiten.

2 Verdränge eine uniform gewählte unmarkierte Seite.

Nenne dies Verfahren: MARK.

Theorem

MARK istHk-competitive.

Theorem

Es gibt einen anderen randomisierten Paging-Algorithmus, der Hk-competitive ist.

Theorem

Es gibt keinen randomisierten Paging-Algorithmus, der besser als Hk-competitive ist.

(44)

Einleitung File-Allocation-Problem Paging-Problem

Randomisierter Marking-Algorithmus (6:44) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis (Zeige: MARK ist 2 · H

k

-competitive)

Wir unterscheiden zu jedem Zeitpunkt in einerk-Phase unmarkierte Seiten wie folgt:

Wurde auf die unmarkierte Seite in der vorherigen Phase zugegriffen, so nennen wir diese vorherige Seite.

Ist die Seite weder markiert noch vorherig, so nennen wir diese Seite eine frische Seite.

Seift die Anzahl der frischen Seiten, die in dert-ten k-Phase nachgefragt werden.

Sei weiterF=PT t=1ft.

Sei nunOPT die optimale Strategie.

O.B.d.A seiOPT faul, d.h.OPT verdrängt nur Seiten, wenn eine neue Seite geladen werden muss.

PhasePiPhasePi1Pi2Pi+1 vorherigeSeite frischeSeite

(45)

Einleitung File-Allocation-Problem Paging-Problem

Randomisierter Marking-Algorithmus (6:45) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis

F=PT t=1ft

Lemma

Die Kosten vonOPT sind mindestens(F−k)/2.

Beweis:

Wir betrachten eine beliebigek-Phase.

Seif die Anzahl der frischen Seiten, die in dieser Phase nachgefragt werden.

SeiSdie Seitenmenge, dieOPT im Cache gespeichert hat.

SeiSdie Seitenmenge, die MARK im Cache gespeichert hat.

Seid=|S\S|zu Beginn derk-Phase.

Seid0=|S\S|zu Ende derk-Phase.

Wir zeigen nun: die Anzahl der Seitenfehler mindestens:

max{f −d,d0}.

frischeSeiten

f

PhasePkPk1Pk+1

S S

S S

d d0

(46)

Einleitung File-Allocation-Problem Paging-Problem

Randomisierter Marking-Algorithmus (6:46) <> Walter Unger 8.6.2012 14:06 SS2012 Zs

Beweis

F=PT t=1ft fist die Anzahl der frischen Seiten, die in dieser Phase nachgefragt werden.

d=|S\S|zu Beginn derk-Phase.

d0=|S\S|zu Ende derk-Phase.

Zeige:OPT muss mindestensfd Seiten nachladen.

Höchstensd der nachgefragten frischen Seiten sind zu Beginn im Cache.

Beachte: MARK hat am Anfang der Phase keine frischen Seiten im Cache.

Zeige:OPT muss mindestensd0 Seiten verdrängen.

Am Ende der Phase hat MARK alle in dieser Phase nachgefragten Seiten im Cache.

frischeSeiten

f

PhasePkPk1Pk+1

S S

S S

d d0

Referenzen

ÄHNLICHE DOKUMENTE

Damit ist eine zufällig gewählte Kante mit hoher Wahrscheinlichkeit nicht im Schnitt.. Damit sind die inzidenten Knoten einer zufällig gewählten Kante mit hoher Wahrscheinlichkeit

Daher unterscheiden wir: Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.. Online: Der Algorithmus bekommt die Eingabe

Wenn ein Teil der Datei geschrieben werden soll und der Leser hat keine Kopie, so muss dieser Teil angefordert und die Änderungen zurückgeschickt werden.. Es

Falls der Cache voll ist, muss eine andere Seite verdrängt werden.. Ein Online-Paging-Algorithmus muss entscheiden, welche Seite

Pro Knoten gibt es maximal eine Kante, die betrachtet, aber nicht saturiert

Verbesserung der Laufzeit (2:75) &lt;&gt; Walter Unger 17.1.2015 17:56 SS2014 Z

Pfade verbesserte Laufzeit mit Kosten Blüten Zwei Anwendungen Probleme bei ungeraden Kreisen (3:48) &lt;&gt; Walter Unger 17.1.2015 17:56 SS2014 Z

Für jedes Stück der Eingabe muss der Algorithmus sofort eine Entscheidung treffen.. Getroffene Entscheidungen können nicht