HYPER - THREADING HYPER-THREADING TECHNOLOGY SERGE FOPOUSSI. Serge Fopoussi UNIVERSITÄT BREMEN SEMINAR RECHNERARCHITEKTUR. Prof. Dr.

Ähnliche Dokumente
An Introduction to Simultaneous Multi-Threading Prinziples and Architectures

Die Sandy-Bridge Architektur

Teil 1: Prozessorstrukturen

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Tutorium Rechnerorganisation

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Intel P6 (Intel Pentium Pro) - Besonderheiten, Techniken und Architektur

Vorlesung Rechnerarchitektur. Einführung

Multiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Hyper-Threading oder Simultaneous Multithreading

Teil VIII Von Neumann Rechner 1

Computer - Aufbau u. Funktionsweise

Cell and Larrabee Microarchitecture

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Computergrundlagen Moderne Rechnerarchitekturen

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Virtueller Speicher und Memory Management

Pipelining. Die Pipelining Idee. Grundlagen der Rechnerarchitektur Prozessor 45

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1


Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Computergrundlagen Moderne Rechnerarchitekturen

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Betriebssysteme Vorstellung

RO-Tutorien 17 und 18

Beispiele von Branch Delay Slot Schedules

RO-Tutorien 3 / 6 / 12

Fachbereich Medienproduktion

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Verschiedenes. Peter B. Ladkin

Teil 1: Prozessorstrukturen

Mehrprozessorarchitekturen

Computergrundlagen Geschichte des Computers

RO-Tutorien 15 und 16

Technische Informatik 1

Seminar: Multi-Core Architectures and Programming

Compiler für f r Eingebettete Systeme (CfES)

Tutorium Rechnerorganisation

Was ist die Performance Ratio?

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Wie groß ist die Page Table?

Was ist Rechnerleistung

Computer-Architektur Ein Überblick

Cache Blöcke und Offsets

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Datenpfad einer einfachen MIPS CPU

Computergrundlagen Geschichte des Computers

Vorlesung 3: Verschiedenes

Symbian OS. OS für kleine Endgeräte: Sven Walter

Im Bereich der Entwicklung und Herstellung von Prozessoren spielen

Klausur Betriebssysteme

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

2 Rechnerarchitekturen

Teil 1: Prozessorstrukturen

Inhaltsangabe. 2.1 DieCPU Der Speicher Die Busse Klassifikation der von-neumann-rechner... 37

Technische Informatik 1 Übung 8 Instruktionsparallelität (Rechenübung) Andreas Tretter 8./9. Dezember Bitte immer eine Reihe freilassen

Johann Wolfgang Goethe-Universität

Grundlagen Rechnerarchitektur und Betriebssysteme

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Architektur paralleler Plattformen

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Prinzipien und Komponenten eingebetteter Systeme

Philipp Grasl PROZESSOREN

Schriftliche Prüfung

Grundlagen der Rechnerarchitektur

Datenpfad einer einfachen MIPS CPU

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Speicherarchitektur (23) Suchen einer Seite:

Kontrollpfad der hypothetischen CPU

Martin Stiller, Fakultät Informatik, Institut für Technische Informatik. LLVA: Eine virtuelle Befehlssatzarchitektur

Prozessor- und Rechnerarchitekturen (Master)

Grundlagen der Rechnerarchitektur. Speicher

Kontrollpfad der hypothetischen CPU

Allgemeine Lösung mittels Hazard Detection Unit

Datenpfad einer einfachen MIPS CPU

RO-Tutorien 15 und 16

Nebenläufige Programme mit Python

Prozessorarchitektur. Sprungvorhersage. M. Schölzel

27. Parallel Programming I

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen

Vertiefungsrichtung Rechnerarchitektur

Technische Informatik II

Transkript:

SEMINAR RECHNERARCHITEKTUR HYPER-THREADING TECHNOLOGY SERGE FOPOUSSI SEMINAR RECHNERARCHITEKTUR

