Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.

Schneller konfigurierbar als eine FPGA Was ist Coarse Grain Reconfigurable Architecture - CGRA?

Von Manuel Masiero 2 min Lesedauer

Anbieter zum Thema

Steigende Strompreise treiben den Bedarf nach Konzepten, mit denen sich der Energieverbrauch im Rechenzentrum reduzieren lässt, ohne dabei Kompromisse bei der Verarbeitungsgeschwindigkeit einzugehen. Eine Lösung heißt: Coarse Grain Reconfigurable Architecture, kurz: CGRA.

Mit rekonfigurierbaren Rechnerarchitekturen wie einer CGRA lassen sich Prozessorsysteme im Datacenter flexibel gestalten. (Bild:  frei lizenziert: Panumas Nikhomkhai /  Pixabay)
Mit rekonfigurierbaren Rechnerarchitekturen wie einer CGRA lassen sich Prozessorsysteme im Datacenter flexibel gestalten.
(Bild: frei lizenziert: Panumas Nikhomkhai / Pixabay)

Klimasimulationen, Echtzeit-Analysen und Virtualisierung: Immer komplexere Rechenmodelle verlangen nach immer leistungsfähigeren Computersystemen. Zusätzlich befeuert wird diese Entwicklung durch Technologien wie die Künstliche Intelligenz (KI) und Machine Learning (ML), die den Bedarf an Rechenleistung oftmals vervielfachen.

Den mit KI und ML ebenfalls verbundenen Energiebedarf unterschätzen viele Unternehmen. Einer Studie von Pure Storage und Wakefield Research zufolge sind zwei Drittel der befragten Firmen nicht auf die Energie-Anforderungen von KI vorbereitet. Hinzu kommt die Herausforderung, die Abwärme aus dem Rechenzentrum abzuleiten. Laut einer Untersuchung der Deneff (Deutsche Unternehmensinitiative Energie-Effizienz e.V.) fehlen häufig schlichtweg die Abnehmer dafür.

Gefragt sind deshalb zeitgemäße Systeme, die einerseits die Rechenleistung steigern, gleichzeitig aber auch den Energieverbrauch reduzieren. Umsetzen lässt sich das zum Beispiel mit einer CGRA.

Schneller konfigurierbar als eine FPGA

Eine Coarse Grain Reconfigurable Architecture (CGRA) ist eine flexibel an Workloads anpassbare Hardware-Einheit, die eine Parallelisierung von Berechnungen erlaubt.

Eine CGRA weist eine niedrigere Granularität auf als traditionelle reprogrammierbare Rechenfelder wie etwa ein Field Programmable Gate Array (FPGA) und lässt sich daher auch schneller an neue Workloads anpassen. Möglich macht das die Rekonfiguration auf Word- beziehungsweise Instruction-Ebene statt auf Bit-Ebene. Beide reprogrammierbaren Rechenfeld-Typen lassen sich miteinander kombinieren, denn eine CGRA kann auf einem bestehenden FPGA aufgesetzt werden.

Matrix: Eine typische CGRA-Gatterstruktur (a) und der interne Aufbau der einzelnen PEs (b) (Bild:  Researchgate.net)
Matrix: Eine typische CGRA-Gatterstruktur (a) und der interne Aufbau der einzelnen PEs (b)
(Bild: Researchgate.net)

Eine CGRA besteht aus einer dedizierten Menge von miteinander verbundenden Rechenelementen (Processing Elements, PE), die jeweils mehrere Rechenoperationen ausführen können. Jede PE besitzt als Kernelemente eine Arithmetisch-logische Einheit (ALU) sowie ein Registerfeld, das als Zwischenspeicher fungiert.

Durch ihren Mesh-artigen Aufbau – denkbar sind je nach Rechen-Anforderungen zum Beispiel CGRAs mit einer 4x4-, 8x4-, 10x10- oder 12x16-PE-Gatterstruktur – kann jede PE auf den Rechen-Output ihrer jeweils benachbarten Rechenelemente zugreifen. Zu welchem Zeitpunkt das geschehen soll, wird über einen Datenflussgraph (DFG) festgelegt, der den einzelnen PEs Rechenoperationen zuweist und den Ein- sowie Ausgang ihrer Operationen steuert. Die Programmierung einer CGRA erfolgt in einer Hardwarebeschreibungssprache (Hardware Description Language, HDL) wie Verilog.

Vorteile gegenüber CPUs und GPUs

Bei CPUs und GPUs müssen die Algorithmen an die jeweilige Hardware angepasst werden. Reprogrammierbare Rechenfelder wie CGRAs sind deutlich flexibler, da es sich bei ihnen genau andersherum verhält: Ihre Hardware wird durch Rekonfiguration an die Algorithmen angepasst.

Im Gegensatz zu einer CGRA arbeiten CPUs und GPUs Aufgaben nicht parallel ab, sondern sequenziell, selbst wenn sie dafür mehrere Rechenkerne einsetzen. Jeder Prozessorkern arbeitet zudem mehr oder weniger für sich, also nicht besonders effizient.

GPUs und GPUs durch immer höhere Taktfrequenzen zu beschleunigen, erweist sich als wenig zielführend. Durch das „Hochtakten“ steigt die Verlustleistung der integrierten Schaltungen, was die Hitzeentwicklung in die Höhe treibt und eine zunehmend aufwändige Kühlung erfordert. Zudem schlägt sich die bei CPUs und GPUs übliche kleinteilige Fertigung in aufwändigen Produktionsprozessen nieder.

(ID:49957410)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung