Start-up Flow Computing: Und täglich grüßt der Wunder-Chip

Gerade geistert die nächste Prozessorsensation durch das Internet: ein finnisches Start-up namens Flow Computing(öffnet im neuen Fenster) , dessen Versprechen ebenso sensationell klingen wie die von Tachyum . Die Parallel Processing Unit (PPU) des Start-ups soll die Prozessorleistung um das Hundertfache steigern können. Anders als bei Tachyum stehen hinter Flow Computing aber bereits mehr als 20 Jahre Arbeit, die PPUs sollen zudem bestehende Prozessorkerne ergänzen, nicht ersetzen. Kunden können die PPUs lizenzieren. Steht also die Revolution vor der Tür? Werfen wir einen genaueren Blick auf die Versprechen.
Die klingen erst einmal plausibel: Die enorme Leistungssteigerung soll die PPU durch besonders viele Threads erreichen. Damit sollen Wartezeiten beim Speicherzugriff eliminiert werden, so dass die PPU permanent rechnen kann. Dafür sind die Threads zudem besonders leichtgewichtig, Flow Computing nennt sie Fibres. Anders als bei normalen Threads ist beim Wechsel von Fibres kein aufwendiger Kontextwechsel erforderlich. Beim Kontextwechsel werden die Inhalte der Prozessorregister gespeichert, damit der verdrängte Thread später problemlos weiterlaufen kann.
Wer sich mit Nvidias Cuda-Architektur auskennt, dem dürfte das Konzept vertraut vorkommen: Auch hier kann jedes Shader Module eine Reihe von Thread-Blöcken verwalten, womit sich Latenzen aufgrund von Berechnungen und Speicherzugriffen verdecken lassen. Die PPU soll ohne Caches auskommen, in einem kleinen Scratchpad-Speicher lassen sich häufig benötigte Daten ablegen.
Dazu kommt noch eine Prise Datenfluss-Architektur(öffnet im neuen Fenster) – woher auch der Name des Start-ups rühren dürfte: Ergebnisse einer Recheneinheit sollen sich direkt an eine andere Recheneinheit weiterleiten lassen, ohne den Umweg über Prozessorregister zu gehen. Das verspricht auch Tachyum.
Ein interessantes Thread-Konzept
Für die Architektur nutzt Flow Computing ein eigenes Thread-Modell namens Thick Control Flow (TCF). Das lässt sich anhand eines 2019 eingereichten Patents(öffnet im neuen Fenster) herausfinden – Flow Computing weist darauf hin, dass die eigene Architektur patentiert ist. Die Idee dabei ist, dass Anwendungen aus einem Hauptkontrollpfad bestehen, der gelegentlich in parallele Bereiche verzweigt. Die Idee ist damit erst einmal ähnlich wie bei Cuda oder OpenMP.
Gänzlich anders ist allerdings die Umsetzung, die in einer Veröffentlichung von 2022(öffnet im neuen Fenster) beschrieben ist: Die einzelnen PPUs versorgen sich nicht selbst mit Befehlen und Daten, sondern werden von einem Front-End, das kann ein beliebiger Prozessorkern sein, damit gefüttert. Auf diesem Front-End werden auch die sequenziellen Teile des Codes ausgeführt. Erreicht es einen parallelen Bereich, lagert es dessen Ausführung an die PPUs aus. Verbunden sind PPUs und Front-End über ein Mehrwege-2D-Gitter, bei dem an jedem Knotenpunkt mehrere Switches sitzen. Das soll Engpässe vermeiden.
Das Design der PPU ist allerdings noch deutlich älter, als es diese beiden Datenpunkte vermuten lassen.
Die besten gescheiterten Ideen vereint
Entwickelt wurden Idee und Design der PPU am Technischen Forschungszentrum Finnland VTT(öffnet im neuen Fenster) . Dort arbeitete Martti Forsell, jetzt der Chief Technology Officer von Flow Computing, seit mindestens 1997 an verwandten Konzepten. 2011 prägte er den Begriff TCF ( Veröffentlichung, PDF(öffnet im neuen Fenster) ). Was das Start-up heute PPU nennt, taucht im selben Jahr auf: Als Replica-Architektur beim VTT, die Projektseite(öffnet im neuen Fenster) nennt ganz ähnliche Daten. Projektzeitraum: 2011 bis 2013.
An Replica war auch Flow Computings Chief Designer Jussi Roivainen bereits beteiligt. Das belegen alte Veröffentlichungen, aus denen auch hervorgeht, dass bereits zu dieser Zeit ein FPGA-Prototyp entwickelt wurde(öffnet im neuen Fenster) . Außerhalb des VTT scheint das Konzept TCF nicht aufgegriffen worden zu sein, Publikationen finden sich ausschließlich von Forsell und diversen Koautoren.
Hohe Parallelität macht sich selten bezahlt
Es erscheint so, als hätten die Gründer von Flow Computing eine alte Idee aus dem Keller geholt. Da sie viel publiziert haben, lässt sich die, anders als bei Tachyum, gut einschätzen. Damit kommt man aber zum Schluss, dass die angekündigte Revolution wieder ausbleibt. Ideen für hoch parallele Prozessoren mit verhältnismäßig einfachen Kernen gab es in den vergangenen Jahren immer wieder.
Außer GPUs und NPUs hat sich keine davon durchgesetzt, und das hat einen einfachen Grund: Alltägliche Anwendungen profitieren größtenteils kaum von extrem hoher Parallelität. Für Desktop-Prozessoren empfiehlt Flow Computing 64 PPUs. Damit diese so effizient beschäftigt sind, dass die versprochene Leistungssteigerung erreicht wird, müssten Hunderte Fibres parallel aktiv sein. Das ist im Alltag einfach unrealistisch. Große Matrixmultiplikationen, der Traum für jedes hoch parallele System und entsprechend Flow Computings Lieblingsbeispiel, sind einfach nicht so allgegenwärtig, wie das Start-up sie bräuchte.
Die teure Chipfläche der PPUs würde die meiste Zeit brach liegen. Flow Computing wirbt damit, man könne mit ihnen KI und Video Codecs beschleunigen. Nur haben alle Prozessorentwickler bereits eine bessere Lösung: Neural Processing Units (NPUs) und spezielle IP-Cores für die Codecs.
Dass NPUs aktuell in fast jeden neuen Prozessor wandern, liegt am erwarteten steigenden KI-Einsatz, den speziellen Datentypen und einem verhältnismäßig geringen Flächenbedarf. Und sie setzen ebenfalls auf Datenfluss-Architekturen – dass es in einigen Fällen sinnvoll ist, Daten nicht über Register oder gar den Speicher auszutauschen, hat man nicht nur in Finnland erkannt. Wichtig ist nur, dass der Hardware-Aufwand überschaubar bleibt – bei NPUs ist das der Fall. Auch Video-Codecs lassen sich deutlich platzsparender als spezieller IP-Core auf den Chip bringen.
Flow Computing wiederholt gescheiterte Ideen
Der einzige große Vorteil von Flow Computings PPU ist die enge Kopplung an die CPU, was den hohen Aufwand für das Starten einer Berechnung auf einer GPU eliminiert. Da die PPUs eine GPU aber nicht ersetzen, würden Prozessorhersteller abseits von Server-CPUs Redundanz einbauen.
Ansonsten wärmt das Start-up Ideen wieder auf, die in den vergangenen 15 Jahren mehrfach gescheitert sind. Intel bekam Larrabee nie in der ursprünglich geplanten, recht ähnlichen Form ans Laufen; die dummen, aber leistungsfähigen Recheneinheiten von IBMs Cell Prozessor waren bei Entwicklern verhasst; und mit hohen Kernzahlen scheiterte nicht nur Rex Computing .
Damit das Konzept von Flow Computing ohne großen Aufwand für architekturspezifische Anpassungen gut funktioniert, wäre ein Compiler mit gut funktionierender, automatischer Parallelisierung erforderlich – ein Grund, warum Intels Itanium scheiterte. Dazu kommt, dass bestehende Prozessorkerne überarbeitet werden müssen, um die PPUs anbinden zu können.
Dass ein Prozessorentwickler diesen Schritt geht, wenn andere gut oder sogar besser funktionierende Alternativen bestehen, ist unwahrscheinlich. Diesen Eindruck unterstützt auch, dass die Ideen hinter dem PPU-Design trotz einiger Publikationen über einen Zeitraum von mehr als zehn Jahren weder von anderen Forschern noch von Unternehmen aufgegriffen wurden.
Johannes Hiltscher ist der Erklärbär der Golem-Redaktion. Er begeisterte sich schon im Informatikstudium für Rechnerarchitektur, seine Diplomarbeit schrieb er an einer gleichnamigen Professur. Er hat in den vergangenen gut 15 Jahren einige revolutionäre Prozessorideen kommen und wieder gehen sehen.