GLIEDERUNG 1. BACKGROUND : Arbeitsweise eines von Neumann-Rechners 2. ENTWICKLUNG VON PROZESSOREN 3. HYPER-THREADING : Die neue Technologie 4. KERN EINES PROZESSORS HYPER-THREADING 5. VERGLEICH ZWISCHEN EINEM PROZESSOR OHNE UND MIT HT FUNKTIONALITÄT 6. VERGLEICH DER LEISTUNGEN VON HT UND SMP SEMINAR RECHNERARCHITEKTUR

BACKGROUND : Arbeitsweise eines von Neumann-Rechners Ein Rechner verarbeitet eine Menge von Daten, diese werden gespeichert und nach einem gewissen Schema rechnerintern zwischen verschiedenen Modulen hin und her transportiert. SEMINAR RECHNERARCHITEKTUR

BACKGROUND : Architektur eines von Neumann-Rechners Ein zentralgesteuerter Rechner besteht aus drei Grundbestandteilen: Datenbus CPU ROM RAM Speicher IO Adreßbus SEMINAR RECHNERARCHITEKTUR

BACKGROUND : Arbeitsweise eines von Neumann-Rechners 1. PC ---> MAR 2. #(Add.) ---> MBR 3. MBR ---> IR 4. Bitfolge wird decodiert. 5. Inhalt vom PC wird aktualisiert. 6. Befehl wird ausgeführt 7. Initiierung der Fetch-phase für den nächsten auszuführenden Befehl. Hier spielt die Zeit, welche benötigt wird zum Lesen aus dem Speicher, zur Interpretation und zum Ausführen des Befehls eine große Rolle. SEMINAR RECHNERARCHITEKTUR

ENTWICKLUNG VON PROZESSOREN In der Vergangenheit wurde Leistungssteigerung durch: Höhere Taktrate Berechnung von mehr Instruktionen pro Zeiteinheit Unterbrechung des I.Flußes in der Pipeline durch Cache Misses, Interrupts oder falsche Sprung-vorhersagen. Großere Caches Vergrößerung der L1 und L2 Caches Prozessor wird noch größer, komplexer, teurer. Steigerung der Schwierigkeiten Taktraten und Latenzeiten zu erreichen. Prefetch in der Mikroarchitektur von Prozessoren ermöglicht. SEMINAR RECHNERARCHITEKTUR

ENTWICKLUNG VON PROZESSOREN Eine andere Möglichkeit die Geschwindigkeit eines Prozessors zu steigern ist ILP (Instruktion Level Parallelism). Man versucht die Anzahl der ausgeführten Instruktionen pro Taktzyklus zu erhöhen. Mehrere Ausführungseinheiten: Infos werden parallel ausgeführt. Skaliert besonders gut, solange unabhängige Befehlen der CPUs zur verfügung stehen. Schlechte Skalierung, solange das Programm (In Oder Execution) ausgeführt werden müsst. (Beispiel: Pentium 1). Besser OoO (Out of Order): Infos zur Verarbeitung vorher sortiert. CPU geht effektiver zur Sache Ressource liegen brach, solange sie nicht von einem Thread gebraucht werden. (Beispiel: Pentium Pro) SEMINAR RECHNERARCHITEKTUR

ENTWICKLUNG VON PROZESSOREN Zusätzlich Höhere Taktrate bedeutet Höhere Temperatur Hersteller von Motherboard müssen sich an immer höherem Energieverbrauch der CPU anpassen. Bessere Techniken müssen entwickelt werden. Bestehende Ressourcen des Prozessors müssen effektiver ausgenutzt werden: Verbesserung der Pipeline in der Mikropro.Architekur. HYPER-THREADING.

HISTORY HT. kommt aus dem Serverbereich, wo Rechnersysteme mit mehr als einem Prozessor zum Einsatz kommen. Es ist hier möglich zwei Threads pro Taktzyklus zu verarbeiten. Ein Thread : Kleinster ausführbarer Teil eines Tasks. Ein Task ist ein sehr kleiner Teil eines Programms, den ein Prozessor auf einmal bearbeiten kann. Thread-Programmierte Anwendungen profitieren davon. Man kann von einer Verdoppelung der Leistung sprechen.

