System erleichtert Multicore-Programmierung System erleichtert Multicore-Programmierung - Computerwelt

Computerwelt: Aktuelle IT-News Österreich


09.11.2016 pte

System erleichtert Multicore-Programmierung

Ein Team des MIT Computer Science and Artificial Intelligence Laboratory (CSAIL) und der Stony Brook University hat ein System entwickelt, um das Optimieren dynamischer Programmierung für Multicore-Chips zu erleichtern.

"Bellmania" verspricht besseren Code für unzählige Bereiche.

"Bellmania" verspricht besseren Code für unzählige Bereiche.

© Mirko Waltermann, pixelio.de

"Bellmania" braucht dazu nur eine relativ allgemein gehaltene Beschreibung der gewünschten Funktion. Das könnte beispielsweise für Ökonomen und Biologen interessant sein. Es gibt eine Klasse mathematischer Optimierungsaufgaben, die im Prinzip aus vielen gleichartigen Teilproblemen besteht. Für eben diese bietet sich die vom Mathematiker Richard Bellman vorgeschlagene dynamische Programmierung an. Dabei werden Ergebnisse von Teilberechnungen zwischengespeichert, um sie wieder zu nutzen. Das macht Programme schneller. "In der Praxis ist die Beschleunigung nicht so hoch wie erwartet, weil der Speicherzugriff langsam ist", sagt Shachar Itzhaky, Informatik-Postdoc am CSAIL. Das ließe sich weitgehend vermeiden, wenn Berechnungen, die einen Zwischenwert brauchen, möglichst zeitgleich ausgeführt werden.

Eben dafür wären Multicore-Prozessoren eigentlich prädestiniert. Ein Programm entsprechend zu optimieren, ist aber schwer, der resultierende Code oft zehn Mal so umfangreich wie das Original. Nicht-Informatiker können solche Optimierungen meist gar nicht selbst vornehmen. Ihnen soll das nach Bellman benannte System helfen. Denn es benötigt nur eine relativ einfache Beschreibung dessen, was ein Programm macht. Dann setzt Bellmania auf eine rekursive Methode, um das Programm möglichst so immer feiner zu unterteilen, dass Teilberechnungen möglichst speichereffizient erfolgen können.

Experten-Effizienz
Um zu zeigen, dass das neue System funktioniert, hat das Team das System mit mehreren Algorithmen, die dynamische Programmierung nutzen, für die Verwendung von Muticore-Chips parallelisieren lassen. Diesen Experimenten zufolge liefert Bellmania nicht nur Code, der drei bis elf Mal schneller läuft als jener, der mit bisherigen automatisierten Ansätzen für die Parallelisierung erstellt wurde. Die Effizienz des Bellmania-Codes entspräche im Normalfall sogar dem, was Informatiker in mühevoller Detailarbeit zustande bringen.

Davon, dass Bellmania eine effiziente Multicore-Optimierung ohne wirklich tiefgehende Programmierkenntnisse verspricht, zeigt sich David Bader, Informatik-Professor am Georgia Institute of Technology, beeindruckt: "Von Bioinformatik über Proteomik, Cyber-Security, Sortierung, diverse Zeitplanungsaufgaben bis hin zum Verwalten von Netz-Traffic - es gibt unzählige Beispiele echter Algorithmen in der wirklichen Welt, die einen effizienteren Code erfordern."

Diesen Artikel

Bewertung:

Übermittlung Ihrer Stimme...
Noch nicht bewertet. Seien Sie der Erste, der diesen Artikel bewertet!
Klicken Sie auf den Bewertungsbalken, um diesen Artikel zu bewerten.
  Sponsored Links:

IT-News täglich per Newsletter

E-Mail:
Weitere CW-Newsletter

CW Premium Zugang

Whitepaper und Printausgabe lesen.  

kostenlos registrieren

Aktuelle Praxisreports

(c) FotoliaHunderte Berichte über IKT Projekte aus Österreich. Suchen Sie nach Unternehmen oder Lösungen.



Hosted by:    Security Monitoring by: