Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Leistung. Physik: Leistung = Arbeit / Zeit Was sind mögliche Definitionen für die Leistung eines Rechners? Nutzer mit einem Programm: Nutzer mit einer.

Ähnliche Präsentationen


Präsentation zum Thema: "Leistung. Physik: Leistung = Arbeit / Zeit Was sind mögliche Definitionen für die Leistung eines Rechners? Nutzer mit einem Programm: Nutzer mit einer."—  Präsentation transkript:

1 Leistung

2 Physik: Leistung = Arbeit / Zeit Was sind mögliche Definitionen für die Leistung eines Rechners? Nutzer mit einem Programm: Nutzer mit einer Menge von Programmen: Rechenzentrumsleiter: Menge von Nutzern mit einer Menge von gleichzeitig ausgeführten Programmen: Basis für den Vergleich mehrerer Rechner:

3 Leistung Physik: Leistung = Arbeit / Zeit Was sind mögliche Definitionen für die Leistung eines Rechners? Nutzer mit einem Programm: 1 / Antwortzeit -- beachte Abhängigkeit von der Eingabe (und vom initialen Ausführungszustand)! Nutzer mit einer Menge von Programmen: 1 / mittlere Antwortzeit oder 1 / Summe der Antwortzeiten Rechenzentrumsleiter: Menge von Nutzern mit einer Menge von gleichzeitig ausgeführten Programmen: Durchsatz = Zahl der ausgeführten Programme / Zeiteinheit

4 Ausführungsgeschwindigkeit Ausführungsgeschwindigkeit (bei einem Programm) ~ 1/ Ausführungszeit Ausführungszeit (execution time, latency) eines Programms (allg. einer Aktion) – Zeit zwischen Start des Programms (der Aktion) und Terminierung des Programms (der Aktion) Andere Aktionen: arithmetische Operation, Speicherzugriff, E/A-Operation

5 Leistung II Selten ist die Ausführungszeit für eine Aktion eine Zahl, da der Ausführungszustand und äußere Einwirkungen die Ausführungszeit beeinflussen. Beispiel: Zeit für E/A-Operation hängt davon ab, wie viele E/A- Operationen an dem Gerät warten. Meist ist die Ausführungszeit durch eine Verteilung gegeben. Zur Vereinfachung werden wir aber mit einer Zahl arbeiten. Mit welcher Zahl? Mittelwert der Verteilung – bei Universalrechnern Laufzeit im schlechtesten Fall – bei Echtzeitsystemen

6 Leistungsvergleich Vergleich der Leistung zweier Rechner A und B für ein gegebenes Programm:

7 Leistung III Verschiedene Konzepte für die Ausführungszeit eines Programms Ausführung von Start bis Terminierung – Antwortzeit (repsonse time), Laufzeit, verstrichene Zeit (elapsed time): schließt Wartezeit auf Ein- /Ausgabe und Verdrängung wegen der Ausführung anderer Programme ein. CPU-Ausführungszeit – Zeit, welche die CPU mit der Ausführung des Programms verbracht hat, Benutzer-CPU-Ausführungszeit Betriebssystem-CPU-Ausführungszeit Sprachregelung: Systemleistung (system performance) – basiert auf Antwortzeit auf leerem Rechner CPU-Leistung – Benutzer-CPU-Leistung

8 Zyklen, Taktraten Physikalische Zeit ist ein Kontinuum, wie die reellen Zahlen, linear geordnet, dicht. Zeit im Rechner schreitet in diskreten Schritten fort, gesteuert durch eine Uhr. Diese Zeit ist nicht dicht! Das Zeitintervall zwischen zwei Uhrticks ist ein Takt, ein Zyklus (cycle), die Zykluszeit. Die Ausführung eines Maschinenbefehls braucht mehrere Zyklen, Zyklen pro Befehl (cycles per instruction, CPI). Dies ist bei vielen Architekturen keine Konstante, sondern hängt vom Zustand ab, in dem der Befehl ausgeführt wird. Man betrachtet wieder die durchschnittliche Zahl bei universellen Rechnern bei Echtzeitsystemen : die Zahl im schlechtest möglichen Fall die Zahl im schlechtesten Fall bei gegebenem Zustand die Zahl im schlechtesten Fall bei gegebener Menge von Zuständen Taktrate = 1/ Zykluszeit Bespiel: Eine mit 1 GigaHertz getaktete CPU hat eine Zykluszeit von 1 Nanosekunde (10 -9 sec)

9 Ausführungszeit in Zahl von Zyklen CPU-Ausführungszeit = Zahl der CPU-Zyklen Zykluszeit = Zahl der CPU-Zyklen / Taktrate

10 Leistung auf der Befehlsebene Bisherige Leistungsmaße bezogen sich nicht auf die ausgeführten Befehle Annahme: Zahl von Zyklen pro Befehl ist konstant. Anzahl CPU-Zyklen = Zahl der ausgeführten Befehle Zahl der Zyklen pro Befehl Also insgesamt: CPU-Ausführungszeit = Zahl der ausgeführten Befehle Zahl der Zyklen pro Befehl Zykluszeit

11 Fließband-Verabeitung (Pipelining) zur Leistungssteigerung Zur Erinnerung: Der Fetch-Decode-Execute-Zyklus FetchDecodeExecute Zyklen(Fetch)Zyklen(Decode)Zyklen(Execute) ++ Ausführungszeit = Annahmen: 1.unabhängige Komponenten, 2.ungefähr gleiche Zahl von Zyklen 3.jeweils 2 Komponenten im Leerlauf! Idee: Überlappende Arbeitsweise aufeinander folgender Befehle (Befehlsfließband) FetchDecodeExecuteFetchDecodeExecute Effekt: Verdreifachung der Leistung!

12 Verschiedene Optimierungsziele Entscheidung für mittlere Laufzeit bzw. Laufzeit im schlechtesten Fall führt zu unterschiedlichen Optimierungsstrategien: 1.mache den häufigsten Fall schnell – dies ist die vorherrschende Philosophie der Rechnerarchitekten, bzw. 2.mache den schlechtesten Fall schnell – dies wird für eingebettete Echtzeitsysteme benötigt


Herunterladen ppt "Leistung. Physik: Leistung = Arbeit / Zeit Was sind mögliche Definitionen für die Leistung eines Rechners? Nutzer mit einem Programm: Nutzer mit einer."

Ähnliche Präsentationen


Google-Anzeigen