Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.
Die programmierbare Schaltung im ComputerWas ist FPGA - Field Programmable Gate Array?
Von
Anna Kobylinska und Filipe Martins*
Das Akronym FPGA steht für Field Programmable Gate Array und bezeichnet eine vor Ort programmierbare Logikgatter-Anordnung. Es handelt sich dabei um einen adaptiven integrierten Schaltkreis, dessen Schaltungsstruktur der Anwender per Software konfigurieren kann, um mit Hilfe bereits vorhandener Elemente die gewünschte logische Schaltung zu implementieren.
Die Abbildung zeigt den Prototypen eines 6x-FPGA-Board von Microsoft von einem bahnbrechenden Projekt aus dem Jahre 2014.
(Bild: Microsoft)
FPGAs zeichnen sich durch einen simplen Design-Flow und eine bemerkenswerte Anpassungsfähigkeit aus. Ein Field Programmable Gate Array besteht aus einem Raster elektronischer Logikmodule mit adaptiven Logikgattern.
Schematischer Aufbau einer FPGA mit matrixförmiger Anordnung von Logikelementen
(Bild: Prof. Dr.-Ing. Christian Störte/FH Münster)
Zum Programmieren eines FPGA wird die gewünschte Konfiguration der Schaltung zuerst einmal in einer Touring-vollständigen Hardwarebeschreibungssprache (Hardware Description Language, kurz HDL) wie „VHDL“ oder „Verilog“ definiert, in eine Konfigurationsdatei übersetzt und dann schließlich auf die FPGA gespielt. Dieser Vorgang ist je nach Hersteller im Detail unterschiedlich gelöst. Einige FPGAs lassen nur eine einzige Programmierung zu, andere lassen sich mehrmals anpassen.
FPGAs lassen sich an neue Workloads, gegebenenfalls auch per Remote-Zugriff anpassen. Die Funktionsfähigkeit einer FPGA setzt im Übrigen keinen Host-Computer voraus.
Im Inneren der ACAP-basierten heterogenen Chip-Architektur von Xilinx, Versal Premium Series
(Bild: Xilinx)
FPGAs wurden von der kalifornischen Chip-Schmiede Xilinx erfunden. Xilinx ist nach wie vor der führende, obwohl nicht der einzige, Hersteller von FPGAs. Zu den Rivalen von Xilinx in diesem Markt zählen unter anderem Intel und Achronix.
Vorteile und Nachteile von FPGAs
Zu den besonderen Eigenschaften von FPAs zählen:
flexible Programmierbarkeit: Die hohe Anpassungsfähigkeit von FGPAs gestaltet sich derzeit äußerst umständlich, sie gilt zugleich als das wichtigste Alleinstellungsmerkmal und die größte Herausforderung beim Einsatz von FPGAs.
hohe Spezialisierung und hohe Parallelisierbarkeit: Mehrere FPGAs lassen sich hintereinander verschalten und erlauben so die Umsetzung fast beliebig komplexer Schaltungslogik - auf FPGAs laufen zum Beispiel die Bing-Algorithmen von Microsoft.
niedrige I/O-Latenz: Die Zeitspanne zwischen der Ein- und Ausgabe (I/O) ist im Falle einer FPGA extrem gering, da diese Schaltkreise weder eine Befehlssprache verarbeiten noch über einen Bus mit anderen Systemkomponenten kommunizieren müssen; die Latenz beträgt typischerweise etwa eine Mikrosekunde und ist damit rund 50 mal geringer als im Falle einer CPU.
hohe Bandbreite: Eine FPGA erlaubt die Verschaltung einer beliebigen Datenquelle direkt an die Pins des Chips (anders als im Falle einer CPU, die ihre Daten stets über einen standardisierten Bus wie PCIe empfangen muss).
geringe Markteintrittsschranken: FPGAs zeichnen sich durch hohe Produktionskosten, jedoch niedrigere Vorabinvestitionen als bei der Umsetzung derselben Schaltungslogik in einem ASIC
hohe Leistung pro Watt möglich: FPGAs zeichnen sich durch eine hohe Energie-Effizienz im Vergleich zu CPUs und GPUs bei Berechnungen mit fester Genauigkeit (zum Beispiel bei Workloads wie Crypto-Mining); FPGAs gelten jedoch als nicht empfehlenswert für Fließkommaoperationen (im Vergleich zu GPUs), außer bei der Verfügbarkeit integrierter Gleitkomma-Einheiten auf dem FPGA-Gewebe oder bei Berechnungen, die einen Host-Computer nicht erfordern; eine GPU braucht zwingend einen.
Nutzungsszenarien von FPGAs
Die wichtigsten Anwendungsszenarien für FPGAs beinhalten:
Schaltungsemulation und Prototyping von ASICs: Mit Hilfe von FPGAs lässt sich das Verhalten anwendungsspezifischer Chips, der so genannten ASICs, emulieren; FPGAs kommen in diesem Szenario bei der Erstellung von Prototypen beim Design von ASICs zum Einsatz.
Hardwarebeschleunigung: Latenzsensible Workloads wie die Inferenzphase von neuronalen Netzen an der Edge und im Rechenzentrum können aus FPGAs großen Nutzen ziehen; FPGAs haben sich in KI-Workloads unter anderem, zum Beispiel bei Microsoft, bewährt.
Sensorfusion: Ein FPGA kann Datenströme aus mehreren IoT-Sensoren gleichzeitig verarbeiten, was die Latenz verringert und Weiterleitung vereinfacht.
Umsetzung leistungsstarker Schaltungslogik für IoT-Endpunkte: Die hohe Energie-Effizienz bei Berechnungen mit fester Genauigkeit (zum Beispiel im Falle von Sensordaten) erlaubt es, den Energieverbrauch von IoT-Endpunkten zu senken, ohne auf die parallele Ausführung zu verzichten.
NOC-Implementierungen (Network-on-a-Chip): FPGAs bilden das Herzstück der adaptiven Rechenbeschleunigungsplattform „Versal Premium“ von Xilinx für NoC.
Optimierung von Time-to-Market von Hardware: Der Einsatz von FPGAs vor der Fertigstellung der jeweiligen ASIC-Implementierung erlaubt es den Herstellern, die Lieferzeiten neuer Lösungen zu verkürzen, während sie ihre Produktionskapazitäten der ASICs aufstocken.
FPGAs versus ASICS
FPGAs schlagen mit wesentlich höheren Stückkosten als ASICs zu Buche. Bei ASICs handelt es sich um anwendungsspezifische integrierte Schaltkreise, die gemäß sehr eng definierter Design-Eckdaten auf ganz bestimmte Kundenspezifikationen hin zugeschnitten werden. Anders als ASICs lassen sich integrierte Schaltkreise vom Typ FPGA auch nach der Inbetriebnahme im Datencenter an neue Workloads anpassen.
Sowohl ASICs als auch FPGAs glänzen durch eine hohe Energie-Effizienz im Vergleich zur GPU-Beschleunigung, vor allem bei Berechnungen mit fester Genauigkeit. GPUs (Graphic Processing Units) trumpfen wiederum mit einer hohen Maximalleistung bei Fließkommaberechnungen.
Die Chip-Entwicklung von der Idee bis zum Prototyp dauert bei FPGAs rund sechs Monate, bei ASICS rund 18 Monate.
FPGAs versus CPUs und GPUs
Die umständliche Programmierbarkeit von FPGAs in HDL-Sprachen gilt als das größte Hindernis für breiteren Einsatz. Das Aufkommen von HLS-Lösungen zur FPGA-Programmierung (High Level Synthesis) in Programmiersprachen höherer Ebene wie OpenCL oder C++ kann eine willkommene Abstraktionsebene schaffen. Doch selbst wenn solche Sprachen zum Einsatz kommen, gestaltet sich das Programmieren von FPGAs um eine Größenordnung schwieriger als das Programmieren ISA-basierter Prozessoren wie CPUs oder GPUs.
FPGAs bilden das Herzstück anpassungsfähiger, heterogener Chip-Architekturen wie „Versal“ von Xilinx.
(Bild: Xilinx)
Bei „Versal“ (Codename Everest) handelt es sich um eine heterogene Chip-Architektur auf der Basis der „ACAP“-Plattform von Xilinx (Adaptable Computing Acceleration Platform). Mit „Versal Premium“ Series hat Xilinx einen kompletten Stack vorgestellt, der FPGA-beschleunigte Workloads aus Hyperscale-Rechenzentren auf andere Marktsegmente ausweiten soll. Die adaptive Rechenbeschleunigungsplattform Versal Premium setzte damit neue Standards im Hinblick auf die Umsetzung rekonfigurierbarer, programmierbarer Hardware für 5G- und Cloud-Konnektivität.
* Das Autorenduo Anna Kobylinska und Filipe Pereira Martins arbeitet für McKinley Denali Inc. (USA).
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.