SMT-Nachfolger entwickelt? SHMT mit doppelter Leistung und geringerem Stromverbrauch
Simultanes Multithreading könnte bald einen Nachfolger erhalten: Mit SHMT wollen Forscher mehrere Komponenten nutzen, um eine noch effektivere Verteilung der Arbeitslast zu erreichen.
SMT (Simultanes Multithreading) ist heutzutage ein gängiges Feature in Prozessoren, ganz gleich, ob diese von AMD oder Intel stammen. Vereinfacht formuliert, werden durch SMT mithilfe paralleler Threads die Recheneinheiten der jeweiligen CPUs gleichmäßiger ausgelastet. Forscher der University of California Riverside fügen der CPU-Aufteilung in diese Threads nun einen weiteren Schritt hinzu: Bei SHMT werden auch die verfügbaren Recheneinheiten der Grafikkarten und vorhandener KI-Chips aufgeteilt.
SHMT steht hierbei für "Simultaneous and Heterogeneous Multithreading" und bildet gewissermaßen den Gegenentwurf zur traditionellen Datenverarbeitung, bei der CPU, GPU sowie weitere Bauteile unabhängig voneinander arbeiten. Die Aufteilung der jeweiligen Prozesse auf diese sorge dafür, dass die Belastungen der Komponente entsprechend optimiert werden. Die Verantwortung für die Verteilung übernimmt hier ein "Smart Quality-Aware Work-Stealing Scheduler" - kurz QAWS.
Dieser QAWS-Scheduler soll in der Lage sein, die passende Balance zwischen Leistung und Präzision zu finden. Als Beispiel wird etwa die Zuweisung von präzisionsgesteuerten Berechnungen genannt, die primär dem klassischen Prozessor zugewiesen werden. Der Scheduler soll zudem Aufgaben beinahe in Echtzeit weiterleiten können, falls eine Komponente nicht hinterherkommt. Der von den Forschern veröffentlichte Konzeptbeweis bedient sich einer ARM-CPU mit vier Kernen, einer Maxwell-GPU, 4 GiB Arbeitsspeicher sowie einem Edge-TPU-KI-Beschleuniger von Google. Beobachtet wurde demzufolge eine Leistungssteigerung von bis zu 95 Prozent gegenüber dem klassischen SMT, zudem soll der Stromverbrauch um bis zu 51 Prozent gesunken sein.
Allerdings sei auch zu beachten, dass die jeweiligen Unterschiede abhängig der Problemgröße seien. Kleinere Tasks hätten in diesem Sinne weniger Aufgaben zu verteilen, was wiederum zu einem relativ geringen Performancesprung führe. Zudem ist SMHT keine hardwarebasierte Lösung. Stattdessen liege es an Softwareentwicklern, entsprechende Algorithmen so zu überarbeiten, dass die parallele Belastung mehrerer Komponenten überhaupt durchgeführt werden kann.
