Alles parallel: Bericht zur parallel 2014

Die mobile Denkfabrik  –  0 Kommentare

Aufgrund thermischer Beschränkungen lässt sich die aus einem Prozessorkern entnehmbare Leistung nicht uneingeschränkt steigern – wer mehr Performance will, muss sein Programm parallelisieren. Seit zwei Jahren treffen sich an diesem Thema interessierte Informatiker auf der in Karlsruhe abgehaltenen parallel.

Peter Sanders, Professor am KIT, eröffnete den Kongress mit einer Keynote zur Rolle der Algorithmik beim Design effizienter paralleler Systeme – wer einen ineffizienten Algorithmus verwendet, leidet aufgrund von Amdahls Gesetz unter mangelhafter Performance.

Maurice Herlihy, einer der Vordenker des Transactional Memory, hielt die zweite Keynote über den Energieverbrauch transaktionalen Speichers. Er befasste sich mit der Frage nach der effizientesten Synchronisation: Insbesondere im Mobilbereich ist es wichtig, den Energieverbrauch so gering wie möglich zu halten, war eine seiner Kernaussagen.

Die hochkarätige Besetzung der Keynotes setzte sich nahtlos in den Vorträgen fort. Peter Messmer von Nvidia führte die Teilnehmer in die Feinheiten der neuesten CUDA-Version ein. Jörn Dinkla bot derweil ein interessantes Kontrastprogramm, das – unter anderem – die Marketingaussagen desselben Herstellers relativierte.

Nebenläufige Applikationen verhalten sich nicht immer logisch. Dies war die Kernaussage von René Graf, der seine Erfahrungen im Bereich Echtzeitsoftware auf Mehrprozessorsystemen zum Besten gab. Insbesondere das von Intel propagierte Hyperthreading kann unerwartete Effekte zeigen, die die Reaktivität des Systems wesentlich verschlechtern.

In der Anfangszeit der parallelen Programmierung mussten Entwickler auf C++ setzen, wenn sie effektiv arbeiten wollten. Diese Programmiersprache ist und bleibt interessant: Artur Laksberg von Microsoft präsentierte eine Übersicht der Neuerungen im Sprachstandard C++17. Der auch im Programmgremium vertretene Prozessorhersteller Intel stellte hingegen Bibliotheken wie Cilk Plus vor.

An Java interessierte Entwickler kamen auf der Konferenz auf ihre Kosten. Die in der achten Version der Sprache eingeführten Features erleichtern die Parallelisierung – zumindest dann, wenn man weiß, dass es sie gibt.

Die erfolgreiche Parallelisierung von Programmen ist eine Aufgabe, die immer bis zu einem gewissen Grad interdisziplinär ist. Einige prominente Referenten demonstrierten Design Patterns und Best Practices, die bei der Entwicklung nebenläufiger Programme hilfreich sind. Dieser Teil der Konferenz beeindruckte mit besonders hohem technischen Niveau: Für Quereinsteiger ist auf jeden Fall Nachbearbeitung notwendig, um die vorgestellten Konzepte vollumfänglich zu verstehen.

Meine Wenigkeit war mit einem Vortrag über den Einsatz des Raspberry Pi in einem Rechencluster vor Ort. Jacob Erlbeck von Sysmocom toppte dies dank seiner mitgebrachten Hardware: Er bekam vom Hersteller des Parallella ein Vorserienmuster, das auf dem Kongress für Tests und Benchmarks zur Verfügung stand. Das Gerät ist insofern interessant, da es nicht nur aus einem fast beliebig kaskadierbaren DSP besteht: Die Platine bringt auch zwei ARMv9-Kerne mit, die auf Wunsch bei der Bearbeitung der anstehenden Aufgaben mithelfen. Bei ineffizientem Aufbau des DSP-Codes können diese Cores sogar schneller sein.

Ein Kongress ist nur so gut wie sein Organisationsteam. Dank der ausreichenden Raumgröße war kein Vortrag überbelegt, in den meisten Sälen gab es einige Sitzreihen mit Tischen und Steckdosen. Aus verpflegungstechnischer Sicht gab es keinerlei Anlass zur Kritik. Besonders lobenswert ist das Anbieten eines Webdiensts mit PDFs aller Folien – auf diese Art und Weise haben die Teilnehmer die Unterlagen auch nach dem Kongress immer zur Hand.

Die dritte Auflage der parallel bot also ihren Teilnehmern, was der mittlerweile etablierte Name versprach: jede Menge wertvoller Informationen zum Thema parallele Programmierung. Das Niveau der Vorträge war durch die Bank sehr hoch – auch erfahrene Informatiker lernten hier mit Sicherheit einige neue Tricks.