Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Theoretische Informatik (http://www.informatikerboard.de/board/board.php?boardid=5)
---- Berechenbarkeits- und Komplexitätstheorie (http://www.informatikerboard.de/board/board.php?boardid=15)
----- Durchschnittliche Zugriffszeit (http://www.informatikerboard.de/board/thread.php?threadid=4312)


Geschrieben von Juergen20 am 27.06.2020 um 20:06:

  Durchschnittliche Zugriffszeit

Meine Frage:
Hallo,ich bereite mich für die Prüfung Betriebssysteme vor. Da habe ich eine Aufgabe über durchschnittliche Zugriffszeit wo ich leider nicht mehr weiter komme. Die Aufgabe ist am Anhang. Ich hab schon lange versucht die Aufgabe zu verstehen aber leider ohne erfolg. Ich hoffe einer kann mir weiterhelfen. smile

Vielen Dank im voraus!

Meine Ideen:
Recherche im Internet.
Hilfe im Skript gesucht, ohne erfolg.



Geschrieben von NixJava am 28.06.2020 um 13:39:

 

Um die Aufgabe zu erklären, vernachlässige ich zunächst die beiden Cache-Ebenen und betrachte nur die beiden letzten Speicherzugriffe, damit ich mit dem letzten Zugriff eine sichere Hitrate von 100% erhalte:

Mathematisch berechnet man hierbei den Erwartungswert, d.h. die durchschnittliche Zugriffszeit beträgt

[latex]0.99 \cdot 100\text{ns} + 0.01 \cdot 8\text{ms}[/latex]

0.99 gibt die Hitrate, 0.01 die Missrate an.


In der Aufgabe hat man allerdings vier Speicherebenen gegeben, d.h. man muss die Berechnungen verschachteln.

[latex]0.92 \cdot 5\text{ns} + 0.08 \cdot ( \dots[/latex]


Bei der Berechnung gehe ich davon aus, dass die Zeit für einen Miss bereits in der Zugriffszeit der nächsten Ebenen einbezogen ist. Alternativ könnte die Zeit eines Fehlschlags der Zugriffszeit eines Hits entsprechen. Dann müsste man dies natürlich zusätzlich berücksichtigen. Auskunft darüber kann nur das Vorlesungsskript geben.



Geschrieben von Juergen20 am 28.06.2020 um 14:00:

 

Hallo NixJava, danke für deine Hilfe.
Wäre des dann die Lösung?
(0,92*5ns+0,08)*(0,95*200ns+0,05)*(0,99*100ns+0,01)*(1+8ms)



Geschrieben von NixJava am 28.06.2020 um 14:33:

 

So macht es keinen Sinn, weil die Klammern falsch gesetzt sind. Sämtliche Folgeberechnungen müssen sich auf die erste Missrate 0.08 beziehen.



Geschrieben von Juergen20 am 28.06.2020 um 14:56:

 

Ich weis gerade leider nicht wie du es meinst, so meinst du es bestimmt nicht
0,92*5ns+0,08*(0,95*200ns+0,05*0,99*100ns+0,01*1+8ms) .

Kannst du mir vielleicht bitte zeigen wie die richtige Lösung auszusehen hat ? verwirrt



Geschrieben von as_string am 29.06.2020 um 10:41:

 

Das muss sich natürlich bei den Folgenden Schritten so fortsetzen.
Mal ein Beispiel: Wie hoch ist die Häufigkeit (bzw. der auf 1 normierte Anteil der Häufigkeit), dass auf die Festplatte zugegriffen werden muss?
Das Bedeutet ja, dass es weder im L1 noch im L2 Cache gefunden wurde und auch nicht im Hauptspeicher. Also musst Du ja dafür alle Miss-Raten zusammen multiplizieren:
0,08*0,05*0,01
Wie hoch ist die Häufigkeit dafür, dass es im Hauptspeicher gefunden wird? Da musst Du die Missrate von den vorhergehenden Stufen zusammen multiplizieren und das Produkt dann noch mit der Hitrate der betrachteten Stufe (die war bei der Festplatte 100%, deshalb fällt die oben weg als Faktor)
Also hab ich für den Hauptspeicher:
0,08*0,05*0,99
Dann weiter mit dem L2 Cache: Die vorhergehende Stufe ist nur noch der L1 Cache, für den brauche ich die Miss-Rate und für den L2-Cache die Hit-Rate:
0,08*0,95
Für den L1 Cache gibt es keine vorgelagerten Stufen (was so eigentlich nicht stimmt, normalerweise betrachtet man das Prozessor-Register noch als vorgelagerte Stufe, aber nicht in der Aufgabe), also ist nur noch die Hitrate für diesen ausschlaggebend, also:
0,92

Diese Faktoren musst Du mit den entsprechenden Zeiten multiplizieren und die Summe liefert Dir dann den gesuchten Durchschnitt.

Das mit der Klammer kannst Du auch machen. Wie Du siehst, haben die ersten drei Faktoren jeweils die 0,08 drin (also die Missrate vom L1 Cache), die kannst Du natürlich ausklammern, genau so für die ersten beiden die 0,05 (da hast Du bei Deiner Rechnung eine Klammer wieder vergessen). Aber ich finde es wie oben erstmal leichter zu verstehen.

Gruß
Marco


Forensoftware: Burning Board, entwickelt von WoltLab GmbH