La nueva arquitectura aborda los desafíos de la red de alta velocidad - Calendae | Informática, Electrónica, CMS, Ciberseguridad

La nueva arquitectura aborda los desafíos de la red de alta velocidad

Hola y mil gracias por leerme. Te habla Simón Sánchez y en esta ocasión vamos a hablar sobre La nueva arquitectura aborda los desafíos de la red de alta velocidad

Ethernet sigue siendo la arquitectura de red más utilizada en la actualidad debido a su bajo costo y compatibilidad con la infraestructura Ethernet existente. Impulsadas por las crecientes demandas de la red para aplicaciones como búsqueda en Internet, alojamiento web, video bajo demanda e informática de alto rendimiento, las velocidades de la red están migrando rápidamente a 10 Gigabits por segundo y más. Pero a medida que aumenta la velocidad de la red, plantea una serie de grandes desafíos en los servidores de computadoras.

Recientemente, investigadores de la Universidad de California, Riverside estudiaron los desafíos de E / S de las redes de alta velocidad e inventaron una nueva arquitectura para abordar esos desafíos de manera eficiente. Un documento que describe la investigación «Una nueva arquitectura de servidor de E / S para redes de alta velocidad«, Fue co-

Los diseños arquitectónicos tradicionales de procesadores, jerarquías de caché e interconexiones de sistemas se centran en aplicaciones intensivas de CPU y / o memoria y están desacoplados de consideraciones de E / S. Como resultado, tienden a ser ineficientes para el procesamiento de red . El procesamiento de red en 10 Gigabit Ethernet (10GbE) satura fácilmente dos núcleos de un procesador Intel Xeon de cuatro núcleos. Suponiendo una escalabilidad ideal en varios núcleos, el procesamiento de red a 40 GbE y 100 GbE saturará 8 y 20 núcleos respectivamente. Además de las ineficiencias de procesamiento, el aumento de la velocidad de la red también plantea un desafío importante para los diseños de tarjetas de interfaz de red (NIC). El descriptor DMA que se obtiene en un bus PCI Express de latencia larga ejerce una gran presión sobre el motor DMA en las tarjetas NIC y requiere búferes NIC más grandes para contener paquetes temporalmente.

Estos requisitos aumentan enormemente la complejidad y el precio del diseño del dispositivo. Por ejemplo, el precio de una NIC de 10 GbE puede llegar a $ 1,400, mientras que una NIC de 1 GbE cuesta menos de $ 40. Por lo tanto, tener un procesamiento de red altamente eficiente con baja complejidad de NIC se convierte en una cuestión crítica. contestar.

Para comprender la eficiencia del procesamiento de la red, utilizamos el punto de referencia de la red Iperf sobre 10GbE en servidores basados ​​en procesadores Intel Xeon de cuatro núcleos para medir la sobrecarga de procesamiento por paquete. Instrumenta el controlador del sistema operativo y el kernel mediante contadores de rendimiento de hardware suministrados por la CPU para identificar los cuellos de botella de rendimiento reales. A diferencia de las herramientas de generación de perfiles existentes que atribuyen costos de CPU a funciones, como ciclos retirados o fallas de caché, la instrumentación se implementa al nivel de detalle y puede identificar los datos que soportan el costo.

A través de análisis generales detallados hemos obtenido varias observaciones nuevas, que aún no han sido reportadas.

Primero, el estudio encontró que, además de copiar datos / paquetes del espacio de usuario del kernel, liberar controladores de socket y búfer tomó inesperadamente el 46% del tiempo de procesamiento para tamaños de E / S grandes e incluso 54% para tamaños de E / S pequeños. Por lo tanto, los principales cuellos de botella del procesamiento de la red se encuentran en el controlador (más del 26 por ciento), la copia de datos (hasta el 34 por ciento, dependiendo del tamaño de E / S) y la liberación del búfer (más del 20 por ciento). ), en lugar del protocolo TCP / IP en sí.

En segundo lugar, en contraste con la noción generalmente aceptada de que el acceso a registros NIC de latencia prolongada da como resultado una sobrecarga del controlador, nuestro análisis mostró que la sobrecarga proviene de bloqueos de memoria en las estructuras de datos del búfer de red. . La integración simple de la NIC en CPU como los procesadores Niagara 2 con dos NIC de 10 GbE integradas para reducir la latencia de acceso al registro no ayuda mucho al rendimiento del procesamiento de la red.

