Grafikkarten werden längst nicht mehr nur für die Darstellung von Grafik verwendet. Gerne nutzt man sie heute auch für besonders rechenintensive Aufgaben aus ganz anderen Bereichen – etwa in der wissenschaftlichen Forschung oder auch für Bitcoin-Mining.
Allerdings verschlechtert sich die Leistung der Grafikkarten normalerweise mit der Zeit, weil die einzelnen Prozessorkerne der Grafikkarte aufgrund von Alterungseffekten nicht mehr optimal zusammenspielen. An der TU Wien wurde nun in Zusammenarbeit mit der University of California (Irvine) eine verbesserte Chip-Management-Methode entwickelt, mit der die Rechenlast klüger verteilt werden kann. In über 95 Prozent der Fälle wird die Grafikkarten-Alterung dadurch eingebremst.
Hochparalleles Rechnen
„Gewöhnliche Computer, wie man sie zu Hause stehen hat, haben einige wenige Prozessorkerne. Eine Grafikkarte hingegen hat eine gewaltige Anzahl von Prozessorkernen – typischerweise hunderte oder tausende“, erklärt Muhammad Shafique vom Institut für Computer Engineering an der TU Wien. Man kann Grafikkarten daher gut für Berechnungen einsetzen, die parallelisierbar sind, bei denen also eine Aufgabe in viele unabhängige Teilschritte zerlegt werden kann, die gleichzeitig von unterschiedlichen Prozessorkernen durchgeführt werden.
Allerdings sind niemals völlig identisch. „Die Strukturen sind sehr klein, produktionsbedingt kommt es immer zu gewissen Abweichungen“, sagt Shafique. Daher wirkt sich auch die Alterung des Chips unterschiedlich auf die unterschiedlichen Prozessorkerne aus. Unter hoher Belastung liefern die einzelnen Kerne irgendwann unterschiedliche Leistung. Das ist ein Problem für die Qualität der Parallelisierung: Wenn man eine Aufgabe auf viele Prozessorkerne verteilt und für den nächsten Schritt warten muss, bis alle fertiggerechnet haben, dann bestimmt der langsamste Prozessorkern zwangsläufig, wie schnell es weitergeht. Dadurch ergibt sich bald ein deutlicher Rückgang der Gesamtperformance.
Lasten fair verteilen
Dieses Problem wollen Muhammad Shafique und das Team um Mohammad Al Faruque von der University of California (Irvine) nun durch ein besseres Management lösen: „Entscheidend ist es, zuerst den aktuellen Status der einzelnen Prozessorkerne zu kennen“, sagt Shafique. „Dann kann man die Rechenaufgaben so zuweisen, dass der physische Stress möglichst gleichmäßig auf die unterschiedlichen Kerne verteilt wird.“
Prozessorkerne mit ähnlichen Eigenschaften werden zu „Clustern“ zusammengefasst, die dann auf genau vorherberechnete Weise mehr oder weniger stark belastet werden. So lässt sich der Alterungsprozess bremsen, die Gesamtleistung des Systems verbessert sich. „Es gab bereits Überlegungen, die Alterung von Grafikkarten auf Compiler-Ebene einzubremsen, doch unsere Methode ist deutlich effektiver, sie bringt in über 95 Prozent der Fälle einen Vorteil“, so Shafique.