parallel 2018: Grenzen und Chancen der Parallelprogrammierung

Welche oft ungeahnte Komplexität Parallelität mit sich bringt, zog sich als roter Faden von der ersten Keynote bis zum Schluss der Konferenz durch. Außerdem öffneten sich mögliche Themenfelder für die Zukunft.

In Pocket speichern vorlesen Druckansicht
parallel 2018: Grenzen und Chancen der Parallelprogrammierung
Lesezeit: 6 Min.
Von
  • Michael Müller
Inhaltsverzeichnis

Vom 6. bis 8. März fand in Heidelberg die siebte Auflage der parallel statt. Den ersten Tag konnten interessierte Teilnehmer nutzen, um sich im Rahmen von Workshops auf die Konferenz vorzubereiten oder spezielle Themen zu vertiefen. Die Hauptkonferenz startete am 7. März nach der Eröffnung mit einer Keynote von Professor Michael Resch, seines Zeichens Direktor des High Performance Computing Center an der Uni Stuttgart und als solcher Herr über einen der schnellsten Computer der Welt. Während die Rechner durch eine stetig wachsende Anzahl von Prozessoren zunehmend leistungsfähiger werden, könne deren Auslastung mit dieser Entwicklung nicht immer mithalten. Wer ist schon in der Lage, bei der Masse von mehreren Hunderttausend Cores den Überblick zu behalten und alles richtig zu synchronisieren?

Parallelität eröffnet nicht nur neue Lösungsräume, sondern schafft auch neue Probleme, deren Behandlung Entwickler lernen müssen. Das kam auch in diversen anderen Sessions zum Ausdruck, sodass sich einige Aspekte der Keynote wie ein roter Faden durch die Konferenz zogen.

Im Zusammenhang mit Superrechnern stellt sich die Frage, wohin die Reise geht. Eine signifikante Beschleunigung einer CPU erfordert kleinere physikalische Strukturen. Und hier zeigte Resch aktuelle Studien, die – anders als noch vor wenigen Jahren – nicht mehr von einer deutlichen Verkleinerung ausgehen. Vielmehr nehme der Bedarf für noch leistungsfähigere Supercomputer ab – abgesehen von einigen politisch motivierten Prestigeobjekten. Somit lohne sich der Aufwand für die Chip-Hersteller nicht mehr unbedingt.

Prof. Dr.-Ing. Michael Resch bei seiner Eröffnungs-Keynote

Die Gedanken zu den physikalischen Strukturen fanden ihre Fortsetzung im letzten Vortrag des ersten Tages, in dem Professor Wolfgang Mauerer über die physikalischen Grenzen der Parallelisierung sinnierte. Um die Strukturen zu verkleinern, könne man ein Photon als Informationsträger einer Null oder Eins nutzen. Dabei gibt es eine kleinste Umschaltzeit, die abhängig ist von der zugeführten Energie. Nach der Formel E = mc² lässt sich recht einfach die Menge Energie einer Maß Bier berechnen. Leider ist die gesamte Energie nur bei Zerstrahlung nutzbar, und hier stehe das Gesetz im Wege, das Strafen für das Herbeiführen einer Kernreaktion vorsieht. Schwarze Löcher auf der anderen Seite eignen sich nicht für die Parallelisierung, da dort nur Single-Thread möglich sei. Obwohl der Vortrag für die Teilnehmer kaum einen praktischen Nutzen hatte, zeigte er auf unterhaltsame Art spannende physikalische Aspekte auf und regte zum Nachdenken an.

Die Keynote am zweiten Tag von Michael Keckeisen beschäftigte sich mit parallelem Rechnen in der digitalen Fahrzeugentwicklung. Statt mehrere Hundertmillionen Kilometer an Testfahrten physisch durchzuführen, findet der größte Teil davon ebenso im Rahmen digitaler Simulationen statt wie ein Großteil der Windkanalanalysen. Dabei muss die Software das Fahrzeug digital aus seinen Komponenten zusammensetzen. Üblicherweise kommt für die Oberflächenmodellierung ein Linienraster mit etwa vier Millimetern zum Einsatz – die Grenze setzt die aktuell verfügbare Rechenleistung. Um die Simulationen berechnen zu können, müssen die CAD-Workstations über die Wochenenden durchlaufen. Zu wenig Rechenleistung auf der einen Seite stehen nicht immer ausgelastete Superrechner auf der anderen gegenüber. Professor Resch hatte in seiner Keynote darauf hingewiesen, dass die Industrie gegen entsprechende Kostenbeteiligung den Supercomputer mitnutzen könne.

Abseits der Keynotes beschäftigten sich erneut die meisten Vorträge mit konkreten Problemstellungen und Lösungsansätzen in C++. Fortran war diesmal nicht vertreten, auch wenn es nach Meinung einiger der anwesenden Experten immer noch die beste Sprache für paralleles Number Crunching ist. Dafür gab es deutlich mehr Vorträge als im Vorjahr, die sich mit Java beschäftigten. Die Programmiersprache ist ebenso wie das in einigen Vorträgen thematisierte C# weniger für systemnahe Entwicklung ausgelegt als vorrangig für Business-Applikationen.

heise-Developer-Blogger Rainer Grimm widmete sich Best Practices für Parallelität in C++.

Der erste Konferenztag ging nahtlos in Thementische über, an denen die Teilnehmer sich locker mit den Sprechern über konkrete Themen unterhalten konnten. Dabei fand der Block "Parallelisierung von Business-Applikationen, oder warum entwickeln viele noch sequenziell?" den größten Zulauf. Es stellte sich heraus, dass in der Praxis manchmal das Einfrieren des User Interface in Kauf genommen wird, um den Schritt zur Nebenläufigkeit zu vermeiden. Andere alte Applikationen seien in einer Form gewachsen, die eine Parallelisierung – zumindest mit dem jeweiligen Kenntnisstand – nur schwer oder gar nicht erlaube. An dieser Stelle herrscht eindeutig Informationsbedarf. Schön wäre, wenn die Veranstalter die parallel in einer Weise erweitern, dass sie solchen Entwicklern ein gezieltes Forum über die bisherigen Ansätze hinaus bietet und wenn die daran interessierten Teilnehmer nicht nur vereinzelte Vorträge, sondern einen kompletten Track dazu fänden.

Der Frauenanteil in der Informatik ist in Deutschland mit etwa 15 % bis 20 % im Vergleich zu anderen Ländern recht gering. Auf der parallel 2018 lag der Anteil sogar unter 3 %. Auf die Frage nach dem Warum hieß es, Frauen seien weniger in der systemnahen Programmierung, sondern mehr im Bereich von Business-Applikationen tätig. Dass die nebenläufige Programmierung dabei teilweise noch in den Kinderschuhen steckt, bestätigt die Notwendigkeit, die Konferenz in diese Richtung zu ergänzen.