Kurzübersicht:
LLT und andere zeitkritische Anwendungen sind ideale Anwendungsfälle für FPGA-Beschleunigung. Um diesen Markt zu bedienen, hat Flyslice Technologies die FPGA-basierte Beschleunigungskarte FA728Q entwickelt. Die Beschleunigungsplattform FA728Q bietet leistungsstarke FPGA-Ressourcen, reichlich Speicherkapazität und anwenderfreundliche Schnittstellen für Endbenutzer. Um die Entwicklung der Beschleunigungskarte schneller zu gestalten, zu vereinfachen und zu standardisieren, hat Flyslice Technologies auf die OFS-Infrastruktur zurückgegriffen. Diese Infrastruktur bietet eine leistungsstarke Methode zur schnellen Entwicklung von FPGA-Lösungen durch Anpassung von Standardvorgaben. Mithilfe der OFS-Infrastruktur integriert Flyslice Technologies seine TCP/IP-Offload-Engine in den Open-Source-basierten FIM, der allgemein als FPGA-„Shell“ bezeichnet wird.
Hintergrund und Herausforderung
LLT bzw. Hochfrequenzhandel ist die moderne Praxis der elektronischen Ausführung von Wertpapiergeschäften mit minimaler Verzögerung zwischen Auftragserfassung und Auftragsausführung. Bei großen Investmentbanken, Hedgefonds und anderen Finanzinstituten ist diese Methode weit verbreitet. In der Vergangenheit wurden Trades nicht elektronisch, sondern manuell ausgeführt, und die Dauer der Ausführung von Transaktionen variierte zwischen Sekunden und Minuten. Dank technischer Fortschritte bei Hardware und entsprechender Software konnten Systeme jedoch so programmiert werden, dass sie auf Grundlage bestimmter Marktsignale und -bewegungen automatisch Kauf- oder Verkaufsentscheidungen treffen und die Ausführungszeiten von Trades auf Millisekunden verkürzen. Angesichts der breiteren Verfügbarkeit von FPGA-basierten Beschleunigungsprodukten in den letzten Jahren haben sich die Transaktionszeiten weiter auf Mikrosekunden oder darunter reduziert.
Gleichzeitig nutzen LLT-Systeme immer öfter komplexe Handelsalgorithmus-Modelle, die an die Handelsstrategie der einzelnen Handelshäuser für Orderbuch-Interaktionen angepasst sind. Lösungen erfordern Allzweckprozessoren sowie spezielle Coprozessoren, um die Energie- und Leistungsanforderungen von Handelshäusern (wie etwa bei heterogenem Computing) zu erfüllen. FPGAs sind ideal für die Implementierung maßgeschneiderter Handelsalgorithmen. Die Programmierung solcher Bauelemente für die Hardware-Beschleunigung kann jedoch zeitaufwendig und mit Blick auf die ständige Verbesserung und Weiterentwicklung von FPGA-Produktreihen schwer anzupassen sein.
Flyslice Technologies, ein Unternehmen mit Hauptsitz in China, reagiert aktiv auf die Nachfrage nach heterogener Beschleunigung und High-Performance-Computing, darunter auch im LLT-Segment. Das Unternehmen bringt FPGA-basierte Hardware-Beschleunigerplattformen, IP-Funktionen für FPGA-Beschleunigung sowie FPGA-basierte Plattform-Designservices auf den Markt.
Lösung
Um die Anforderungen an geringe Latenz, Standardisierung und Portabilität von LLT-Anwendungen zu erfüllen, hat Flyslice Technologies die Beschleunigungskarte FA728Q entwickelt, die eine integrierte TCP/IP-Offload-Engine instanziiert. Dazu hat Flyslice Technologies den bereitgestellten Basis-FIM in der Open-Source-Version von OFS modifiziert. Aufgrund der zusammensetzbaren Architektur und des Konzepts der Anpassung von Standardvorgaben konnte der Algorithmus mittels OFS einfach auf die Beschleunigungskarte FA728Q portiert werden, während am Rest der bereitgestellten Infrastruktur, einschließlich der OFS-Softwaretreiber und -bibliotheken, nur minimale Änderungen vorgenommen werden mussten.
OFS ist eine Open-Source-basierte Hardware- und Software-Infrastruktur, die alle wichtigen Design-, Software- und Infrastrukturkomponenten bereitstellt, die für den Einstieg in die Entwicklung von eigenen FPGA-basierten Boards oder Workloads erforderlich sind. Die OFS-Infrastruktur besteht aus dem FIM, der allgemein als „Shell“ bezeichnet wird, und einer AFU-Region (Accelerator Functional Unit), einer speziellen Region für die Workload-Entwicklung. Mit OFS können FPGA-Board- oder FIM-Entwickler die Open-Source-Infrastruktur bzw. den Basis-FIM nutzen, um für ihr Board schnell einen maßgeschneiderten, auf die Zielanwendung oder Branche zugeschnittenen FIM zu entwickeln. Außerdem wird OFS mit einem oneAPI Accelerator Support Package (ASP) ausgeliefert, das zur Abstraktion der FPGA-Hardware und des Designablaufs dient. OFS spart Entwicklern Zeit, verbessert die Portabilität über FPGA-Generationen hinweg, nutzt branchenübliche Schnittstellen und bietet einen optionalen übergeordneten Design-Flow unter Verwendung von oneAPI.
Die Beschleunigungskarte FA728Q ist ab sofort erhältlich. Sie ist eine High-End-FPGA-Beschleunigungskarte auf PCIe-Basis mit 32 GB DDR4-Speicher und drei QSFP28-Sockeln mit 100GbE-Unterstützung für jede Schnittstelle. Die Beschleunigungskarte FA728Q unterstützt über die OFS-Infrastruktur auch oneAPI. Kunden können ihre Kernel damit in RTL implementieren oder Algorithmen von CPU/GPU- auf Design-Hochsprachen wie C/C++ umstellen. Das Intel oneAPI Base Toolkit hilft zudem bei der Synthese und Optimierung der Kernel für FPGA-Ressourcen, was die Markteinführungszeit weiter verkürzt.
Darüber hinaus hat Flyslice Technologies mit der Entwicklung von Boards auf Basis von Intel Agilex® FPGAs begonnen, einschließlich der FA927S-Karte mit dem Intel Agilex 7 FPGA der I-Reihe und der FA925E-Karte mit dem Intel Agilex 7 FPGA der F-Reihe.
Merkmale der FA927S-Karte sind hohe Transceiver-Raten von bis zu 116 Gbit/s, PCIe 5.0 x16 und Unterstützung für Compute Express Link (CXL). Sie ist für bandbreitenintensive Anwendungen ausgelegt und steht jetzt für RTL-basierte Entwicklung zur Verfügung. Die FA927S-Karte wird im ersten Quartal 2024 OFS unterstützen.
Zum anderen hat die FA925E-Karte vier Speicherbänke mit je 8 GB sowie vier Bänke mit je 4 GB DDR4 und somit insgesamt 48 GB Onboard-Arbeitsspeicher. Sie ist für Anwendungen mit hohen Anforderungen an externe Speicherkapazität und Bandbreite ausgelegt. Die Karte bietet vollständige Unterstützung für OFS und wird Ende 2023 auf den Markt kommen. Tabelle 1 vergleicht die drei Beschleunigungskarten.
Tabelle 1: Vergleichstabelle
Leistungsaufnahme | 215 W | 200 W | 150 W |
Kühlungsanforderungen | Aktiv/passiv (optional) | Aktiv/passiv (optional) | Aktiv/passiv (optional) |
Format | PCIe mit 3/4 Länge, voller Höhe, Dual-Slot-Technologie | Halbe Länge, voller Höhe, belegt zwei PCIe-Steckplätze | PCIe mit 3/4 Länge, voller Höhe, Dual-Slot-Technologie |
Netzwerkschnittstellen | Drei QSFP28-Ports: 3 x 100GbE/40GbE | Zwei QSFP28-Ports: 2 x 100GbE/40GbE | Zwei QSFP28-Ports 2 x 100GbE/40GbE |
Speicherschnittstellen | 4 x 8 GB DDR4, 2.400 MHz mit ECC | 4 x 8 GB DDR4, 2.400 MHz mit ECC | 4 x 8 GB und 4 x 4 GB DDR4, 2.400 MHz mit ECC |
PCIe-Schnittstellen | - | 5.0 x16 | - |
Erweiterungsschnittstellen | - | 2 x8-Slim-SAS-Anschlüsse für PCIe-4.0-Erweiterung | - |
Management-Port | Micro-USB | Micro-USB | Micro-USB |
FPGA-Bauelement | 1SX280HN2F43E2VG | AGIB027R29A1E2VR3 | AGFB027R25A2E2V |
Ergebnisse
Die von Flyslice Technologies auf der FA728Q-Karte implementierte Offload-Engine-IP-Funktion ist bezüglich Latenz und Leistung optimiert, um LLT-Anforderungen gerecht zu werden. Im Speedup-Modus beträgt die TCP-Übertragungslatenz weniger als 100 ns, was stabile und latenzarme Verbindungen für zeitkritische Netzwerkanwendungen ermöglicht. Tabelle 2 zeigt die gemessene Latenz für verschiedene Verbindungen. Tabelle 3 zeigt die hohe Bandbreite der PCIe-3.0-x16- und DDR-Schnittstellen.
Spezifikation | Niedrigpreissegment |
---|---|
Maximale TCP/UDP-Verbindungen | 63 für TCP, 63 für UDP |
TCP-TX-Latenz (Speedup-Modus) | 15 Takte |
TCP-TX-Latenz (ohne Speedup-Modus) | 46 Takte |
TCP-RX-Latenz | 32 Takte |
UDP-TX-Latenz | 42 Takte bei einem 512-Byte-Paket, 18 Takte bei einem 128-Byte-Paket |
UDP-RX-Latenz | 23 Takte |
Loopback-Latenz bei oneAPI-Kerneln | 18 Takte |
Tabelle 2: Daten der TCP/IP Offload Engine (TOE)
Hinweis:
1. Ein Takt entspricht 6,4 ns
2. TX-Latenz wird von der fallenden Flanke des Paket-EOP bis zu gültigen Daten in XGMII-TXC gezählt
3. RX-Latenz wird vom Paket-SOP bis zu gültigen Daten in XGMII-RXC gezählt
Datenweg | Bandbreiten |
---|---|
Host: Schreiben in Arbeitsspeicher | 8.287,68 MB/s bei 8.192-KB-Block |
Host: Lesen aus Arbeitsspeicher | 8.241,19 MB/s bei 8.192-KB-Block |
Kernel: Schreiben in Arbeitsspeicher | 16.909,6 MB/s bei 4.096-MB-Block |
Kernel: Lesen aus Arbeitsspeicher | 17.340,3 MB/s bei 4096-MB-Block |
Tabelle 3. Bandbreite der einzelnen Schnittstellen
OFS hat uns dabei geholfen, eine Beschleunigungsplattform für Kunden zu entwickeln, die von Software-API-Treibern bis hin zu zugrunde liegender Hardware alle erforderlichen Komponenten umfasst.
Einstieg in die FPGA-Beschleunigung mit OFS
FPGA-Entwickler können mit der Open-Source-Dokumentation und dem Quellcode die Beschleunigungskarte FA728Q und das OFS-fähige Board nutzen, um mit der Entwicklung ihres eigenen Workloads zu beginnen.
Die folgende Aufstellung zeigt, wie ein Entwickler mit der FPGA-basierten Workload-Entwicklung unter Einsatz der Beschleunigungskarte von Flyslice Technologies starten kann.
Nutzen Sie die Beschleunigung von FPGA für Ihre Workload | |
---|---|
Schritt 1: Wählen Sie ein Board | Informieren Sie sich über das OFS-fähige Board von Flyslice Technologies, die Beschleunigungskarte FA728Q |
Schritt 2: Evaluieren Sie OFS-Open-Source-Ressourcen |
Flyslice Technologies wird die entsprechende Version der technischen OFS-Dokumentation bereitstellen. |
Schritt 3: Greifen Sie auf Open-Source-Hardware- und Softwarecode zu |
Flyslice Technologies wird den entsprechenden OFS-Software- und -Hardwarecode bereitstellen. Dies ist ihre spezifische Verteilung des OFS-Basiscodes, der von Intel bereitgestellt wird. |
Schritt 4: Entwickeln Sie Ihre Workload mit RTL oder C/C++ (unter Einsatz von oneAPI) |
Folgen Sie dem OFS-RTL-Ablauf ODER OFS ermöglicht die Kompilierung von oneAPI-Kerneln. Folgen Sie dem Ablauf der oneAPI-Entwicklung und entwickeln Sie FPGA-Workloads in C/C++. |