Rechnerstrukturen, Teil 2

Ähnliche Dokumente
Motivation. Eingebettetes System: Aufgabe:

Grundlagen der Rechnerarchitektur

EHP Einführung Projekt A

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

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Multiprozessor System on Chip

Die Sandy-Bridge Architektur

Synthese Eingebetteter Systeme. 14 Abbildung von Anwendungen auf Multicore-Systeme

Games with Cellular Automata auf Parallelen Rechnerarchitekturen

Einführung in die Systemprogrammierung

Technische Informatik 1

Johann Wolfgang Goethe-Universität

Vorlesung Rechnerarchitektur. Einführung

Rechnerarchitektur und Betriebssysteme (CS201): Multiprogramming und -Tasking Flynn-Klassifikation, ILP, VLIW

IT für Führungskräfte. Zentraleinheiten Gruppe 2 - CPU 1

Übersicht aktueller heterogener FPGA-SOCs

Modul InfB-RS: Rechnerstrukturen

Grundlagen der Rechnerarchitektur. Einführung

Samsungs Exynos 5 Dual

Sensorsimulation in Hardware in the Loop-Anwendungen

Architektur paralleler Plattformen

Vortrag zum Proseminar Architekturen der ARM CORTEX Familie

Philipp Grasl PROZESSOREN

Erfolg mit Embedded Vision Systemen. Dipl.-Ing. Carsten Strampe Embedded Vision Systeme 1

Teil Rechnerarchitekturen M07. Multiprogramming und Tasking, Flynn-Klassifikation, Parallelismus. Corinna Schmitt

Instruktionen pro Takt

Grundlagen der Parallelisierung

Grafikkarten-Architektur

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Rechneraufbau und Rechnerstrukturen

OpenMP. Viktor Styrbul

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Was ist die Performance Ratio?

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

moderne Prozessoren Jan Krüger

Energiesparmechanismen des

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat

Auch hier wieder. Control. RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite. Instruction[31 26] (also: das Opcode Field der Instruktion)

JAEMACOM Berlin. Benjamin Schantze IGEL Technology GmbH

Kapitel 4 Grundlagen zur Parallelverarbeitung

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

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

Parallelisierung auf MPSoC-Plattformen

Spielst du noch oder rechnest du schon?

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

9 Multithreading. 1 Idee des Multithreading

Rechnergrundlagen SS Vorlesung

Hardware Praktikum 2008

Paralleles Rechnen. (Architektur verteilter Systeme) von Thomas Offermann Philipp Tommek Dominik Pich

Rechner Architektur. Martin Gülck

Processors for mobile devices

Multicore-Architekturen

OpenCL. OpenCL. Boris Totev, Cornelius Knap

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück

1. Einleitung. Informationstechnische Systeme

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern

Codesigned Virtual Machines

Grüne Innovationen im Auto

Computer-Generationen

HW/SW Codesign 5 - Performance

Neue Prozessor-Architekturen für Desktop-PC

Software ubiquitärer Systeme

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

Kapitel Grundlagen zur Parallelverarbeitung

Team. Prof. Dirk Timmermann. Siemens AG (ICN Greifswald)

Release Notes Miss Marple Lizenzkontrolle

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Unvergleichlich flexibel

Leistungsverteilung im Rechner

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Vorlesung "Struktur von Mikrorechnern" (CBS)

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Inhalt. 1. Mikrocontroller 2. FPGA 3. Vergleich 4. Hybride Systeme 5. Zusammenfassung 6. Quellenverzeichnis

Automatische Testsysteme und ihre Programmierung. Dresden, Michael Dittrich,

Hardware-Architekturen

Vorlesung Automotive Software Engineering Teil 4 Das Automobil (1-3) Wintersemester 2014/15 TU Darmstadt, FB 18 und FB 20

Rechneraufbau und Rechnerstrukturen

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Aufgabe 1 Entwicklung einer Virtuellen Maschine

Projekt Prof. Dr.-Ing. Ingo Kunold

Intelligente Energieversorgung in Gebäuden

