Bewertung der Rechenleistung

🎯 Ziel

  • Auswahl der Rechenanlage
  • Veränderung der Konfiguration einer bestehenden Anlage
  • Entwurf von Anlagen

Bewertung der Leistungsfähigkeit

Was heißt es: Ein Rechner ist schneller als ein anderer Rechner?

  • Perspektive des Benutzers

    • „Ein Rechner A ist schneller als ein Rechner B, wenn ein Programm auf A weniger Zeit benötigt.“

    • Reduzierung der Antwortzeit (response time) oder Ausführungszeit (execution time), Latenz

    • A ist $n$-mal schneller als B $\Leftrightarrow$ $\frac{\text { Ausfüncungszeit }(\mathrm{B})}{\text { Ausfünrungszeit }(\mathrm{A})}=\mathrm{n}$

  • Perspektive des Rechenzentrumsleiters

    • „Ein Rechner A ist schneller als ein Rechner B, wenn A in einer Stunde mehr Aufträge (Jobs) erledigt.“

    • Erhöhung des Durchsatzes (throughput)

      • Durchsatzes (throughput): Anzahl der ausgeführten Aufgaben in einem gegebenen Zeitintervall

      • Durchsatz von A ist m-mal höher als der von B:

        $\Leftrightarrow$ Die Anzahl der erledigten Aufgaben auf A ist m-mal die Anzahl der erledigten Aufgaben auf B.

Definitionen

  • Ausführungszeit (execution time)
  • Wall-clock time, response time, elapsed time
    • Latenzzeit für die Ausführung einer Aufgabe

    • Schließt den Speicher- und Plattenzugriff, Ein-/ Ausgabe etc. mit ein.

  • CPU Time: Zeit, in der die CPU arbeitet
    • User CPU Time: Zeit, in der die CPU ein Programm ausführt
    • System CPU Time: Zeit, in der die CPU Betriebssystemaufgaben ausführt, die von einem Programm angefordert werden

Verfahren

Auswertung von Hardwaremaßen und Parametern

Der Rechner läuft mit fester Taktrate, angegeben durch

  • Dauer eines Taktzyklus (z. B. 1ns)

  • Taktfrequenz (z. B. 1 GHz)

Die CPU-Zeit einer Programmausführung: $$ \mathrm{T}_{\mathrm{exe}}=\mathrm{IC} \times \mathrm{CPI} \times \mathrm{TC} $$

  • $\mathrm{T}_{\mathrm{exe}}$: CPU-Zeit

  • $\text{IC}$: Instruction Count (Anzahl der ausgeführten Befehle)

  • $\text{CPI}$: Cycles Per Instruction (Anzahl der Zyklen pro Instruktion)

    • Direkte Abschätzung schwierig wegen der Komplexität heutiger Prozessoren und der Cache-Hierarchie

    • Hängt vom Kontext ab, in der eine Instruktion ausgeführt wird

    • Instructions Per Cycle: $$ \mathrm{IPC}=1 / \mathrm{CPI} $$

  • $\text{TC}$: Machine cycle time (Zykluszeit)

Maßzahlen für die Operationsgeschwindigkeit

  • MIPS (Millions of Instructions Per Second): $$ \mathrm{MIPS}=\frac{\text { Anzahl der ausgeführten Instruktionen }}{10^{6} \times \text { Ausführungszeit }} $$

  • MFLOPS (Millions of Floatingpointoperations Per Second) $$ \text{MFLOPS} =\frac{\text { Anzahl der ausgefuhrten Gleitkommaoperationen }}{10^{6} \times \text { Ausführungszeit }} $$

🔴 Probleme

  • Abhängigkeit von ISA und ausgeführter Befehlssequenz
    • ISA = Instruction Set Architecture
  • Unterschiedliche MIPS/MFLOPS-Zahlen bei verschiedenen Programmen
  • MIPS kann umgekehrt zur tatsächlichen Rechenleistung variieren
  • MIPS/MFLOPS Angaben von Herstellern oft nur best-case-Annahme: theoretische Maximalleistung
📃 Zusammenfassung
  • Vergleich von Rechnern bezüglich ihrer Leistung ohne großen Aufwand

  • Maßzahlen bewerten nur spezielle Aspekte

  • Kritische Betrachtung der Leistungsangabe unbedingt notwendig!

  • Angabe einer hypothetische Maximalleistung!

Laufzeitmessungen bestehender Programme

Benchmarks: Bewertung der Leistungsfähigkeit aufgrund von Messungen mit Hilfe von einem Programm oder einer Programmsammlung

  • Programme liegen im Quellcode vor
  • Messung der Ausführungszeiten
  • Zugriff auf die Maschinen notwendig

Standardisierte Benchmarks

  • 🎯 Ziel: Vergleichbarkeit von Rechnern (inkl. Betriebssystem und Compiler)
  • Anforderungen:
    • Gute Portierbarkeit

    • Repräsentativ für typische Nutzung der Rechner

  • Sammlung von Benchmark-Programmen (Benchmark Suites)
    • Ausgeglichene Bewertung durch die unterschiedlichen Eigenschaften der Programme
  • Standardisierungsorganisationen
    • TPC (Transaction Processing Performance Council)
    • SPEC (Standard Performance Evaluation Corporation)

Messungen während des Betriebs von Anlagen

Monitore: Aufzeichnungselemente, die zum Zweck der Rechnerbewertung die Verkehrsverhältnisse während des normalen Betriebs beobachten und untersuchen.

  • Hardware-Monitore
    • Unabhängige physikalische Geräte
    • Keine Beeinflussung
  • Software-Monitore
    • Einbau in das Betriebssystem

    • Beeinträchtigung der normalen Betriebsverhältnisse 🤪

