Im Zeitalter sich ständig weiterentwickelnder KI-Beschleuniger genießen Allzweckprozessoren keinen hohen Stellenwert. „Wenn man sich Prozessoren von Generation zu Generation anschaut, sieht man inkrementelle Verbesserungen“, sagt Timo Valtonen, CEO und Mitbegründer von Flow Computing, einem Unternehmen mit Sitz in Finnland.
Valtonens Ziel ist es, den Verarbeitern ihre rechtmäßige, „zentrale“ Rolle zurückzugeben. Um dies zu erreichen, schlagen er und sein Team ein neues Paradigma vor. Anstatt zu versuchen, die Berechnungen zu beschleunigen, indem er beispielsweise 16 identische CPU-Kerne in einem Laptop unterbringt, könnte ein Hersteller 4 Standard-CPU-Kerne und 64 Parallel Processing Unit (PPU)-Kerne von Flow Computing im gleichen Raum unterbringen und so bis zu 100 erreichen mal bessere Leistung. Valtonen und seine Mitarbeiter präsentierten ihre Ansichten auf der Hot Chips-Konferenz im August.
Die PPU trägt dazu bei, Fälle zu beschleunigen, in denen die Rechenaufgabe parallelisierbar ist, eine herkömmliche CPU jedoch nicht gut dafür gerüstet ist, diese Parallelität zu nutzen, eine Auslagerung auf etwas wie eine GPU wäre jedoch zu teuer.
„Generell sagen wir, dass Parallelisierung nur dann sinnvoll ist, wenn wir eine große Arbeitsbelastung haben, da der Overhead sonst viele unserer Vorteile zunichte macht“, erklärt Jörg Keller, Professor und Lehrstuhlinhaber für Parallelität und VLSI an der FernUniversität in Hagen. das nicht mit Flow Computing verbunden ist. „Und das skaliert jetzt in Richtung kleinerer Arbeitslasten, was bedeutet, dass es mehr Stellen im Code gibt, an denen Sie diese Parallelisierung anwenden können. »
Rechenaufgaben können in zwei Kategorien unterteilt werden: sequentielle Aufgaben, bei denen jeder Schritt vom Ergebnis eines vorherigen Schritts abhängt, und parallele Aufgaben, die unabhängig voneinander ausgeführt werden können. Martti Forsell, CTO und Mitbegründer von Flow Computing, erklärt, dass eine einzelne Architektur nicht für beide Arten von Aufgaben optimiert werden kann. Die Idee besteht also darin, für jede Art von Aufgabe separate Einheiten zu haben, die optimiert sind.
„Wenn wir eine sequentielle Arbeitslast als Teil des Codes haben, führt der CPU-Teil diese aus. Und wenn es um parallele Teile geht, weist die CPU diesen Teil der PPU zu. Dann haben wir das Beste aus beiden Welten“, sagt Forsell.
Laut Forsell muss eine für Parallelität optimierte Computerarchitektur vier Hauptanforderungen erfüllen: Speicherlatenztoleranz, was bedeutet, Wege zu finden, nicht untätig zu bleiben, während das nächste Datenelement aus dem Speicher geladen wird; ausreichende Bandbreite für die Kommunikation zwischen Threads, Ketten von Prozessoranweisungen, die parallel ausgeführt werden; effiziente Synchronisierung, was bedeutet, sicherzustellen, dass parallele Teile des Codes in der richtigen Reihenfolge ausgeführt werden; und Parallelität auf niedriger Ebene oder die Fähigkeit, mehrere Funktionseinheiten zu verwenden, die tatsächlich mathematische und logische Operationen gleichzeitig ausführen. Für den neuen Ansatz des Flow Computing „haben wir eine Architektur für paralleles Computing von Grund auf neu entworfen oder damit begonnen, sie zu entwerfen“, sagt Forsell.
Jeder Prozessor kann potenziell aufgerüstet werden
Um die Latenz beim Speicherzugriff zu verbergen, implementiert die PPU Multithreading: Wenn jeder Thread Speicher aufruft, kann ein anderer Thread mit der Ausführung beginnen, während der erste Thread auf eine Antwort wartet. Um die Bandbreite zu optimieren, ist die PPU mit einem flexiblen Kommunikationsnetzwerk ausgestattet, sodass jede Funktionseinheit bei Bedarf mit jeder anderen kommunizieren kann, was auch eine Parallelität auf niedriger Ebene ermöglicht. Um Synchronisierungsverzögerungen zu verwalten, wird ein proprietärer Algorithmus namens Wave Sync verwendet, der bis zu 10.000 Mal effizienter sein soll als herkömmliche Synchronisierungsprotokolle.
Um die Leistungsfähigkeit der PPU zu demonstrieren, erstellten Forsell und seine Mitarbeiter eine Proof-of-Concept-FPGA-Implementierung ihres Designs. Das Team behauptet, dass die Leistung des FPGA mit der des Simulators identisch sei, was zeigt, dass die PPU wie erwartet funktioniert. Das Team führte mehrere Vergleichsstudien zwischen seinem PPU-Design und vorhandenen Prozessoren durch. „Bis zu 100-mal mehr Leistung als bestehende Prozessoren. [improvement] „Dies haben wir in unseren vorläufigen Leistungsvergleichen erreicht, indem wir davon ausgegangen sind, dass es eine Siliziumimplementierung einer Flow-PPU geben würde, die mit der gleichen Geschwindigkeit wie einer der verglichenen kommerziellen Prozessoren arbeitet und unsere Mikroarchitektur verwendet“, sagt Forsell.
Das Team arbeitet derzeit an einem Compiler für seine PPU und sucht Partner im Bereich CPU-Produktion. Sie hofft, dass sich ein großer CPU-Hersteller für ihr Produkt interessiert, damit sie an einem gemeinsamen Design arbeiten kann. Seine PPU kann mit jeder Befehlssatzarchitektur implementiert werden, sodass jede CPU potenziell aufgerüstet werden kann.
„Jetzt ist es an der Zeit, diese Technologie zu kommerzialisieren“, sagt Keller. „Wir brauchen jetzt energieeffiziente Computing-Lösungen für mobile Geräte, aber auch eine hohe Rechenleistung. »
Artikel auf Ihrer Website
Verwandte Artikel im Internet