Los ASIC dedicados para áreas específicas son una forma de "reiniciar" la ley de Moore y superar las limitaciones de las CPU de propósito general. Ahora es un área muy prometedora para el desarrollo de la microelectrónica. Google, Amazon y otras empresas tienen sus propios proyectos. Por ejemplo, Google fabrica procesadores de tensor de TPU de Google y los centros de datos de Amazon ejecutan chips AWS Graviton en el núcleo ARM.
Los primeros son ASIC para redes neuronales, y los segundos son ARM de 64 bits de uso general para optimizar la relación precio-rendimiento en cargas de trabajo intensivas en computación.
Otra clase de ASIC de propósito general, donde se han realizado experimentos activos recientemente, son los coprocesadores especializados para el procesamiento de datos (unidad de procesamiento de datos, DPU), una especie de tarjetas de red inteligentes (SmartNIC). Algunos ejemplos de esta especie son Nvidia BlueField 2, Fungible y Pensando DSC-25.
¿Cómo son? ¿Para qué tareas son adecuadas? Echemos un vistazo.
Qué es SmartNIC
Las tarjetas de red convencionales (NIC) se basan en un circuito integrado de propósito especial (ASIC), que está diseñado para funcionar como un controlador Ethernet. A menudo, estos microcircuitos están diseñados para realizar funciones secundarias. Por ejemplo, los controladores Mellanox ConnectX también admiten el protocolo Infiniband de alta velocidad. Estos son excelentes chips especializados, pero su funcionalidad no se puede cambiar.
A diferencia de las tarjetas de red simples, SmartNIC permite al usuario descargar software adicional al controlador, es decir, después de comprar el hardware. Esto amplía o cambia la funcionalidad del ASIC. El procedimiento es algo similar a comprar un teléfono inteligente e instalar varias aplicaciones en él.
Para que esto sea posible, las SmartNIC requieren más potencia de procesamiento y memoria adicional que las NIC convencionales. Estamos hablando de procesadores ARM de múltiples núcleos más potentes, la instalación de procesadores de red especializados (núcleos de procesamiento de flujo, FPC) y arreglos de puertas programables en campo (FPGA).
Las
SmartNIC esquemáticas de Xilinx Alveo U25 a menudo tienen un núcleo ARM separado para la capa de control, algunas placas permiten cargar un kernel de Linux modificado. Estos núcleos ARM especializados distribuyen la carga entre el resto de los módulos informáticos, recopilan estadísticas y registros y monitorean el estado de la SmartNIC. El tráfico de red directo no pasa a través de ellos.
¿Para qué tareas son adecuadas las DPU?
Los coprocesadores de datos (DPU) son una extensión típica de las SmartNIC que agregan la funcionalidad NVMe o NVMe over Fabrics (NVMe-oF). Dicha placa le permite descargar el procesador central, asumiendo todas las tareas de E / S.
Por ejemplo, considere el dispositivo SmartNIC del microcontrolador Broadcom NetXtreme-S BCM58800 . Funciona como una tarjeta de red programable y admite (NVMe-oF).
Arquitectura de la tarjeta Broadcom Stingray basada en el microcontrolador BCM58800
Broadcom Stingray tiene ocho núcleos ARM v8 A72 a 3 GHz, posiblemente la velocidad de reloj más alta de cualquier ARM en cualquier SmartNIC. La tarjeta de red viene con hasta 16 GB de memoria DDR4. Se admite el cifrado de hasta 90 Gbps a nivel de hardware y se admiten algunas funciones de procesamiento de datos: deduplicación, que elimina la codificación de RAID 5 y RAID 6.
El diagrama también muestra el acelerador TruFlow. Es una tecnología propiedad de Broadcom para la aceleración de hardware de las operaciones de red, incluido Open vSwitch (OvS) y más.
Nvidia BlueField 2
Nvidia se ha especializado tradicionalmente en aceleradores de gráficos, pero este año completó una adquisición por $ 7 mil millones del fabricante de chips especializado Mellanox, por lo que ahora está apuntando seriamente a un nuevo campo de computación de alto rendimiento para centros de datos.
Mellanox es uno de los pioneros en el desarrollo de tarjetas de red inteligentes, y la placa BlueField 2 , que se comercializa como una unidad de procesamiento de datos (DPU), ahora se considera el producto líder . Aplicaciones clave de DPU de la
arquitectura Nvidia / Mellanox BlueField 2
:
- Nubes virtuales y de hardware.
- Almacenamiento NVMe en máquinas virtuales.
- Aplicaciones de virtualización de funciones de red (NFV).
- Aplicaciones de seguridad de la información como la inspección profunda de paquetes (DPI).
- Microservidores para informática de borde
Nvidia / Mellanox BlueField 2
Cuenta con una matriz de ocho núcleos ARM v8 A72, un controlador de memoria DDR4 y un adaptador de red Ethernet o InfiniBand de doble puerto (dos a 100 Gbps o uno a 200 Gbps), además de ASIC especializados para acelerar varias funciones: expresiones regulares, hash SHA-2, etc.
Pensando
Una de las nuevas startups en el campo de SmartNIC es Pensando, que ofrece en el mercado la denominada Tarjeta de Servicios Distribuidos, Pensando DSC-25 (para servidores corporativos) y Pensando DSC-100 (para proveedores de nube).
Pensando DSC-25 y Pensando DSC-100
El producto principal es Pensando DSC-25. Es una tarjeta con una DPU P4 (Capri) para procesamiento de datos, núcleos ARM adicionales y aceleradores de hardware para funciones seleccionadas.
Circuito Pensando DSC-25
Los núcleos DPU y ARM principales están conectados a través de un bus de interconexión común a un controlador PCIe y una matriz de RAM (hasta 4 GB).
Los aceleradores de hardware individuales se denominan aquí descargas de procesamiento de servicios. Al igual que con la tarjeta Mellanox, manejan el cifrado, el procesamiento del disco y otras tareas.
Fungible
Arquitectura de alto nivel de Fungible
Otra nueva empresa emergente, Fungible, afirma que acuñó el término DPU en 2016. La compañía anuncia un procesador llamado F1 DPU, pero se desconoce la arquitectura real de estos chips. Fungible solo puede demostrar esquemas generales por ahora, como en la ilustración anterior. Algunos expertos han expresado su sospecha de que Fungible simplemente está usando el término exagerado DPU para atraer inversiones de capital de riesgo. Por cierto, ya se han invertido $ 500 millones en varias rondas.
¿Que sigue?
Últimamente ha habido mucha publicidad sobre el concepto de DPU. No todas las empresas que intentan ingresar a este mercado (Intel, Xilinx y otras) se mencionan en esta revisión.
El hecho es que el concepto SmartNIC existe desde hace mucho tiempo, y grandes empresas como Google y Amazon han desarrollado e implementado sus propias soluciones internas. Al mismo tiempo, se formó un mercado, que fue llenado por jugadores externos.
La SmartNIC basada en FPGA de segunda generación está emergiendo. La tecnología de matriz de puertas programables por el usuario ha madurado hasta el punto de que ahora puede convertirse en la tecnología fundamental para las SmartNIC. Hace una década, el mercado estaba literalmente inundado de aceleradores de gráficos: esta fue la primera ola significativa en la tecnología de aceleración de hardware. Ahora que los FPGA han superado la marca de tres millones de bloques lógicos, estos chips están estrechamente integrados con otros componentes básicos para manejar el tráfico de red, la memoria, el almacenamiento y los núcleos de cómputo. Las tecnologías SmartNIC y FPGA se complementan a la perfección.
En este contexto, podemos esperar una segunda ola de aceleradores de hardware. Y luego el tercer elemento, DPU, se agregará al conjunto de CPU + GPU. El coprocesador de datos liberará a los procesadores del servidor de las tareas de infraestructura. Las investigaciones muestran que en entornos altamente virtualizados, los procesos de red, como las transacciones OvS, pueden consumir más del 30% del tiempo de CPU en el host. Imagine operaciones de disco, cifrado, DPI y enrutamiento complejo realizado en un módulo separado. Esto eliminará potencialmente una parte significativa de la carga de la CPU.
Startups como Pensando y Fungible se han enfrentado a líderes tecnológicos como Xilinx, Intel, Broadcom y Nvidia con sus innovaciones. Esta es una competencia tecnológica que siempre es divertida de ver.