Ub3-Leistungsbewertung

TL;DR

  • $c$: Anzahl der Zyklen
  • $i$: Anzahle der Instruktionen
  • CPI:
    • $CPI = \frac{c}{i}$
    • $CPI = \displaystyle \sum_{j=1}^{n}CPI_j \cdot Anteil_j$
  • MIPS: $MIPS = \frac{i}{t\cdot 10^6}$
  • Taktrate: $f=\frac{c}{t}$
  • CPU-Zeit: $t_{cpu}=c \cdot t_{Zyklus}$
  • Anzahl Instruktionen: $i = \sum i_{typ}$
  • Taktyklen: $c=\sum i_{typ}\cdot c_{typ}$
  • Ausführungszeit: $t_{exec}=c \cdot t_{cyc}$
  • Bedienzeit: $t_{Bedien} = t_{Zugriff} + t_{Übertragung}$
  • Maximaler Durchsatz: $D_{\max} = \frac{1}{t_{Bedien}}$
  • Auslastung: $U = \frac{D}{D_{\max}}$
  • Gesetz von Little:
    • $Q = W \cdot D$ (#Aufträge in der Warteschlange = Wartezeit $\cdot$ Durchsatz)
    • $k = \lambda \cdot t$ (#Aufträge = Durchsatz $\cdot$ Antwortzeit)
  • Reaktionzeit: $\text{Reaktionszeit} = \text{Wartezeit} + \text{Bedienzeit}$

Was ist Leistung?

  • Anwendersicht: Reduzierung von

    • Antwortzeit (response time)
      • Latenzzeit

      • CPU Time (User, System)

    • Ausführungszeit (execution time)
  • Betriebssicht: Erhöhung von Anzahl

    • durchgeführter Jobs

    • Durchsatz

    • Energieeffizienz (Betriebskosten)

Leistungsbewertung

Auswertung von Hardwaremaßen und Parametern

  • Prozessortakt: gibt lediglich den Arbeitstakt (min/typ/max) des Prozessors an.

  • KEIN Maß für Leistungsfähigkeit (da keine Aussage u ̈ber Effizienz, Gu ̈te des Befehlssatzes etc.)

  • CPI

    • Cycles Per Instruction (Zyklen pro Instruktion) $$ C P I=\frac{c}{i} $$

      • $c$: #alle Zyklen
      • $i$: #Instruktion
        • ist bedingt durch die Befehlssatzarchitektur und die Güte des Compilers
    • ein Maß für die Effizienz einer Architektur

    • werden durch die Organisation und die Befehlssatzarchitektur beeinflusst

    • Zur Leistungsbewertung als alleinige Maßzahl NICHT ausreichend:

      Effizienz $\neq$ Geschwindigkeit

  • MIPS 👍

    • Million Instructions per Second $$ M I P S=\frac{i}{t * 10^{6}}=\frac{f}{CPI * 10^{6}} $$

    • ideal, weil zwei Maßzahlen (Takt, CPI) zusammengeführt werden.

    • Nur unter gleichen Bedingungen (Sourcecode, Compiler, OS) direkt vergleichbar.

  • MFLOPS

    • Millions of Floatingpointoperations Per Second

    • Wie MIPS, wobei Anzahl der Befehle und Ausführungszeit nur für Fließkommaberechnung $$ \text{MFLOPS} =\frac{\text { Anzahl der ausgefuhrten Gleitkommaoperationen }}{10^{6} \times \text { Ausführungszeit }} $$

Zur Berechnung benötigte Maße:

  • Taktrate (Frequenz) $$ f=\frac{c}{t}=\frac{i * CPI}{t}[\mathrm{Hz}] $$

  • CPU-Zeit (Ausführungszeit) $$ t_{c p u}=c * t_{Z y k l u s} $$

    • $c$: #alle Zyklen

    • $t_{Zyklus}$: Zykluszeit $$ t = \frac{1}{f} $$

      • hängt von der Organisation und der Technologie ab
  • Speedup $$ \text{Speedup} = \frac{t_{cpu, old}}{t_{cpu, new}} = \frac{CPI_{old}}{CPI_{new}} $$

Benchmark

$$ \text {SPECratio}=\frac{\text {Referenzzeit}_{x}}{\text {Laufzeit}_{x} \text { auf Testsystem}} $$

Bsp: Aufg. 5 (b)

截屏2020-06-20 16.20.14

$\Rightarrow \text{Referenzzeit}_{462.libquantum} = 613 \cdot 33.8s = 20719.4s$

Modelltheoretische Verfahren

  • Bedienzeit:

$$ t_{\text{Bedien}} = t_{\text{Zugriff}} + t_{\text{Übertragung}} $$

Bsp: Aufg.6 (a)

Zugriffszeit 12 ms, Datenrate 6 MByte/s, Schreib-/Leseauftrag 100kB $$ \begin{aligned} t_{\text{Bedien}} &= t_{\text{Zugriff}} + t_{\text{Übertragung}} \ &= 12ms + \frac{100kB}{6\cdot 10^3 kB/s} \ &= 28.67ms \end{aligned} $$

  • Durchsatz

    • Maximaler Durchsatz

$$ \qquad D_{\max} = \frac{1}{t_{\text{Bedien}}} $$

  • Nur Platten mit $D_{\max}$ > Ankunftsrate können eingesetzt werden, da sonst die Festplatte nicht genügend Zeit hat, um alle Aufträge rechtzeitig zu bedienen.

  • Auslastung $$ U = \frac{D}{D_{\text{max}}} = D \cdot t_{\text{Bedien}} $$

  • Warteschlange

    • Wartezeit

      Gesetz von Little: $$ Q = W \cdot D $$

      • $Q$: Anzahl von Aufträgen in der Warteschlange

      • $W$: Wartezeit

      • $D$: Durchsatz

      Bsp: Aufg. 6 (d)

      drei Aufträge, Durchsatz=Ankunftsrate=40/s

      Wartezeit: $W = \frac{3}{40/s}=75ms$

    • Reaktionszeit $$ \text{Reaktionszeit} = \text{Wartezeit} + \text{Bedienzeit} $$

Previous
Next