Software Parallel in die Zukunft

Prof. Dr. sc. nat. Christoph Meinel ist Instituts-direktor und Geschäftsführer des HPI. Er ist zudem Inhaber des Lehrstuhls für Internet-Technologien und Systeme.
Prof. Dr. sc. nat. Christoph Meinel ist Instituts-direktor und Geschäftsführer des HPI. Er ist zudem Inhaber des Lehrstuhls für Internet-Technologien und Systeme.

Computergesteuerte Elektronik ist ohne Software wie ein Auto ohne Benzin: Nichts bewegt sich. Damit kommt der Weiterentwicklung der Software große Bedeutung zu. Prof. Dr. Christoph Meinel vom Hasso-Plattner-Institut in Potsdam gibt einen Ausblick auf Trends der nächsten Jahre.

Das tägliche Leben in einer entwickelten Industriegesellschaft ist ohne computergesteuerte Geräte und Computer nicht mehr denkbar. Für deren einwandfreie Funktion sorgt Software, die die Arbeitsabläufe im Innern bestimmt.

Waren zu Beginn des Computerzeitalters noch so genannte Maschinenprogramme zu schreiben, bei denen der Programmierer jeden Befehl des Prozessors und die Speicherzuordnung festlegen musste, wird Software-Entwicklung heute durch Software unterstützt. Das sind leistungsfähige Software-Werkzeuge, mit denen komplexe Aufgaben programmiert werden können. Aber das Ende der Fahnenstange ist noch nicht erreicht. Immer leistungsfähigere Hardware zwingt die Software-Entwickler, nachzuziehen.

Eine international renommierte Lehr- und Forschungseinrichtung auf diesem Gebiet ist das Hasso-Plattner-Institut (HPI) in Potsdam. Olaf Göring sprach für die Elektronik mit dem Institutsdirektor und Geschäftsführer, Prof. Dr. Christoph Meinel.

Elektronik: Herr Prof. Meinel, welche Software-Entwicklungen haben die letzten 20 Jahre bestimmt?

Zunächst einmal muss festgestellt werden, dass die Software-Entwicklung immer der Hardware-Entwicklung hinterher gelaufen ist und es auch heute noch tut. In den Anfangsjahren hatte der Programmierer noch auf den Speicherbedarf sowohl der Programme als auch der Daten zu achten. Heute, im Zeitalter rasant zunehmender Speicherkapazitäten zu äußerst günstigen Preisen ist das kein Problem mehr.

Eine zweite Entwicklung war die rasche Zunahme der Taktfrequenz – eine Herausforderung vor allem für Software, die in Echtzeit-Systemen wie Maschinen- oder Robotersteuerungen arbeitet. Hier mussten die Software-Entwickler Funktionen einbauen, die eine Vorhersagbarkeit des Prozessverhaltens und die Einhaltung von Zeitbedingungen sicherstellen. Immer leistungsfähigere Hardware führte schließlich dazu, dass heute komplexe Aufgaben vom Computer selbst gelöst werden können. Deshalb hat es vor gut 20 Jahren einen Wechsel von der programmablaufplanorientierten zur objektorientierten Software gegeben. In der Industriewelt führte der Entwicklungsweg von festverdrahteter Elektronik zu eingebetteten Computern oder Prozessoren, die für ihre spezifischen Aufgaben programmiert werden müssen.

Elektronik: Was sind die Herausforderungen heute?

Aktuell sind wir mit zwei Entwicklungen konfrontiert, die Auswirkungen auf die Software-Entwicklung haben. Erstens lässt sich die Taktfrequenz nicht mehr beliebig erhöhen. Die Antwort darauf sind Multicore-Lösungen, also Prozessoren mit mehreren Rechnerkernen. Gängig sind derzeit im kommerziellen Bereich Prozessoren mit vier bis zehn Kernen, aber wir haben für Forschungs- und Entwicklungszwecke in unserem Spitzenforschungslabor „HPI Future SOC Lab" schon die nächste Generation im Haus: einen von weltweit drei 1000-Kerne-Rechnern, so dass wir für die Forschung über eine Rechnerinfrastruktur mit rund 1500 Kernen, etwa 30 TB Arbeitsspeicher und 200 TB Festplattenspeicher verfügen.

Die Flash-Speicherkapazität liegt bei 90 TB. Die zweite Entwicklung betrifft den Arbeitsspeicher, der immer billiger wird und damit einen Einsatz bis in den TB-Bereich erlaubt.

Elektronik: Wie sieht die Software dafür aus?

Um die große Anzahl Kerne effektiv nutzen zu können, ist eine starke Parallelisierung der Programmabläufe in der Anwender-Software nötig, ohne den Programmierer damit zu belasten. Interne Algorithmen müssen dabei die Auslastung durch intelligente Zuordnung von Teilaufgaben optimieren. Für den zweiten Trend, den Arbeitsspeicher, sind Software-Lösungen in der Entwicklung, die den schnellen Speicher nicht nur zur Zwischenablage weniger Arbeitsdaten nutzen.

So werden erste Datenbanken angeboten (z.B. HANA von der SAP), die große Datenmengen ausschließlich im Arbeitsspeicher vorhalten und bearbeiten. Lediglich am Ende eines Jobs erfolgt die Speicherung extern. Die Beschleunigung bei der Bearbeitung oder der Suche in großen Datenmengen ist immens.