Aufzeichnungstechniken:

  • Kontinuierlich oder sporadisch

  • Gesamtdatenaufzeichnung (Tracing)

  • Realzeitauswertung

  • Unabhängiger Auswertungslauf (Post Processing)

Modelltheoretische Verfahren

Unabhängig von der Existenz eines Rechners

Modellbildung

  • 🎯 Ziel:
    • Aufdecken von Beziehungen zwischen Systemparametern
    • Ermitteln von Leistungsgrößen
  1. Annahmen über die Struktur und Betrieb eines Rechners und über die Prozesse

  2. Darstellung der für die Analyse relevanten Merkmale des Systems

    • Systemkomponenten
    • Datenverkehr zwischen den Systemkomponenten
  3. Abstrahierung komplexer Systeme

    • Nur die interessierenden Größen werden erfasst

Analytische Methoden

  • versuchen auf mathematischem Weg, Beziehungen zwischen relevanten Leistungskenngrößen und fundamentalen Systemparametern herzuleiten

  • oft nur minimaler Aufwand, aber dafür weniger aussagekräftig 🤪

  • Typ

    • Warteschlangenmodelle

      截屏2020-06-18 12.07.48.png

      Gesetz von Little: $$ k = \lambda \cdot t $$

      $$ Q = \lambda \cdot w $$

      • $k$: mittlere Anzahl der Aufträge
      • $\lambda$: Durchsatz (mittlere Anzahl von Aufträgen, die pro Zeiteinheit bedient werden)
      • $t$: Antwortzeit (Verweilzeit, Gesamtheit der Zeit, die ein Auftrag im Wartesystem verbringt)
      • $Q$: mittlere Warteschlangenlänge
      • $w$: Wartezeit (Zeit, die angibt, die ein System im Wartesystem verbringt)
      • ‼️ Voraussetzung: statistisches Gleichgewicht
        • Die Rate, mit der die Aufträge ankommen = der Rate, mit der die Aufträge abgehen
    • Petrinetze

    • Diagnosegraphen

    • Netzwerkflussmodelle

Simulation

  • Wieso brauchen wir Simulation?

    • Steigende Komplexität der Computer Systeme
    • Zentrales Werkzeug für den Rechnerarchitekt
      • Evaluation neuer Ideen

      • Exploration des Entwurfsraums

    • Bezüglich Hardware-Prototypen und analytischen Modellen
    • Quantifizierung einer Metrik bei der Ausführung einer Arbeitslast (Workload)
    • Workload Characterization:
      • Verstehen der Gründe für das beobachtete Verhalten

      • Verstehen des Zusammenspiels zwischen der Arbeitslast und dem Zielsystem

  • Simulatoren

    • Ein Simulator modelliert die wesentlichen Eigenschaften oder das Verhalten einer Zielmaschine

    • Verschiedene Ebenen bezüglich der Details und der Genauigkeit

    • Benchmarks

      • Bewertung einer oder mehrerer Komponenten einer Zielmaschine
      • Vergleich von verschiedenen Architekturen oder Architekturmerkmalen
    • Entwurf und Einsatz: Kompromiss zwischen hoher Simulationsgenauigkeit, hoher Simulationsgeschwindigkeit, und niedrigen Entwicklungsaufwand

    • Taxonomie

      • User-Level Simulatoren

        • Simulation der Mikroarchitektur eines Prozessors
        • KEINE Berücksichtigung von Systemressourcen
        截屏2020-06-18 12.27.16
      • Full-System Simulatoren

        • Modellieren ein vollständiges Computersystem, einschließlich CPU, I/O, Disk, Netzwerk
        • Booten und Ausführung von Betriebssystemen
        • Beobachten der Interaktion von Workload und System
        截屏2020-06-18 12.28.11
      • Funktionale Simulatoren (Functional Simulators)

        • Modelliert nur die Funktionalität (ohne Berücksichtigung der Mikroarchitektur eines Prozessors)

        • Emulation der Befehlssatzarchitektur

        • Bildet oft den Ausgangspunkt einer komplexeren Simulationsumgebung

        截屏2020-06-18 12.37.47
      • Zyklen genaue Simulatoren (Cycle-accurate Simulators)

        • Erfassen die Details der Mikroarchitekturblöcke
        • Emulation der Funktionalität der Mikroarchitekturblöcke sowie des Zeitverhaltens
        • Mikroarchitekturblöcke sind parametrisierbar

        截屏2020-06-18 12.41.11

      • Prozessorsimulator

        • simuliert die Ausführung der Befehle eines Benchmarks auf einem Zielprozessor
        • Befehl erhalten
          • Spurgetriebene Simulatoren (trace-driven simulation)
            • Ausführung des Benchmarks auf einem ISA-kompatiblen Prozessor, oder einem Simulator (nicht notwendigerweise auf dem selben Prozessor wie dem Zielprozessor)
            • Während der Ausführung des Benchmarks werden die ausgeführten Befehle auf eine Spurdatei (Trace) geschrieben bzw. protokolliert
            • Nach der Aufzeichnung dient die Spurdatei als Eingabe für einen Zyklen genauen Simulator
            • Jede Instruktion wird simuliert auf der Basis des Mikroarchitekturmodells
          • Ausführungsgetriebene Simulatoren (execution driven simulation)
            • Die ausführbare Datei des Benchmark dient als Eingabe für den Simulator

            • Simulator muss das Zeitverhalten sowie die Funktionalität genau reproduzieren

            • Aufwendige Entwicklung

            • Genauigkeit und Flexibilität besser als bei Spurgetriebenen Simulatoren

Previous
Next