Flyslice Technologies beschleunigt mit der Beschleunigungskarte FA728Q LLT-Anwendungen (Low-Latency Trading)

Flyslice Technologies nutzt das Intel® Stratix® 10 FPGA und die Open-Source-basierte OFS-Infrastruktur (Open FPGA Stack) zur Entwicklung einer hochleistungsfähigen FPGA-Beschleunigungskarte.

Überblick

  • Die FPGA-basierte Beschleunigungskarte FA728Q, eine leistungsstarke PCIe*-basierte Beschleunigungskarte, die mit dem Intel® Stratix® 10 FPGA ausgestattet ist, ist ab sofort erhältlich.

  • Flyslice nutzt die OFS-Basisinfrastruktur, um die Entwicklung seines eigenen FPGA Interface Manager (FIM) zu beschleunigen, zu dem eine integrierte TCP/IP Offload Engine gehört.

  • Die TCP-Übertragungslatenz der Beschleunigungskarte FA728Q liegt bei zeitkritischen Netzwerkanwendungen wie LLT bei unter 100 ns.

author-image

Von

Flyslice-LogoKurzü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.

Blockdiagramm für OFS mit TOE-Lösung, implementiert auf FA728Q
Abbildung 1. Auf der FA728Q implementierte OFS- mit TOE-Lösung (TCP/IP Offload Engine)

 

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

 

FA728Q-Board

FA728Q

FA927S-Board

FA927S

FA925E-Board

FA925E

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

Blockdiagramm für Datenpfad mit hoher Bandbreite in OFS-Plattform
Abbildung 2. Datenpfade mit hoher Bandbreite in der OFS-Plattform

 

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.

Cheng Ailian, Flyslice Technologies, Ltd.

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++.