Multiprozessoren: Herausforderung für die Software

Werbung
Multiprozessoren: Herausforderung
für die Software
Michael Pöttschacher
Agenda
Gründe
Multiprozessoren Theorie
Leistungssteigerung
Folgen
Aktuelle MultiCore Systeme
Ausblick
16.05.2016
Michael Pöttschacher
2
Multiprozessoren, warum?
• Moore’s Law: Rechenleistung verdoppelt sich
alle 18 Monate
– Single-Core Systeme erreichen
Technologiegrenzen
– Probleme: Verlustleistung, physikalische Grenzen
→ Lösung: Multiprozessorsysteme
16.05.2016
Michael Pöttschacher
3
Arten von Multiprozessoren (1)
speichergekoppelt
16.05.2016
nachrichtengekoppelt
Michael Pöttschacher
4
Arten von Multiprozessoren (2)
• Speichergekoppelt Multiprozessoren
– gemeinsamer Adressraum (shared memory)
– Kommunikation über diesen Adressraum
• Symmetrischer Multiprozessor (SMP)
– ein globaler Speicher
• Distributed-Shared-Memory System (DSM)
– physikalisch verteilte Speichermodule
16.05.2016
Michael Pöttschacher
5
Arten von Multiprozessoren (3)
• Nachrichtengekoppelte Multiprozessoren
– physikalisch verteilter Speicher
– prozessorlokale Adressräume
– Kommunikation mittels Nachrichten
16.05.2016
Michael Pöttschacher
6
Leistungssteigerung durch
Multiprozessorsysteme
Leistungssteigerung (Speed-up)
T(1) ......... Ausführungszeit auf einem
Einprozessorsystem (in Takten)
T(n) ......... Ausführungszeit auf einem
Multiprozessorsystem (in Takten)
16.05.2016
Michael Pöttschacher
7
Amdahls Gesetz
a ….. Ausführungszeit des nur
sequentiell ausführbaren Programmteils
maximale Leistungssteigerung
16.05.2016
Michael Pöttschacher
8
Folgen für die Software
• „Free Lunch is over“ [Herb Sutter, Microsoft]
• Anwendungen müssen parallelisiert werden
– Data decomposition
– Functional decomposition
• erfordert:
– neue Programmiersprachen
– neue Programmiermodelle
– neue Tools
16.05.2016
Michael Pöttschacher
9
Folgen für die Entwickler
• parallele Programmierung
(Concurrent Programming )
– schwieriger
– fehleranfälliger
• zusätzlicher Aufwand
– Kommunikation
– Synchronisation
• genauere Kenntnisse über die Hardware
16.05.2016
Michael Pöttschacher
10
aktuelle MultiCore Systeme (1)
• UltraSparc T1 (Sun)
– 1,2 GHz
– 8 Kerne
• keine vollständigen Prozessoren
• alle Kerne teilen sich eine FPU
– nicht arithmetischer Anwendungsbereich
– zielt auf Leistung/Watt
16.05.2016
Michael Pöttschacher
11
aktuelle MultiCore Systeme (2)
• Cell BE (IBM, Sony, Toshiba)
– 4,6 GHz
– ein Power5 Kern, 8 Vektorprozessoren
– „System on a Chip“ Design
– zentrale Steuerung mittels vereinfachtem 64-Bit
Power5 Prozessor (PPE, Power Processing Element)
– 8 unabhängige Synergistic Processing Units (SPU)
– 204,8 GByte/s schneller Interconnect
16.05.2016
Michael Pöttschacher
12
aktuelle MultiCore Systeme (2)
16.05.2016
Michael Pöttschacher
13
kommende MultiCore Systeme
• Vega-2 (Azul Systems)
– 64-Bit Prozessor
– 48 Kerne
– 812 Millionen Transistoren (Cell: 234)
– JAVA und .NET – Anwendungen beschleunigen
– verfügbar Ende 2007
16.05.2016
Michael Pöttschacher
14
Ausblick
„In weniger als 10 Jahren werden
Standardmikroprozessoren mehr als 128
Prozessoren auf dem Chip aufweisen“ [1]
16.05.2016
Michael Pöttschacher
15
Vielen Dank für Ihre
Aufmerksamkeit
Quellenverzeichnis
• Feldrechner, Vektorrechner und Multiprozessoren
– www.informatik.uni-augsburg.de/lehrstuehle/
sik/lehre/ws/info1/folien/Info1_Kap3.pdf
• Betriebssystemkonzepte
– www.bs.informatik.uni-siegen.de/ www/lehre/ws0405/bs1/v02_4.pdf
• Alleskönner oder Hype - der Cell-BE-Prozessor
– http://www.tecchannel.de/technologie/prozessoren/444414/
• IDF 2006: Software für mehrere Kerne
– http://praxis.thgweb.de/2006/10/03/idf_2006_4/page2.html
• [1] http://www.tecchannel.de
16.05.2016
Michael Pöttschacher
17
Herunterladen