En tercer lugar, la liberación de búferes de red en el sistema operativo provoca bloques de memoria en las estructuras de datos de las páginas del núcleo, lo que contribuye a la sobrecarga de liberación del búfer.

Finalmente, además de las paradas de memoria en los paquetes, la copia de datos implementada como una serie de instrucciones de carga / almacenamiento también tiene un tiempo significativo para las fallas de caché L1 y la ejecución de instrucciones. Las optimizaciones predominantes de la plataforma de copia de datos, como Direct Cache Access (DCA), no son suficientes para resolver el problema de copia.

Los estudios revelan que, además de las paradas de memoria, cada paquete sufre varias fallas de caché en los datos correspondientes y tiene una sobrecarga de copia de datos significativa. Algunas soluciones intuitivas, como tener cachés de último nivel más grandes o extender la optimización de DCA, pueden ayudar a su red a calcular el rendimiento hasta cierto punto, pero tienen importantes limitaciones. Aumentar el tamaño de la caché es un enfoque ineficaz y, lo que es más importante, no aborda los desafíos del NIC y el problema de copia de datos. A diferencia del aumento del tamaño de la caché, extender DCA para entregar tanto los paquetes como los datos perdidos de las NIC a las cachés es más eficiente para evitar bloques de memoria. La desventaja es que ejerce más presión sobre las NIC y reduce la eficiencia de transferencia de paquetes PCI Express. Tampoco considera el problema de copiar datos.

Para abordar de manera eficiente todos los desafíos de las redes de alta velocidad, el documento propone una nueva arquitectura de E / S de servidor, en la que la responsabilidad de administrar los descriptores DMA se transfiere a un motor de red en chip, conocido como NEngine. El manejo de descriptores en chip expone muchas oportunidades de optimización, como la extensión de descriptores. La información sobre los datos que sufren bloques de memoria durante el procesamiento de la red se agrega a los descriptores.

Básicamente, funciona así: cuando la NIC recibe un paquete, empuja el paquete directamente a NEngine sin esperar a que se recuperen los descriptores de latencia larga. NEngine lee los descriptores extendidos para obtener la posición de destino del paquete y la información sobre los datos que están experimentando bloques de memoria. Luego, mueve el paquete a la ubicación de la memoria de destino y verifica si los datos estancados residen en las cachés. De lo contrario, NEngine envía la dirección de datos a la instalación de precarga de hardware para cargar los datos, evitando así bloqueos de memoria durante el procesamiento de paquetes. Para resolver el problema de copia de datos, NEngine mueve la carga útil dentro caché de último nivel e invalidar las líneas de caché de origen después del traslado. Los datos de origen se vuelven inútiles y muertos después de copiarlos.

La nueva arquitectura de E / S permite que el motor DMA acceda rápidamente a los descriptores y mantenga los paquetes en la memoria caché de la CPU en lugar de en los búferes de la NIC. Estos diseños reducen sustancialmente la carga en el motor DMA y evitan grandes búferes NIC en redes de alta velocidad. Aunque las NIC están desacopladas del motor DMA, conservan otras características de hardware como la escala del lado de recepción y la fusión de interrupciones.

A diferencia de los enfoques anteriores, como DCA, la nueva arquitectura de E / S del servidor mejora todos los principales cuellos de botella del rendimiento del procesamiento de red y simplifica los diseños de NIC, lo que permite que las plataformas de uso general sean adecuadas para redes de alto rendimiento. velocidad. La evaluación del rendimiento muestra que mejora significativamente la eficiencia del procesamiento de la red y el rendimiento del servidor web al reducir sustancialmente la complejidad del hardware NIC. La nueva arquitectura de E / S del servidor hereda la interfaz de software / hardware basada en descriptores y solo necesita un apoyo modesto del controlador del dispositivo y el componente de copia de datos. No es necesario cambiar la pila de protocolos TCP / IP, las llamadas al sistema o las aplicaciones de usuario.

Acerca de

Guangdeng Liao es un doctorado de quinto año. estudiante de la Universidad de California, Riverside. Su interés de investigación radica en E / S de alto rendimiento, arquitectura informática y virtualización.

Deberías compartir en tu Facebook para que tus amigos lo flipen

??? ? ? ???

Comparte