Multiprozessor System on Chip

Ähnliche Dokumente
Multiprozessor System on Chip. Heiko Bordasch Anwendungen 1 - Ausarbeitung

2 Rechnerarchitekturen

Anwendungsgebiete unterschiedlicher FPGA-basierter. Marco Kirschke INF-M2 Anwendung 2 Sommersemester Mai 2010

Implementierungsansätze für ein FPGA basiertes Multiprozessor. Marco Kirschke INF-M1 Anwendung 1 - Wintersemester 2009/

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/ November 2010

Johann Wolfgang Goethe-Universität

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

High Performance Embedded Processors

LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610

Mehrprozessorarchitekturen

Parallelisierung auf MPSoC-Plattformen

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

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

Systeme 1: Architektur

Abkürzungen. Kapitel 1 - Einleitung Stand der Automobilelektronik Historische Entwicklung Gegenwärtige Probleme 2

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

Multicore-Architekturen

Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Prof. Dr.-Ing. J. Teich

Parallele Rechnerarchitekturen

Verteilte Betriebssysteme

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

Neue Dual-CPU Server mit Intel Xeon Scalable Performance (Codename Purley/Skylake-SP)

Entwurfstechniken für Parallelisierung Auf MPSoC-Plattformen

HW/SW Codesign 5 - Performance

2. Der ParaNut-Prozessor "Parallel and more than just another CPU core"

Games with Cellular Automata auf Parallelen Rechnerarchitekturen

Entwicklung mit Xilinx-FPGAs

TecNews: Sandy Bridge

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg

Architektur paralleler Plattformen

Rechneraufbau und Rechnerstrukturen

Grafikkarten-Architektur

Gateway-Lösungen für die Anbindung ans Wissenschaftsnetz X-WiN, ein Update

Compute Unified Device Architecture CUDA

Tutorium Softwaretechnik I

Vertiefungsrichtung Rechnerarchitektur

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

HW/SW Codesign für Real-time Ethernet basierte Steuergeräte

General Purpose Computation on GPUs

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

Entwicklung einer FPGA-basierten asymmetrischen MPSoC Architektur. Heiko Wilken Seminar Ausarbeitung

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems

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

Emulation und Rapid Prototyping

Übersicht aktueller heterogener FPGA-SOCs

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Dekodierung eines Funkfernschreibersignals mithilfe der Zynq-Plattform. Lehrstuhlseminar Benjamin Koch

OpenMP. Viktor Styrbul

Kapitel 1 Parallele Modelle Wie rechnet man parallel?

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

Rekonfigurierbare Prozessoren

Seminar Multicore-Programmierung

MULTICORE- UND GPGPU- ARCHITEKTUREN

Architektur und Organisation von Rechnersystemen

Smart Metering: Entwicklung eines intelligenten Stromzählers

Aktuelle RTOS-Entwicklungen aus der Forschung

CPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1

Visualisierung paralleler bzw. verteilter Programme

SAN - Storage Area Network

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

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Rechneraufbau und Rechnerstrukturen

Chancen und Risiken von Multi-Core. Matthias Pruksch

Maik Zemann. Flynn s Taxonomie. Parallele Rechnerarchitekturen SS 2004 Technische Fakultät Universität Bielefeld. 3. Mai 2004 Flynn's Taxonomie 1

Hardware-Architekturen

Prozessoren in Programmierbarer Logik

KNX EtherGate Eine universelle Plattform für KNX/IP Interfaces

Datenflussrechnen mit FPGAs für die biomedizinische Bildverarbeitung

JAEMACOM Berlin. Benjamin Schantze IGEL Technology GmbH

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

Parallele und verteilte Programmierung

Einführung in Peer-To-Peer (P2P) Datenstreaming mit NI FlexRIO

Palo Alto Networks Innovative vs. Tradition. Matthias Canisius Country Manager DACH

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

Samsungs Exynos 5 Dual

