Forscher kämpfen gegen Multicore-Chaos
Archivmeldung vom 12.03.2010
Bitte beachten Sie, dass die Meldung den Stand der Dinge zum Zeitpunkt ihrer Veröffentlichung am 12.03.2010 wiedergibt. Eventuelle in der Zwischenzeit veränderte Sachverhalte bleiben daher unberücksichtigt.
Freigeschaltet durch Thorsten SchmittInformatiker an der University of Washington (UW) haben ein System entwickelt, mit denen sie gegen unerwartetes Verhalten von Multicore-Prozessoren kämpfen. "Bei alten Einkern-CPUs haben sich Computer immer gleich verhalten, wenn die gleichen Kommandos eingegeben wurden", sagt Luis Ceze, Assistenzprofessor für Informatik an der UW. Das trifft bei den leistungsfähigeren Multicore-Chips nicht mehr unbedingt zu, was bis hin zu Programmabstürzen führen kann.
"Das Problem der Programmierung für
Multicores ist nach wie vor nicht gelöst", bestätigt Siegfried Benkner,
Leiter des Instituts für Scientific Computing der Universität Wien,
im Gespräch mit pressetext. Doch gerade ältere Programme, die
Multithreading nutzen, bergen demnach Fehlerpotenzial.
Multithreading als Problemquelle
Mit Multithreading ist das gleichzeitige Abarbeiten mehrere Teilaufgaben eines Prozesses gemeint. Dieser Ansatz wird bereits seit langer Zeit genutzt, so Benkner. Bei alten Einkern-Prozessoren mussten die Threads aber stets abwechselnd abgearbeitet werden. "Auf neuen Systemen kann es aber nun zu Fehlern kommen", so der Informatiker. Denn die Verarbeitung der Threads erfolgt nun parallel auf mehreren Kernen.
"Es gibt also sicher einen großen Satz an Programmen, in denen
potenzielle Fehlerquellen schlummern", sagt Benkner. Wie verbreitet
genau dieses Phänomen ist, sei aber nicht seriös abzuschätzen.
Jedenfalls haben die UW-Forscher ihm den Kampf angesagt. Denn solche
Fehler könnten beispielsweise Browser-Freezes und Programmabstürze
verursachen. Eine Schwierigkeit beim Umgang mit diesen Problemen, die
aus geänderten Verarbeitungsreihenfolgen entstehen, ist ihre mangelnde
Reproduzierbarkeit. Genau hier setzt das System der Informatiker an.
Testsystem für versteckte Fehler
Erst dadurch, dass die eigentlich unerwarteten Fehler doch reproduzierbar werden, können Programme auch wirklich sinnvoll getestet werden. Außerdem müssen solche Tests schnell bewerkstelligt werden können. "Wir haben dafür eine grundlegende Technik entwickelt, die in einem breiten Spektrum an Systemen von Handys bis Rechenzentren eingesetzt werden könnte", sagt Ceze. Das Ziel sei letztendlich, die Entwicklung von hochperformanten, energiesparenden und sichereren Systemen leicht zu machen.
Ceze und einige Kollegen haben mit PetraVM bereits ein Start-up gegründet, das die Technologie zum Kampf gegen das Multicore-Chaos kommerzialisieren will. Das erste Produkt "Jink" soll versteckte Fehler schnell und schon im Entwicklungsprozess ans Licht fördern. Allerdings betont Benkner, dass es noch besser wäre, wirklich effektive Multicore-orientierte Programmmethoden zu entwickeln.
Quelle: pressetext.austria (Thomas Pichler)