DIE NEUE TECHNOLOGIE HT-Technologie ist eine Technik, die SMT (Simultaneous Multi- Threading ) in einem einzigen physikalischen Prozessor ermöglicht. Der physikalische Prozessor spaltet sich in zwei logischen / virtuellen Prozessoren auf. Die virtuellen Prozessoren teilen sich ein Teil der physischen Ausführungs-ressourcen. Das Architectural State (Umsetz-Logik) für jeden Prozessor einzeln ist somit doppelt vorhanden. Ziel: Vorhandene Ressourcen effektiver ausnutzen.

DIE NEUE TECHNOLOGIE

KERN EINES PROZESSORS HYPER-THREADING Jeder Prozessor besitzt sein eigenes APIC (Advanced Programmable Interrupt Controller ) Trace Cache (L1 Cache), L2 Cache, Queues und Key-Buffers werden geteilt.

KERN EINES PROZESSORS HYPER-THREADING Two sets of next-instruction-pointers(ip) independently track the progress of 2 software Threads executing. IP TC

KERN EINES PROZESSORS HYPER-THREADING Es wird beim Trace Cache den Zugriff jedem Prozessor abwechselnd gewährt ( jedem Takt), solange die beiden Prozessoren Zugriff auf dem Cache haben möchten. Arch States Arch States The TC stores decoded Intructions (uops) TC

KERN EINES PROZESSORS HYPER-THREADING Beim TC Miss erhält ITLB (Intruction Translation Lookaside Buffer ) die Anfrage vom TC und übersetzt die IP-Adresse zu einer physischen Adresse. Die Anfrage wird an L2 Caches geschickt und der entprechende Bytes-Block wird zurückgegeben.

KERN EINES PROZESSORS HYPER-THREADING Nachdem die uops aus dem TC geholt werden, landen sie in der uops-queues. Diese Schlange entkoppelt das vordere Ende (In Oder Execution Engine) vom hinteren (Out Of Order Execution Engine). Das OOO (Out of Order) Execution Engine hat folgende Funktionen : Allocation Register Renamming Scheduling Execution

KERN EINES PROZESSORS HYPER-THREADING

KERN EINES PROZESSORS HYPER-THREADING Wenn einer der Prozessoren aufgrund eines Cache-Miss blockiert wird, steht der gesamte Trace Cache dem anderen Prozessor zu Verfügung. Das OOO (Out of Order) Execution Engine verfügt über mehrere Zwischenspeicher zum: Wiederordnen (Reorder) Nachverfolgen (Tracing) Aufteilung (Sequencing) von Operationen. Der Allocator füllt diesen Zwischenspeicher auf.

KERN EINES PROZESSORS HYPER-THREADING Wenn der Allocator seine Arbeit vollendet hat, landen die uops in zwei anderen Queues. Diese Queues sind so partitionniert, dass jeder virtuelle Prozessor maximal die Hälfte aller Einträge für sich verbuchen kann. Befinden sich dekodierte Instruktionen in der µop- Queue nur für einen virtuellen Prozessor, versucht der Allocator für diesen Prozessor jedem Takt Ressource zuzuweisen.

KERN EINES PROZESSORS HYPER-THREADING Aus diesen Queues bedienen sich fünf Scheduler abwechselnd aus dem Topf jedes virtuellen Prozessors, um die Ausführungseinheiten (ALU, FPU...) Aufgaben zur Verarbeitung zuzuteilen.

KERN EINES PROZESSORS HYPER-THREADING Nach der Ausführung werden die uops in ROB (Re- Order Buffer) gespeichert. ROB entkoppelt die Ausführungsenheit von der Retire Modul. Die Hälfte von ROB (Re-Ordner Buffer), Load und Store Buffers werden jedem virtuellen Prozessor zugeteilt.

