Leistung.

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Programmierung: Einführung
Systemarchitektur Sommersemester 2009 Universität des Saarlandes
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Die Laufzeit von randomisierten (zufallsgesteuerten) Algorithmen hängt von gewissen zufälligen Ereignissen ab (Beispiel Quicksort). Um die Laufzeiten dieser.
7.3 Scheduling Zur Erinnerung:
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Kapitel III: Stochastische Modelle im Januar haben wir behandelt: 12
Schnelle Matrizenoperationen von Christian Büttner
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
3. Kapitel: Komplexität und Komplexitätsklassen
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
2. Kapitel: Komplexität und Komplexitätsklassen
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Zentraleinheit CPU, Motherbord, RAM
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Systeme 1 Kapitel 5.1 Unix Scheduling WS 2009/101.
WS 2009/10 1 Systeme 1 Kapitel 1 Aufbau von Rechnern.
Gefährdung durch Viren
Kapitel 3 5 Rechnerorganisation
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Rechneraufbau & Rechnerstrukturen, Folie 10.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 10.
Lokale und globale Netzwerke
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
III: Stochastische Modelle 18. Anwendungen von Markov-Ketten
III: Stochastische Modelle 15. Anwendungen von Markov-Ketten
Konfidenzintervalle Intervallschätzung
Die Student- oder t-Verteilung
Erwartungswert und Varianz I Der endliche Fall Erwartungswert Varianz.
Konfidenzintervalle Intervallschätzung Jeder Beobachtung wird ein Intervall C( ) der reellen Zahlen zugeordnet Niveau Dabei ist die Wahrscheinlichkeit,
Klausurtermin (laut Prüfungsamt) Probeklausur Freitag, 13. Juni 2003 statt Vorlesung.
II. Wahrscheinlichkeitstheorie
Erwartungswert und Varianz I Der endliche Fall Erwartungswert Varianz.
Grundbegriffe der (deskriptiven) Statistik
Vorlesung Biometrie für Studierende der Veterinärmedizin Begriff der Zufallsgröße Ergebnisse von Zufallsexperimenten werden als Zahlen dargestellt:
Duo- und Quad Prozessor-Architektur
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Ausgleichungsrechnung II
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Splay Trees Von Projdakov Benjamin.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Das Betriebssystem.
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Seite 1 Technische Informatik II (INF 1211) – Kurzfragenteil (Ohne Unterlagen) Am Prof. W. Adi Zeit: (20 Minuten) Bitte schreiben Sie die Lösung.
Rechnerarchitekturen
Komplexität von Algorithmen
Parallelisierung für Multiprozessor-Maschinen
Interrupt, Counter und Inkrementalgeber
Der Prozessor Von Stephan Blum.
Universität zu Köln WS 2012/13 Seminar: IT-Zertifikat der Phil.-Fak.: Allgemeine Informationstechnologien I Dozentin: Susanne Kurz M.A. Referenten: Irina.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Konvexe Hüllen (Convex Hulls)
 Präsentation transkript:

Leistung

Leistung 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:

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

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

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

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

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

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)

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

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

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

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