News Release

Cebit 2015: Informatiker der Universität des Saarlandes erleichtern paralleles Programmieren

Business Announcement

Saarland University

Computer Scientists from Saarland University Simplify Parallel Programming

image: Simplifying parallel programming (from left to right): Professor Sebastian Hack, Kevin Streit, Clemens Hammacher and Professor Andreas Zeller. view more 

Credit: Oliver Dietze

Diese Pressemitteilung ist verfügbar auf Englisch.

Immer mehr Transistoren, platziert auf Mikroprozessoren, ließen Computer bisher immer schneller rechnen. Das gilt heute nicht mehr. Um die Leistung moderner Mehrkernrechner auszunutzen, müssen Entwickler ihren Programmcode so schreiben, dass er sich parallel ausführen lässt. Aber gerade das ist schwierig, somit fehleranfällig und teuer. Informatiker der Universität des Saarlandes haben daher ein Werkzeug entwickelt, das Teile des Programmes automatisch parallelisiert und so den Entwickler beim Programmieren unterstützt. Langfristig soll das „Sambamba"-System beliebige Programme vollautomatisch parallelisieren (Halle 9, Stand E13).

„Selbst für Netbooks und Smartphones sind Mehrkern-Architekturen inzwischen wichtig", erklärt Andreas Zeller. „Die immer kleineren Geräte, die zugleich wenig Energie verbrauchen sollen, machen sie notwendig", so der Professor für Softwaretechnik an der Universität des Saarlandes. Zusammen mit seinen Doktoranden Kevin Streit und Clemens Hammacher hat er das Werkzeug „Sambamba" entwickelt, das auf herkömmliche Weise programmierten Code automatisch in parallel ausführbaren Code umwandelt. „Das Ziel unseres Systems ist, zu jeder Funktion einer Anwendung gleich mehrere Möglichkeiten der Parallelisierung zu finden, aus denen zur Laufzeit des Programmes die beste ausgewählt wird", erklärt Sebastian Hack, Professor für Programmierung an der Saar-Uni. Sein Doktorand Johannes Doerfert und er haben ebenfalls an Sambamba mitgewirkt.

Unter Laufzeit verstehen Informatiker die Zeit, die vom Start eines Programmes bis hin zu seiner Beendigung vergeht. Sambamba analysiert das Programm bereits vor seiner Ausführung, um Parallelisierungsmöglichkeiten zu entdecken und Programmteile, die nicht parallelisiert werden können, auszuschließen. Diese Analysen können aber Möglichkeiten zur Parallelisierung, die von der Eingabe des Programms abhängen und nicht in jedem Programmlauf auftreten, nur schwer entdecken. „Sambamba besteht daher aus zwei Komponenten: Eine aufwendige Programmanalyse, die das Programm, bevor es läuft, auf sein Parallelisierungspotential untersucht. Die zweite baut auf diesen Ergebnissen auf und optimiert den Code mit Hilfe weiterer Informationen, die während der Laufzeit gewonnen werden", erläutert Professor Hack.

So umgehen die Saarbrücker Computerwissenschaftler elegant eine Herausforderung, die von der Forschung bisher nicht gelöst werden konnte: Verschiedene Verfahren funktionieren sehr gut für bestimmte Formen von Parallelisierung, jedoch passt kein Verfahren für alle. „Selbst wenn wir einen Übersetzer bauen könnten, der alle bisher erdachten und erprobten Verfahren beherrscht, würde uns ein Kosten-Modell fehlen, um das jeweils beste Verfahren automatisch zu bestimmen", erklärt Professor Hack. Daher setzen sie auf ihren integrativen Ansatz, versuchen vor der Programmausführung so viele Informationen wie möglich zu verarbeiten, lassen das System seine Schlüsse ziehen und überprüfen diese dann während der Ausführung. Auf diese Weise können sie die Rechenzeit noch mehr verkürzen.

Dies klappt auch für Programme, die in schwer zu analysierenden, aber in der Praxis weit verbreiteten Programmiersprachen wie C++ geschrieben sind. Bei komplexen Programmen ist dann die Bewertung während der Laufzeit besonders wichtig. „Sambamba kann Programme vollautomatisch parallelisieren. In manchen Szenarien möchte der Programmierer selbst entscheiden, welche Parallelisierung durchgeführt werden soll", so Professor Zeller. „Es kann daher auch mit dem Programmierer in Dialog treten, in dem es ihm Vorschläge unterbreitet, wo das Programm parallelisiert werden könnte", erklärt Professor Zeller. Auf der Cebit stellen die Forscher nun eine Entwicklungsumgebung vor, in der Sambamba dem Programmierer Hinweise zur Parallelisierung gibt.

###

Hintergrund Saarbrücker Informatik

Den Kern der Saarbrücker Informatik bildet die Fachrichtung Informatik an der Universität des Saarlandes. In unmittelbarer Nähe forschen auf dem Campus sieben weitere weltweit renommierte Forschungsinstitute. Neben den beiden Max-Planck-Instituten für Informatik und Softwaresysteme sind dies das Deutsche Forschungszentrum für Künstliche Intelligenz (DFKI), das Zentrum für Bioinformatik, das Intel Visual Computing Institute, das Center for IT-Security, Privacy and Accountability (CISPA) und der Exzellenzcluster „Multimodal Computing and Interaction".

Ein Pressefoto finden Sie unter: http://www.uni-saarland.de/pressefotos

Ein kurzes Video finden Sie unter: http://www.sambamba.org/

Fragen beantworten:
Professor Andreas Zeller
Fachrichtung Informatik, Universität des Saarlandes
E-Mail: zeller(at)cs.uni-saarland.de
Tel.: 0681 302-70791

Professor Sebastian Hack
Fachrichtung Informatik, Universität des Saarlandes
E-Mail: hack(at)cs.uni-saarland.de
Tel.: 0681 302-57520

Redaktion:
Gordon Bolduan
Wissenschaftskommunikation
Kompetenzzentrum Informatik Saarland
Tel: +49 681 302-57520
E-Mail: bolduan(at)mmci.uni-saarland.de

Hinweis für Hörfunk-Journalisten: Sie können Telefoninterviews in Studioqualität mit Wissenschaftlern der Universität des Saarlandes führen, über Rundfunk-Codec (IP-Verbindung mit Direktanwahl oder über ARD-Sternpunkt 106813020001). Interviewwünsche bitte an die Pressestelle (0681/302-2601).


Disclaimer: AAAS and EurekAlert! are not responsible for the accuracy of news releases posted to EurekAlert! by contributing institutions or for the use of any information through the EurekAlert system.