Mikroprozessor als universeller digitaler Baustein

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Linux auf FPGAs. Massgeschneiderte Computersysteme. Christoph Zimmermann, Marc-André Beck. 1. März Berner Fachhochschule MedOnStream

Transkript:

12 Rechnerstrukturen, Teil 2 Vorlesung 4 SWS WS 17/18 2.6 Prozessortrends (Erweiterung von 2.3) Prof. Dr. Jian-Jia Chen Fakultät für Informatik Technische Universität Dortmund jian-jia.chen@cs.uni-.de http://ls12-www.cs.tu-.de

Alternative Architekturen DSP: Digitale Signalprozessoren;; Prozessoren, die auf die Verarbeitung digitaler Signale (Sprache, Video) optimiert sind VLIW: very long instruction word Prozessoren;; Prozessoren, die mit breiten Paketen von Befehlen mehrere Befehle gleichzeitig starten können ASIP: application specific instruction set processors;; Prozessoren, die für bestimmte Anwendungen (z.b. MPEG) optimiert sind FPGA: field programmable gate array;; Schaltung, deren Verhalten man durch Programmierung verändern kann. ASIC: application specific integrated circuit;; speziell für eine Anwendung entwickelter integrierter Schaltkreis - 2 -

Notwendigkeit der Betrachtung der Energieeffizienz Ausführungsplattform Relevant während Benutzung? Stationär Teilweise mobil Mobil z.b. Fabrik Auto Sensor Globale Erwärmung þ Kosten der Energie þ Steigerung der Performance þ þ þ Probleme der Kühlung þ þ þ Zu hohe Stromdichten, Metallwanderung þ þ þ Zuverlässigkeit þ þ þ Sehr begrenzt verfügbare Energie þ þ el. Leistung Graphics: P. Marwedel, 2011-3 -

Trend hinsichtlich Energieeffizienz Hugo De Man, IMEC, 2007 GOPS/J - 4 -

Hohe Taktraten energetisch ineffizient Rechnen mit niedrigen Taktraten energetisch effizienter: Basisgleichungen Leistung: P ~ V DD ², Maximale Taktfrequenz: f ~ V DD, Energiebedarf für ein Programm: Zeitbedarf für ein Programm: t ~ 1/f E = P t, mit: t = Laufzeit (fest) Änderungen durch Parallelverarbeitung, mit α Operationen pro Takt: Taktfrequenz reduziert auf: f = f / α, Spannung kann reduziert werden auf: V DD = V DD / α, Leistung für Parallelausführung: P = P / α² pro Operation, Leistung für α Operationen pro Takt: P = α P = P / α, Zeit zur Ausführung des Programms: t = t, Energie zur Ausführung des Programms: E = P t = E / α F Es ist effizienter, α Operationen parallel auszuführen Laut IBM/Böblingen in der Praxis eher P~V DD 3 als diese sequentiell in einem α ten Teil der Zeit auszuführen. - 5 -

Entwicklung der Taktfrequenzen Copyright 2011, Elsevier Inc. All rights Reserved. [Hennessy/Patterson: Computer Architecture, 5th ed., 2011] - 6 -

Vorhersage der Taktfrequenzen Interner Takt [GHz] 8 7 6 5 4 3 2 1 0 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 Steigerungsraten reduziert, nur noch moderate Steigerung. [ITRS, 2011 Overall Roadmap Technology Characteristics (ORTC) Tables ] - 7 -

Steigerung der Performance Copyright 2011, Elsevier Inc. All rights Reserved. [Hennessy/Patterson: Computer Architecture, 5th ed., 2011] - 8 -

Trend zu Multiprozessor-Systemen Grenzen der effizienten Realisierbarkeit von Einzelprozessoren erreicht: - Höhere Taktraten nur schwer zu erreichen - Höhere Taktraten nicht mehr energieeffizient (Kriterium Watt/Millionen Operationen) - Sprungvorhersage wird immer komplizierter - Bei Multiprozessor-Systemen werden mehrere Prozessoren zusammengeschaltet: - Gleiche Multiprozessorsysteme: F homogene Multiprozessoren - Unterschiedliche Multiprozessorsysteme: F heterogene Multiprozessoren (für Anwendung optimiert) - 9 -

