NEWS

Flow Computing

Finnisches Startup bringt den Cell-Prozessor zurück

Portrait des Authors


Finnisches Startup bringt den Cell-Prozessor zurück
3

Werbung

Bereits seit einigen Wochen in der Halbleiterbranche im Gespräch ist das finnische Startup Flow Computing. Hier will man ein Prozessor-Design entwickelt haben, welches den klassischen Paradigmen weit voraus ist und die Leistung von CPUs um ein Vielfachen beschleunigen können soll. In einer Pressemitteilung geht man nun etwas genauer auf die Ansätze ein, die hier geplant sind.

Flow Computing will einen IP-Block entwickeln, der in einen Prozessor oder einen SoC integriert werden kann. Dabei handelt es sich um eine Parallel Processing Unit (PPU), die variable aufgebaut sein kann. Diese Variabilität beruht auf der Anzahl an Kernen pro PPU, die von 4, 16, 64 bis zu 256 und mehr betragen kann. Vier Kerne sollen für eine Smartwatch ausreichend sein, während es bei einem Smartphone auch 64 sein können. Außerdem sollen die Anzahl und die Art und Weise der Funktionseinheiten wählbar sein: ALUs, FPUs, MUs, GUs und NUs stehen zur Auswahl. Selbst die Größen der Caches, Puffer und Scratchpads sollen vom Lizenznehmer abhängig vom jeweiligen Anwendungsbereich sein.

Das, was Flow Computing besser machen will als klassische CPU-Design, betrifft mehrere Aspekte: Da wäre zunächst der Speicherzugriff. Gemeinsame Zugriffe stellen eine große Herausforderung für Multicore-Designs dar. Sie verlangsamen die Ausführung und der Interconnect in Form eines Rings oder Meshs zwischen den Kernen verursacht zusätzliche Latenzen. Herkömmliche Cache-Hierarchien sollen laut Flow Computing Kohärenz- und Skalierbarkeitsprobleme verursachen.

Dahingegen soll das Design von Flow Computing die Latenz von Speicherverweisen durch die Ausführung anderer Threads während des Speicherzugriffs verdecken. Es gibt keine Kohärenzprobleme, da keine Caches zum Einsatz kommen. Es kommt aber auch hier ein Network-on-Chip (NOC) zum Einsatz, welches jedoch ausreichend schnell sein soll.

Auch wenn CPU-Kerne in der Lage sind, mehrere Pipelines parallel auszuführen, so gibt es laut Flow Computing hier eine inhärente Asynchronität in der Synchronisierung der Threads, da diese abhängig voneinander sind. Die Synchronisationen kann 100 bis 1.000 Taktzyklen kosten.

Für die Flow FPU ist diese Synchronisation nicht notwendig und so können sogar mehrere Operationen gleichzeitig ablaufen, die zeitlich nicht voneinander abhängig sind.

Eine um den Faktor 100 höhere CPU-Leistung soll mit der Flow FPU möglich sein. Flow Computing spricht in diesem Zusammenhang von einer SuperCPU. Die bisher veröffentlichten Details sind auf der Webseite von Flow Computing verfügbar. Tiefer ins Detail gehen sie allerdings nicht.

Flow Computing will seine FPU als IP anbieten, die dann von Lizenznehmern gekauft werden kann. Man will bereits mit CPU-Herstellern wie AMD, Apple, ARM, Intel, NVIDIA, Qualcomm und Tenstorrent in Gesprächen sein.

Das Comeback von IBMs Cell

Diejenigen, die sich mit CPU-Designs beschäftigen, wird sicherlich auffallen, dass die Grundprinzipien der Flow FPU dem Cell-Prozessor von IBM nicht ganz unähnlich sind. Cell steht für Cell Broadband Engine und dabei handelt es sich um eine Pipeline-Architektur für Mehrkern-Prozessoren, die für das parallele Rechnen ausgelegt sind.

Die Cell-Prozessoren bestanden aus acht Synergistic Processing Elementen (SPE), die wiederum über eine ALU verfügten. Es gab nur einen kleinen lokalen Speicher mit 256 kB, darüber hinaus wurden Daten nur über die Memory Flow Controller (MFC) mit dem Hauptspeicher ausgetauscht. Auch hier gab es keine Caches und nur eben erwähnten lokalen SRAM, was die Latenzen gegenüber einer durch Caches unterstützten CPU-Architektur – wie wir sie bis heute kennen – deutlich reduzierte. Auf komplexe Out-of-Order-Operationen oder eine Sprungvorhersage konnte man verzichten.

Zwischen 2006 und bis 2008 brachte IBM mehrere Designs auf den Markt. In der PlayStation 3 setzte Sony einen Cell-Prozessor mit sieben SPEs ein. Die theoretische Spitzenleistung der Cell-Prozessoren lag deutlich über dem, was ein damals aktueller Pentium 4 bieten konnte. Im Jahre 2012 stellte IBM den Verkauf von Servern mit Cell-Prozessoren ein. x86-Designs waren damals bereits vorherrschend und konnten mit einer höheren Software-Flexibilität punkten.