KERN EINES PROZESSORS HYPER-THREADING

VORTEILE VOM HT Durch diese Verlängerung der Pipeline : Werden die Arbeitslast auf die einzelnen Stufen der Pipeline stärker aufgeteilt. Diese Aufteilung ermöglicht die Verhinderung von Hotspots im Prozessor, wie eine bessere Verteilung der Abwärme im gesamten Prozessoren. Die Schaltzeiten pro Pipeline-Stufe werden kleiner ( Das Signal benötigt weniger Zeit vom Anfang zum Ende einer Pipeline-Stufe.

NACHTEILE VON HT Durch diese Verlängerung der Pipeline : Wird falsche Sprungvorhersage deutlich anfälllig. Die Zeit zum Leeren und Wieder-Füllen der Pipeline verlängert sich. Die Pro-Mhz-Leistung sinkt entsprechend. Beispiel: Pentium 4 mit HT. DER NACHTEIL DER NIEDRIGEREN PRO-MHZ-LEISTUNG IST KLEINER ALS DER VORTEIL DER HÖHEREN TAKTLEISTUNG.

VERGLEICH ZWISCHEN EINEM PROZESSOR OHNE UND MIT HT FUNKTIONALITÄT Beide Threads werden genauso schnell berechnet, wie der erste auf dem herkommlichen Prozessor.

VERGLEICH DER LEISTUNGEN VON HT UND SMP

VERGLEICH DER LEISTUNGEN VON HT UND SMP Es gibt zwei Variante von Mehr-Prozessor-Systemen : SMT (Simultaneous Multithreading : HT) SMT bedeutet 2 oder mehrere virtuelle Prozessoren in einem System. Damit erreicht man eine Leistungssteigerung von bis zu 35 % ohne zusätzliche spezielle PC Komponente. Programme müssen angepasst werden. 2. SMP (Symetrische Multi-Processing) << Mehr- Prozessor-System>> SMP bedeutet 2 oder mehrere logische Prozessoren in einem System. Damit erreicht man eine Leistungssteigerung von bis zu 90 %. Es wird dafür ein spezielles Motherboard benötigt, welches das Doppelte kostet, als ein Motherboard für Single Prozessor System. Schlechtes Preis/Leistungsverhältnis. Programme müssen angepasst werden.

Zusammenfassung Eine CPU mit HT besteht weder aus 2 physischen Prozessoren, noch werden Anwendungen doppelt so schnell ablaufen. Es ist Aufgabe des Betriebssystems, anfallende Arbeiten auf die beiden virtuellen Prozessoren zu verteilen. Da die meisten Anwendungen nicht threaded-programmiert sind, kann das BS nicht sinnvoll die Rechenlast verteilen. Dafür ist es aber möglich Multitasking zu betreiben ohne in den Idle Modus gelanden zu müssen. HT versucht die Belegung von FPU und andere Units des Prozessors durch den aktuell bearbeitenden Thread zu optimieren, indem ein damit bestückter Prozessor durch seine zweite Allocator Unit zwei Threads parallel laufen läßt.

Zusammenfassung Vielen Dank für Eure Aufmerksamkeit! Quelle: http://www.thors-hardware.net/new_page/tests/systeme/hyperthreading.html http://www.computerbase.de/artikel/hardware/prozessoren/was_hyperthreading/ http://www.google.de/search?q=cache:rfaracclu5gj:www.cs.wisc.edu/~david/courses/cs752/reader/koufaty.pdf+hyper THREADING+TECHNOLOGY++IN+THE+NETBURST++MICROARCHITECTURE&hl=de http://www.informatik.uni-bremen.de/agra/ger/lehrmat.php?id=19 http://monet.unibas.ch/~guggisbe/kurs/lek1/vonneumannmod.htm http://www.3dcenter.org/artikel/2004/02-04.php http://www.wissen.de/xt/default.do?searchtype=topic&menuname=suche&query=thread