Einschub: Multi-threading/multi-processing In realen Rechnern meist mehrere Prozesse ausgeführt. Prozesse können wiederum aus threads (leichtgewichtige Prozesse) bestehen, den Einheiten der sequentiellen Ausführung. Prozesse haben eigene, threads verfügen über gemeinsame Adressen - 10 -

Einschub: Dispatcher Prozessen bzw. threads wird durch einen dispatcher der Prozessor zugeteilt. Dispatcher schaltet zwischen Ausführung um (context switch). Bei context switch werden alle Registerinhalte - des anzuhaltenden Prozesses/threads in einen ihm zugeordneten Datenblock (process control block, PCB) gerettet & - die des zu fortzuführenden Prozesses/threads aus seinem PCB geladen. Prozessen wird suggeriert, der Prozessor gehöre ihnen allein (bis auf Zeitverhalten). - 11 -

Einschub: Context switch Prozessor Register A Ausführung A B Speicher PCB A B PCB B A B - 12 -

Einige Eigenschaften 2007 aktueller Prozessoren Beispiel: Intel Core 2 Extreme Quad-Core QX6000 (homogen): 4 Prozessoren auf einem Chip Jeder Prozessor kann pro Takt bis zu 4 Befehle beenden Befehle können sich gegenseitig überholen (dynamic scheduling, out-of-order execution) Sprungvorhersage 64-bit und 32-bit Operationen Bis zu 3 GHz ext. Takt Verlangt thermischen Entwurf für 130 W Leistungsaufnahme Stromaufnahme bis zu 125 A Spannungsversorgung 0,85-1,6 V je nach Anforderung 775 Anschlüsse, davon ~2/3 für die Spannungsversorgung [www.intel.com] [http://media.schot tenland.de/pi/intel Core2ExtremeQx 6700.jpg] - 13 -

Einige Eigenschaften 2011 aktueller Prozessoren Beispiel: Intel Core i7-980x Processor Extreme Edition: 6 Prozessoren auf einem Chip (homogen) Hyperthreading: 2 threads/prozessor überlapp. Befehle können sich gegenseitig überholen Fertigung im 32 nm Prozess 1,17 x 10 9 Transistoren 64-bit und 32-bit Operationen 3,33 GHz (Turbo 3,6 GHz) ext. Takt Maximale Leistungsaufnahme (TDP): 130 W Stromaufnahme bis zu 181,1 A Spannungsversorgung 0,8-1,375 V je nach Anforderung 1366 Anschlüsse, incl. 435 für die Spannungsversorgung [http://download.intel.com/design/ processor/datashts/323252.pdf] - 14 -

Eigenschaften eines 2013 aktuellen Prozessors Beispiel: Intel Core i7-4930mx Processor Extreme Edition: 4 Prozessoren auf einem Chip (homogen), 2 threads/prozessor Befehle können sich gegenseitig überholen, 1,4 x 10 9 Transistoren Fertigung im 22 nm Prozess, 3 GHz (Turbo 3,9 GHz) ext. Takt Maximale Leistungsaufnahme (TDP): 84 W, Strom bis zu 95 A Integrierte Graphik (F tlw. heterogen), 1150 Anschlüsse Intel http://www.intel.com/content/dam/www/public /us/en/documents/datasheets/4th-gen-corefamily-desktop-vol-1-datasheet.pdf - 15 -

Experimentell: Intel single chip cloud computer Experimentelle (homogene) Plattform (2009) Intel - 16 -

Klassifikation von Multiprozessorsystemen nach Daten- und Befehlsströmen [Flynn] Befehlsströme 1 >1 Datenströme 1 SISD MISD >1 SIMD MIMD SISD Bislang besprochene Einzelrechner MIMD Netze aus Einzelrechnern;; sehr flexibel SIMD MISD Ein Befehlsstrom für unterschiedliche Daten;; identische Befehle bilden starke Einschränkung Mehrere Befehle für ein Datum: Kann als Fließband von Befehlen auf demselben Datenstrom ausgelegt werden. Ist etwas künstlich. Klassifikation hat nur begrenzte Aussagekraft;; keine bessere vorhanden. - 17 -

Multiprocessor Systems On A Chip (MPSoCs) - Beispiele belegen Existenz effizienter heterogener Prozessoren - Hugo De Man, IMEC, 2007-18 -

Energieeffizientes Design mit (halb) heterogenen Prozessoren Halb Heterogen : Identischer Befehlssatz (ISA), aber optimiert für Performance bzw. Energieeffizienz http://www.arm.com/files/downloads/ big_little_final_final.pdf ARM - 19 -

Unterschiede u.a. aufgrund unterschiedlicher Fließbänder http://www.arm.com/files/downloads/ big_little_final_final.pdf - 20 -

Anwendung: Samsung Exynos 5 Octa 4 Cortex A7 + 4 Cortex A15 Eingebaut in manche Varianten des Samsung S 4 Videos: http://de.engadget.com/2013/09/11/exynos-5-octa-lasst-seine-8-kerne-spielen-und-zeigt-uns-was-er/ Photo: Samsung - 21 -

Homogen vs. heterogen homogen ISA identisch, Implementierung verschieden heterogen Leichte Verlagerung von Prozessen Fehlertoleranz per Verlagerung Effizienz durch Optimierung für Anwendung + + - + + - - (+) + Software-Entwurfsaufwand + (+) - Prozessor-Entwurfsaufwand + ± - J - 22 -

Multi-cores in der Großrechnerwelt - 23 -

Korrektur der Vorhersagen der Taktraten ITRS 2013-24 -

Anzahl der Komponenten stationärer Systeme [ITRS Update 2010] - 25 -

Vorhersage der Anzahl der Funktionen pro Chip [ITRS 2011] - 26 -

# Transistoren bei Prozessorchips [ITRS 2011] - 27 -

Wie viele Cores werden es werden? 2 Aufgrund der Probleme mit der Wärmeabfuhr kann man bei maximaler Taktrate von ~200 Prozessoren nur 10 mit Strom versorgen F dark silicon - 28 -

Niedrigere Spannung, langsamerer Takt? 2 Sieht im ersten Moment besser aus - 29 -

Bestes Ergebnis bei 44 Cores Taktung mit 10 GHz Optimaler Takt Nur Flächenbeschränkung Bandbreitengrenze Weitere Performancesteigerungen bleiben begrenzt - 30 -

- 31 -

Programmierung von Mehrprozessor-Systemen Übliche imperative Sprachen (C, C++, Java, ): Abstraktion der seq. Ausführung in von-neumann Maschine. F für Programmierung von 1 Maschinen konzipiert. F Existierende Anwendungen für Programmierung von parallelen Maschinen konzipiert. Kann man aus existierenden Anwendungen automatisch Parallelität extrahieren? - Auf der Basis riesigen Aufwandes begrenzte Erfolge im high performance computing (HPC;; Simulationen in Physik, Chemie usw.) - Für allgemeine Anwendung weitgehend ein Fehlschlag - 32 -

Lösungsansätze Alternative Berechungsmodelle - Funktionale Sprachen - Datenflusssprachen - Signalflussgraphen - Task-Graphen als Anwendungsmodellierung seq. Prozess Bislang keine allgemein nutzbare Lösung, Prozessorhersteller setzen große Summen auf MP-Technologie - 33 -

Zusammenfassung Skalieren der Taktrate wg. des Energieverbrauchs begrenzt Skalieren der Perfomanz v.a. über mehr Kerne (multi-cores) Energieverbrauch F teilweise heterogene Multi-Cores Unklare Situation hinsichtlich der Richtung - Geeignetes Berechungsmodell? - Geeignete Architekturen? - Geeignete Sprachen? F Mögliches Ende des Paradieses, in dem immer komplexere Softwarearchitekturen durch immer leistungsfähigere Hardware möglich werden. - 34 -