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“ 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.“


Mehr Artikel

News

42 Prozent der Österreicher:innen sind gestresst im Job 

41,5 Prozent der Arbeitnehmer:innen sind bei der Arbeit gestresst. Zudem sagt in einer Studie von kununu nur rund jede dritte angestellte Person (35,7 Prozent) in Österreich, dass ihr Arbeitsplatz eine gesunde Work-Life-Balance sowie das mentale oder körperliche Wohlbefinden unterstützt oder aktive Pausen fördert. […]

News

KMU wollen neue Virtual Desktop Infrastrukturen

Konfrontiert mit steigenden Kosten und zunehmender Komplexität ihrer bestehenden virtuellen Desktop-Infrastruktur (VDI) sind 63 Prozent der Mittelständler laut einer Studie von Parallels aktiv auf der Suche nach alternativen VDI- oder DaaS-Anbietern (Desktop-as-a-Service). […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*