Skalierbare Rechensysteme für Echtzeitanwendungen

Philipp Grasl PROZESSOREN

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

Transkript:

Multiprozessor System on Chip INF-M1 AW1-Vortrag 25. November 2009

Übersicht 1. Einleitung und Motivation 2. Multiprozessor System on Chip (MPSoC) 3. Multiprozessoren mit Xilinx EDK 4. FAUST SoC Fahrzeug 5. Ausblick und Zukunft Inhaltsverzeichnis 2

Motivation & Ziele FAUST Projekt High Performance Embedded Computing Aufbau einer MPSoC basierten Fahrzeugsteuerungsplattform Einsatz von Multiprozessoren bei der Fahrspurerkennung Teilnahme am Carolo Cup für autonome Fahrzeuge Motivation 3

Einsatz von System on Chip Systemen Motivation 4

Motivation Multicore - Mooresches Gesetz [NI 2008] G. Moore: Alle 2 Jahren verdoppelt sich die Anzahl der Transistoren pro Chip Heute: Gleichbleibende Taktfrequenz bei steigender Transistoranzahl Speicherzugriffszeiten wachsen langsamer als CPU-Geschwindigkeiten Motivation 5

Warum Multiprozessor System on Chip? High Performance Embedded Computing höhere Leistung bei niedrigeren Taktfrequenzen hoher Energiebedarf und steigende Wärmeabgabe bei Singlecores Leistungssteigerung bei Verringerung des Energiebedarfs (Spezialisierung) Echtzeitanforderungen bei hohen Datenraten Video- und Audioanwendungen oder Fahrerassistenzsysteme Motivation 6

Forschung Wer macht was? Marktführer FPGAs Interuniversity Microelectronics Centre (Belgien) MPSoC Forum (jährliche Konferenz) Forschungszentrum Informatik (Karlsruhe) Motivation 7

Grundlagen Multiprozessoren MPSoC 8

Multiprozessoren Homogene Multiprozessoren - Identische Prozessoren weit verbreitet, da einfacher zu entwickeln - kein Effizienz Optimum hoher Speicherbedarf / schlechte Performance Heterogene Multiprozessoren - Unterschiedliche Prozessoren mit spezifischen Aufgaben - bessere Performance durch Spezialisierung - hoher Entwicklungsaufwand noch selten verbreitet MPSoC 9

Multiprozessor Architekturen 1..n Prozessoren teilen mehrere Caches Zugriff auf gemeinsamen Hauptspeicher Typisch bei Server Konfigurationen (z.b. Intel Core 2) schrittweise Weiterverarbeitung der Daten jeder Prozessor hat spezifische Aufgabe Einsatz in Grafikchips oder Netzwerk-Prozessoren MPSoC 10

Kommunikationsmechanismen zwischen Prozessoren Shared Memory mit Synchronisation Message Passing bei verteilten Speichersystemen (FIFO) Direkte Kommunikation über Bussystem Kommunikation über Network on Chip Strategien (Zukunftsperspektive) Problem bei verteilten Caches: Cache-Kohärenz MPSoC 11

Topologien von Multiprozessoren Bussystem: Crossbar: Ring: Mesh: MPSoC 12

Zukunftsperspektive: Network on Chip [IEEE 2008] Embedded Router mit Routingtabelle Datenheader enthält Zieladresse Meist verwendeter Routing Algorithmus Dimension-Ordered-Routing MPSoC 13

Problem: Amdahlsches Gesetz [Multicore, 2008] Ein Programm kann nie vollständig parallel ausgeführt werden. Geschwindigkeitszuwachs hängt zunehmend vom sequentiellen Programmteil ab MPSoC 14

Multiprozessoren Xilinx EDK Xilinx Multiprozessor 15

Xilinx Embedded Development Kit (EDK) Project Area Connectivity Panel System Assembly View Xilinx Multiprozessor 16

Xilinx Multiprozessor System [Xilinx 2007] Xilinx Multiprozessor 17

Multiprozessor Systeme mit Xilinx EDK direkte Kommunikation der MB auf Registerebene über Fast Simplex Link geteilter externer Speicher über MPMC mit 8 Ports max. 4 Prozessoren geteilter interner BRAM über Local Memory Bus (LMB) max. 2 Prozessoren Kein Support für Cache Kohärenz Software Design getrennte Bussysteme für High- und Low Performance Prozessoren Xilinx Multiprozessor 18

Xilinx Interprozesskommunikation und Synchronisation XPS Mailbox IP Zwei getrennt konfigurierbare FIFOs für Sender und Empfänger Synchron mit Polling oder asynchron durch Interrupts XPS Mutex IP konfigurierbare Anzahl an Mutexregistern für Lock und Unlock MicroBlaze unterstützt keine atomaren Operationen Xilinx Multiprozessor 19

Ausblick FAUST SoC Fahrzeug Ausblick 20

Zielsystem: Autonomes FAUST SoC Fahrzeug Trennung von Realtime und Non-Realtime IPs Getrennte Bussysteme Getrennte MicroBlazes eventuell getrennte Boards Ausblick 21

Aufgaben bei der Fahrspurerkennung 1. Aufnehmen und Einlesen des Bildes (30 Frames per Second) 2. Binarisierung und Filterung 3. Bildanalyse Kantendetektion 4. Fahrspurerkennung Geradenerkennung mit Hough Transformation 5. Reaktionsverhalten und Datentransfer Steuersignale Aufgaben der Fahrspurerkennung könnten von mehreren MicroBlazes in einer Pipeline Architektur erledigt werden. Ausblick 22

Zukunft und Ziel Aufbau einer FPGA basierten Multiprozessorplattform (MPSoC) Teilnahme am Carolo Cup 2011 Einsatz von MPSoC System auf autonomen Fahrzeug (FAUST) Trennung von Realtime und Non-Realtime Systemen Erprobung von SW-Konzepten für parallele Mikroprozessoren Threadbasierte Parallelisierbarkeit von Software mit OpenMP Ausblick 23

Vielen Dank für Ihre Aufmerksamkeit Fragen? 24

Literaturverzeichnis [1] Instrument, N. (2008). NI Developer Zone. Von http://zone.ni.com/dzhp/app/main abgerufen [2] Jerraya, A. A., & Wolf, W. (2005). Multiprocessor Systems-on-Chips. Elsevier Verlag. [3] S.Lukovic, & L.Fiorin. (2008). An Automated Design Flow for NoC-based MPSoCs on FPGA. IEEE Paper. [4] S.W.Keckler, K.Olukotun, & H.P.Hofstee. (2009). Multicore Processors ans Systems. Springer Verlag. [5] T.Rauber, & G.Rünger. (2008). Multicore: Parallele Programmierung. Springer Verlag. [6] Xilinx. (2007). Designing Multiprocessor Systems in Platform Studio. Xilinx White Paper. [7] Xilinx, & Asokan, V. (2008). Dual Processor Reference Design Suite. Xilinx Application Note. Literaturverzeichnis 25

Flynnsche Klassifizierung MISD (Multiple Instruction Single Data) 1..n Rechenressourcen führen verschiedene Befehle auf dieselben Daten aus SIMD (Single Instruction Multiple Data) - Vektorprozessoren 1..n Rechenressourcen führen einen Befehl auf mehrere Daten aus 1 Befehl wird auf verschiedene Eingangsströme mit mehreren CPUs ausgeführt MIMD (Multiple Instruction Multiple Data) Cluster Computer / Multiprozessoren 1..n Rechenressourcen führen verschiedene Befehle auf mehrere Daten aus Jede Prozessor hat Zugriff auf die Daten der anderen Prozessoren MPSoC 26