Noticias

Red del centro de datos: SmartNIC | Ubuntu

Esta publicación de blog es parte de nuestra serie de redes de centros de datos:

En la última década, con el crecimiento explosivo del tráfico de aplicaciones y el aumento exponencial de las cargas de trabajo del centro de datos, el tráfico este-oeste ha aumentado sustancialmente y, en última instancia, ha afectado a la arquitectura tradicional norte-sur. Esto plantea la necesidad de revisar toda la arquitectura del centro de datos mientras se mantienen los objetivos de cumplir con los requisitos de rendimiento, seguridad y supervisión.

Desde una perspectiva de rendimiento y seguridad, la inteligencia de seguridad y reenvío se puede distribuir en todo el centro de datos en lugar de descargar el tráfico a bloques de administración y seguridad centralizados dentro del centro de datos (lo que puede causar problemas de rendimiento) o aceptar áreas no controladas.

Innovaciones como DPDK han proporcionado a las CPU una forma eficaz de ejecutar funciones de red y seguridad y mejorar su rendimiento. Un mejor enfoque es equipar el host del servidor con un procesador de nueva generación cerca de la carga de trabajo y poder descargar funciones clave como reenvío de tráfico, firewall, inspección profunda de paquetes, cifrado / descifrado y monitoreo. Dependiendo del fabricante del chip, estos procesadores tienen diferentes nombres. Por lo general, se denominan SmartNIC, tarjeta de servicio distribuida (DSC) o unidad de procesamiento de datos (DPU). Los principales fabricantes de chips activos en este campo son NVIDIA, Broadcom, Marvell, Intel, Netronome y Pensando. Han estado transformando las NIC tradicionales en plataformas programables, más potentes y más flexibles para descargar y acelerar las funciones de seguridad, almacenamiento y red central.

SmartNIC se ejecuta directamente en el host del servidor y puede descargar funciones de red y seguridad, lo que permite que la CPU dedique mejor todos sus núcleos al procesamiento y rendimiento de la aplicación. Intentemos comprender qué es SmartNIC.

¿Qué es una tarjeta de red inteligente?

SmartNIC es una tarjeta de interfaz de red inteligente, que en sí misma es una unidad de procesamiento de datos. Se ejecuta como un servidor en un servidor, y la NIC puede comunicarse directamente con la VM sin interrumpir el procesamiento en la capa del kernel. Cuando se envía un paquete a una NIC tradicional, hay una capa de abstracción en el kernel que realiza el procesamiento de interrupciones y el cambio de contexto inverso, extrae el paquete del búfer de anillo a la NIC y luego lo envía a la VM.

Cuando cientos de máquinas virtuales se ejecutan en un servidor con una tarjeta de red común, cada máquina virtual simula la tarjeta de red del host y realiza un procesamiento de interrupciones en el kernel. Esta es una operación que consume mucha energía y CPU. Incluso si aumenta el rendimiento de la NIC, el rendimiento del reenvío de tráfico se verá afectado.

SmartNIC / DPU es más flexible que el ASIC estático funcional tradicional. Las organizaciones también pueden apreciar la capacidad de utilizar otros servidores y funciones existentes en el centro de datos. Debido a que SmartNIC se ejecuta dentro del servidor, las organizaciones pueden implementar redes virtualizadas y características de seguridad en lugar de hardware diseñado específicamente.

Beneficios de SmartiNIC

SmartNIC es la solución más avanzada que proporciona virtualización de redes y almacenamiento en centros de datos y entornos de nube. Los principales proveedores de servicios en la nube ya utilizan diseños SmartNIC personalizados, como AWS Nitro o Azure SmartNIC. SmartNIC proporciona aislamiento, seguridad y mayor rendimiento, que es sinónimo de mayor eficiencia energética y de costes.

Recientemente, ha aparecido un nuevo conjunto de productos básicos SmartNIC, como BlueField, Broadcom Stingray o Pensando DSC de NVIDIA.

SmartNIC distribuye inteligencia en todo el centro de datos y proporciona los siguientes beneficios:

  • Proporciona controles de seguridad personalizables y cercanos a la carga de trabajo. Esto se logra mediante reglas adaptadas a las cargas de trabajo locales, en lugar de configurar una gran cantidad de reglas de seguridad para abarcar un conjunto separado de firewalls para cumplir con todos los requisitos de cientos de aplicaciones.
  • Mejore el rendimiento descargando las funciones de red y seguridad a aceleradores dedicados, liberando así la CPU para que se concentre en las aplicaciones de servicio.
  • Mejorar la eficiencia energética: Se ha demostrado que los recursos informáticos ARM y FPGA que se encuentran comúnmente en SmartNIC son más eficientes energéticamente.
  • Reduzca la complejidad de las funciones de administración y seguridad que se pueden ejecutar localmente. Además, SmartNIC se puede administrar de forma centralizada, lo que significa que incluso si la inteligencia se distribuye a través del centro de datos, el equipo de TI puede tener visibilidad y control global sobre él.
  • Proporcionan un amplio conjunto de opciones de virtualización de redes y almacenamiento:
  • Red superpuesta, como VXLAN
  • Interruptor integrado
  • Emulación NVMe
  • Soporte de cola Virtio (bloque y red)
  • cifrar y decodificar
  • Filtro de paquetes / inspección profunda de paquetes

OpenStack y OVN en SmartNIC DPU

La DPU está compuesta por una CPU multinúcleo programable por software de alto rendimiento, una interfaz de red de alto rendimiento y un motor de aceleración flexible y programable.

La DPU actúa como una unidad de procesamiento y puede dividirse en múltiples funciones físicas (PF), que se comunican directamente con un grupo de VM a través de funciones virtuales (VF).

En comparación con la DPU en la ruta, la DPU SmartNIC fuera de la ruta introduce cambios arquitectónicos en los que el agente de red responsable de la configuración del conmutador NIC y la inserción de la interfaz se ejecuta en un SoC separado con su propia CPU y memoria, y ejecuta un kernel de sistema operativo separado. El efecto secundario de esta configuración es que el nombre de host del hipervisor ya no coincide con el nombre de host de la DPU de SmartNIC, y los agentes ovs-vswitchd y OVN pueden ver estos nombres de host y confiar en el código de enlace de puerto existente. El objetivo de esta especificación es introducir los cambios necesarios para extender el código de descarga de hardware existente para hacer frente a las discrepancias de nombres de host y los desafíos de diseño relacionados mientras se reutiliza el código restante.

Por esta razón, se introdujo el seguimiento de tarjetas adicionales PCI (e) para placas base con números de serie únicos, de modo que se pueda usar para determinar el nombre de host correcto de la DPU SmartNIC responsable de una VF en particular. Además, se recomienda pasar más información en el «enlace: perfil» durante la actualización del puerto para facilitar la inserción del puerto en nombre del puerto.

El conmutador NIC tampoco está expuesto al host del hipervisor, por lo que es imposible programarlo desde el hipervisor.

Esto requiere que se proporcione una lógica adicional en el lado del host de la DPU de SmartNIC. Si es independiente de OpenStack, es más reutilizable.

Canonical ha estado trabajando en estrecha colaboración con NVIDIA durante muchos años para promover la innovación y respaldar el software de código abierto a través del poder del procesamiento acelerado. Esto nos ha permitido proporcionar de forma conjunta aceleración de GPU para Linux, OpenStack y cargas de trabajo de contenedores en servidores de centros de datos tradicionales. En el campo de SmartNIC, también cooperamos con NVIDIA en temas candentes, como habilitar Ubuntu en su DPU BlueField y su integración, desinstalación de OVS / OVN.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba