Resumen ejecutivo
El LLT y otras aplicaciones sensibles al tiempo son casos de uso ideales para la aceleración de FPGA. Para abordar este mercado, Flyslice Technologies desarrolló la tarjeta de aceleración FA728Q basada en la arquitectura de FPGA. La plataforma de aceleración FA728Q ofrece potentes recursos de FPGA, una abundante capacidad de almacenamiento e interfaces fáciles de usar para los usuarios finales. Para acelerar, simplificar y normalizar el desarrollo de su placa de aceleración, Flyslice Technologies usó la infraestructura de OFS, que ofrece una metodología potente para el desarrollo rápido de soluciones de FPGA con un enfoque en apropiarla y adaptarla. Mediante la infraestructura de OFS, Flyslice Technologies integra su motor de descarga de TCP/IP en el FIM basado en código abierto, denominado comúnmente “shell” de FPGA.
Información general y desafío
El LLT es la práctica moderna de ejecutar transacciones de forma electrónica de valores financieros con un retraso mínimo entre la entrada y la ejecución de la orden. Los grandes bancos de inversión, los fondos de cobertura y otras instituciones financieras suelen usar este método. En el pasado, las operaciones se ejecutaban de forma manual, no electrónica, y la ejecución de las transacciones variaba de segundos a minutos. No obstante, con los avances tecnológicos en el hardware y el software correspondiente, los sistemas se pueden programar para tomar decisiones de compra o venta de forma automática en función de ciertas señales y movimientos del mercado, lo que reduce los tiempos de ejecución de transacciones a milisegundos. Debido al aumento de la disponibilidad de los productos de aceleración basados en la arquitectura de FPGA en los últimos años, los tiempos de las transacciones se redujeron a microsegundos, o incluso menos.
Al mismo tiempo, los sistemas de LLT se basan cada vez más en modelos de algoritmos de comercio complejos y únicos para la estrategia comercial particular de cada empresa con el fin de mejorar la interacción con los libros de pedidos. Las soluciones requieren procesadores de uso general e informática de coprocesadores de uso especial, como la informática heterogénea, para satisfacer los requisitos de desempeño y energía de los corredores de bolsa. Las FPGAs son ideales a la hora de implementar algoritmos de comercio personalizados; sin embargo, la programación de tal dispositivo de aceleración de hardware puede tomar tiempo y ser difícil de migrar a medida que las familias de FPGA mejoran y evolucionan.
Flyslice Technologies, una empresa con sede central en China, está abordando de manera activa la demanda de aceleración heterogénea para centros de datos y la informática de alto desempeño, lo que incluye al segmento de LLT. Se ocupa de lanzar al mercado plataformas de aceleradores de hardware basadas en la arquitectura de FPGA, funciones de aceleración de FPGA de propiedad intelectual (IP) y servicios de diseño de plataformas con tecnología de FPGA.
Solución
A fin de responder a los requisitos de baja latencia, normalización y portabilidad de las aplicaciones de LLT, Flyslice Technologies desarrolló su tarjeta de aceleración FA728Q que instancia un motor de descarga de TCP/IP integrado. Para ello, Flyslice Technologies modificó el FIM base provisto en la versión de código abierto de OFS. Debido a la arquitectura de la composición y el enfoque de apropiar y adaptar, OFS le permitió trasladar su algoritmo a la tarjeta de aceleración FA728Q y, a la vez, aprovechar el resto de la infraestructura provista, como los controladores y las bibliotecas de software de OFS, solo con modificaciones mínimas.
OFS es una infraestructura de hardware y software de código abierto que ofrece todos los componentes clave de diseño, software e infraestructura que se necesitan para iniciar el desarrollo de cargas de trabajo o placas personalizadas basadas en la arquitectura de FPGA. La infraestructura de OFS consiste en el FIM, comúnmente llamado “shell”, y una región de unidad funcional del acelerador (AFU), que es designada para el desarrollo de cargas de trabajo. Gracias a OFS, los desarrolladores de FIM, o de placas basadas en la arquitectura FPGA, pueden aprovechar la infraestructura de código abierto, o FIM base, para desarrollar rápidamente un FIM personalizado que se adapte a sus placas según la aplicación o industria objetivo. OFS también se vende con un paquete de asistencia para aceleradores (ASP) oneAPI, que se puede aprovechar para separar el hardware de FPGA y el flujo de diseño. OFS les ahorra tiempo a los desarrolladores, aumenta la portabilidad en todas las generaciones de FPGA, usa interfaces estándar de la industria y ofrece un flujo de diseño opcional de alto nivel mediante oneAPI.
La tarjeta de aceleración FA728Q ya está disponible. Es una placa de aceleración de FPGA con tecnología PCIe de gama alta que ofrece memoria DDR4 integrada de 32 GB y tres zócalos QSFP28 para admitir hasta 100 GbE en cada interfaz. La tarjeta de aceleración FA728Q también se habilita con oneAPI a través de la infraestructura de OFS, para que los clientes puedan implementar sus kernels en RTL o migrar algoritmos de la CPU o GPU a lenguajes de diseño de alto nivel, como C/C++. El kit de herramientas básico Intel® oneAPI también permite sintetizar y optimizar los kernels en recursos de FPGA, lo que mejora aún más el tiempo de comercialización.
Flyslice Technologies también comenzó el desarrollo de placas basadas en la arquitectura de las FPGAs Intel Agilex®, como la tarjeta FA927S que usa la FPGA Intel Agilex® 7 serie I, y la tarjeta FA925E que usa la FPGA Intel Agilex® 7 serie F.
La tarjeta FA927S cuenta con altas velocidades de transceptores de hasta 116 Gbps y compatibilidad con PCIe 5.0 x16 y Compute Express Link (CXL). Está dirigida a aplicaciones con uso intensivo de ancho de banda y ya está disponible para el desarrollo con tecnología RTL. La tarjeta FA927S será compatible con OFS en el primer trimestre del 2024.
Por otro lado, la tarjeta FA925E ofrece cuatro ranuras DDR4 de 8 GB y cuatro de 4 GB, con una capacidad de memoria total de 48 GB. Está diseñada para aplicaciones con requisitos altos de capacidad de memoria externa y ancho de banda. La tarjeta ofrece compatibilidad completa con OFS y estará disponible a fines del 2023. Consulte la Tabla 1 para comparar las tres tarjetas de aceleración.
Tabla 1. Tabla comparativa
Alimentación | 215 W | 200 W | 150 W |
Requisito de refrigeración | Activa o pasiva (opcional) | Activa o pasiva (opcional) | Activa o pasiva (opcional) |
Factor de forma | PCIe de 3/4 de longitud, altura completa y ranura doble | PCIe de longitud media, altura completa y ranura doble | PCIe de 3/4 de longitud, altura completa y ranura doble |
Interfaces de redes | Puertos QSFP28 triples: 3 x 100 GbE/40 GbE | Puertos QSFP28 dobles: 2 x 100 GbE/40 GbE | Puertos QSFP28 dobles: 2 x 100 GbE/40 GbE |
Interfaces de memoria | 4 DDR4 x 8 GB, 2400 MHz con ECC | 4 DDR4 x 8 GB, 2400 MHz con ECC | 4 DDR4 x 8 GB y 4 x 4 GB, 2400 MHz con ECC |
Interfaces de PCIe | - | 5.0 x16 | - |
Interfaces de extensión | - | 2 conectores SAS delgados x8 para extensión de PCIe 4.0 | - |
Puerto de administración | Micro-USB | Micro-USB | Micro-USB |
Dispositivo FPGA | 1SX280HN2F43E2VG | AGIB027R29A1E2VR3 | AGFB027R25A2E2V |
Resultados
La función de PI del motor de descarga, implementada por Flyslice Technologies en la tarjeta FA728Q, está optimizada para lograr la latencia y el desempeño que cumplan con los requisitos de LLT. En el modo de aceleración, la latencia de transmisión de TCP es inferior a 100 ns, lo que garantiza conexiones estables y de baja latencia para aplicaciones de red críticas en lo que respecta al tiempo. La Tabla 2 muestra la latencia medida en varias conexiones. La Tabla 3 muestra las interfaces PCIe 3.0 x16 y DDR de gran ancho de banda.
Especificación | Valor |
---|---|
Conexiones máximas de TCP/UDP | 63 para TCP, 63 para UDP |
Latencia de TCP TX (modo de aceleración) | 15 relojes |
Latencia de TCP TX (modo sin aceleración) | 46 relojes |
Latencia de TCP RX | 32 relojes |
Latencia de UDP TX | 42 relojes para un paquete de 512 bytes, 18 relojes para un paquete de 128 bytes |
Latencia de UDP RX | 23 relojes |
Latencia de bucle invertido para kernels oneAPI | 18 relojes |
Tabla 2. Especificación de motor de descarga de TCP/IP (TOE)
Nota:
1. Un período de reloj es 6,4 ns
2. La latencia de TX se cuenta desde el borde de caída del EOP del paquete hasta los datos válidos en XGMII TXC
3. La latencia de RX se cuenta desde el SOP del paquete hasta los datos válidos en XGMII RXC
Ruta de datos | Anchos de banda |
---|---|
Memoria de escritura del host | 8287,68 MBps para el bloque de 8192 kB |
Memoria de lectura del host | 8241,19 MBps para el bloque de 8192 kB |
Memoria de escritura del kernel | 16909,6 MBps para el bloque de 4096 MB |
Memoria de lectura del kernel | 17340,3 MBps para el bloque de 4096 MB |
Tabla 3. Ancho de banda proporcionado por cada interfaz
OFS nos permitió crear una plataforma de aceleración necesaria con mayor facilidad y rapidez para los clientes, desde los controladores de las APIs de software hasta el hardware subyacente, como un conjunto completo de equipo.
Cómo comenzar con la aceleración de FPGA con OFS
Los desarrolladores de FPGA pueden aprovechar la tarjeta aceleradora FA728Q, y la placa habilitada para OFS, con la documentación y el código fuente de código abierto para comenzar a crear sus cargas de trabajo personalizadas.
La siguiente tabla describe cómo un desarrollador puede iniciar el desarrollo de cargas de trabajo, basado en la arquitectura FPGA, con una placa de aceleración de Flyslice Technologies.
Aproveche la aceleración de FPGA para su carga de trabajo | |
---|---|
Paso 1: Elija una placa | Vea la placa habilitada para OFS de Flyslice Technologies, la tarjeta aceleradora FA728Q |
Paso 2: Evalúe los recursos de OFS de código abierto |
Flyslice Technologies proporcionará la versión correspondiente de documentación técnica de OFS. |
Paso 3: Acceda al código de hardware y software de código abierto |
Flyslice Technologies proporcionará el código correspondiente de software y hardware de OFS. Esta es su distribución específica del código base de OFS que proporciona Intel. |
Paso 4: Desarrolle la carga de trabajo con RTL o C/C++ (con oneAPI) |
Siga el flujo de RTL de OFS O OFS habilita la compilación de kernels oneAPI. Use el flujo de desarrollo de oneAPI y cree cargas de trabajo de FPGA en C/C++. |