Mehrkernprozessoren führen zu unerwarteten Programmfehlern

Forscher kämpfen gegen Multicore-Chaos

Armin Weiler kümmert sich um die rechercheintensiven Geschichten rund um den ITK-Channel und um die Themen der Distribution. Zudem ist er für den Bereich PCs und Peripherie zuständig. Zu seinen Spezialgebieten zählen daher Notebooks, PCs, Smartphones, Drucker, Displays und Eingabegeräte. Bei der inoffiziellen deutschen IT-Skimeisterschaft "CP Race" ist er für die Rennleitung verantwortlich.
Informatiker haben ein System entwickelt, mit denen sie gegen unerwartetes Verhalten von Multicore-Prozessoren kämpfen.

Informatiker 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 http://www.ifs.univie.ac.at , im Gespräch mit pressetext. Doch gerade ältere Programme, die Multithreading nutzen, bergen demnach Fehlerpotenzial.

Multithreading als Problemquelle

Mit Multithreading ist das gleichzeitige Abarbeiten mehrer 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.

Mehr zu dem Thema Multi-Core-Prozessoren lesen Sie hier:

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

(pte) (wl)

Zur Startseite