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