Como sistema operativo de propósito general, Linux está limitado en su rendimiento efectivo de red, pero el último proyecto de código abierto de Intel podría ayudar a mejorar el rendimiento impresionante de la red.
Linux es un sistema operativo de propósito general. Este comentario puede parecer una afirmación obvia, pero a veces es fácil de olvidar. Debido a que es un sistema operativo general, se utiliza en una variedad de casos de uso.
El sistema operativo se utiliza en dispositivos de la Internet de los objetos (IO), teléfonos inteligentes, tabletas, servidores y dispositivos de centros de datos. Sin embargo, a veces es necesario recordar que usar Linux para casos de uso especializados, como una red o incluso dispositivos con funciones de red, requiere cierta personalización del núcleo o la aceptación de que el rendimiento puede ser desigual o limitado. El proyecto Data Plane Development Kit (DPDK) de código abierto patrocinado por Intel espera ampliar la utilidad de Linux para incluir dispositivos de red de alto rendimiento.
Redes de alto rendimiento Linux
Es un reto lograr una red de alto rendimiento dentro del núcleo de Linux. Una simplificación excesiva y peligrosa sería decir que las redes Linux están optimizadas para la computación de propósito general. De acuerdo con esta profunda inmersión de CloudFlare, una concepción común es que Linux llega al límite de 50K paquetes por segundo (pps. El cálculo de Pps es un poco diferente a los bits por segundo (bps. Mientras que una interfaz en un servidor puede tener una velocidad de 10Gbps, no necesariamente se correlaciona con la cantidad de datos que se procesan.
Ver: Intel lanza la fotónica de silicio (ZDNet)
Más información sobre redes
En la escritura de CloudFlare, el experimento utilizó el tamaño mínimo de marco Ethernet de 72 bytes o 576 bits. El autor fue capaz de alcanzar un rendimiento máximo de 1.4Mpps, o unos 8Gbps en un enlace de 10Gbps. El reto es principalmente el de la eficiencia del procesador. La prueba trabajó duro para fijar las roscas a núcleos de procesadores específicos para eliminar los ciclos desperdiciados. Según el artículo, un objetivo realista que utiliza el proceso descrito es lograr un rendimiento sostenido de 1 Mpps. 1Mpps no se acerca a consumir un enlace de 10Gbps. Entonces, ¿por qué vemos múltiples enlaces de 10Gbps, o incluso enlaces de 40Gbps en servidores x86?
Anulación del kernel
Para utilizar los procesadores de forma más eficiente en Linux, los desarrolladores evitan el kernel de Linux y dedican los núcleos de la CPU al procesamiento en red. El ejemplo de CloudFlare utilizó herramientas del núcleo de Linux para anclar procesos a un conjunto de núcleos y colas de memoria gestionadas activamente. Se necesitó un poco de disciplina de programación para enviar paquetes sin procesar entre dos sistemas. Añada cualquier procesamiento de paquetes, como IPS, y el rendimiento disminuirá significativamente.
El DPDK omite el kernel de Linux y gestiona la asignación de NIC y CPU directamente. En un solo procesador Intel, es posible alcanzar un rendimiento de hasta 80Mpps o aproximadamente 46Gbps utilizando los marcos Ethernet más pequeños. Quiero asegurarme de hacer una advertencia sobre el comentario anterior y señalar que se trataba de un procesador Intel. DPDK es un proyecto de código abierto y actualmente tiene distribuciones de Intel y ARM.
Casos de uso empresarial
El DPDK es un kit de desarrollo. El público es creador de software y dispositivos de red. Sin embargo, estos dispositivos llegan a la empresa. Un caso de uso intrigante es la virtualización de hipervisores y funciones de red (NFV. Es fácil imaginar un cortafuegos o IPS basado en NFV que aproveche el DPDK para lograr un procesamiento de instancia única de hasta 10Mpps sin utilizar hardware especializado.
DPDK es otro habilitador de software que impulsa la sustitución de hardware dedicado en el centro de datos. Los servidores X86 y ARM continúan reemplazando al hardware dedicado tanto para el almacenamiento tradicional como para los casos de uso de red. Para una inmersión más profunda en DPDK, sugiero esta presentación de un evento de Tech Field Day.
Boletín de noticias de Data Center Trends
DevOps, virtualización, la nube híbrida, el almacenamiento y la eficiencia operativa son sólo algunos de los temas del centro de datos que destacaremos. Entregado Lunes y Miércoles