Noticias mensuales de High Performance Network SIG: La inversión a largo plazo ha sido reconocida por la industria y se ha agregado un nuevo revisor virtio

Red de alto rendimiento SIG (Grupo de interés especial): en la era de la computación en la nube, el software y el hardware se desarrollan rápidamente y surgen nuevas formas de aplicación, como microservicios y nativos de la nube, lo que permite que fluyan más datos entre los procesos y la red. se ha convertido en el El operador de transmisión juega un papel importante sin precedentes en toda la era de la nube. En esta era de Internet de Todo, la eficiencia de la comunicación de red en la nube es crucial para varios servicios. El Grupo de Interés de Redes de Alto Rendimiento se compromete a utilizar nuevas tecnologías de comunicación de alta eficiencia como XDP, RDMA, VIRTIO y combinar las idea de integración de software y hardware para crear alto rendimiento La pila de protocolos de red de rendimiento mejora el rendimiento de la red de las aplicaciones del centro de datos en la era de la computación en la nube.

01 El progreso general de SIG este mes

El SIG de redes de alto rendimiento de este mes se centra en las redes del kernel del sistema operativo Anolis, SMC y virtio.

Principales novedades de este mes:

  • El miembro de SIG, Xuan Zhuo, se ha convertido en revisor del subsistema virtio core/virtio-net en la comunidad upstream del kernel de Linux. La contribución de Xuan Zhuo a la comunidad virtio durante los últimos tres años ha sido ampliamente reconocida.

  • Este mes, SIG completó el soporte upstream de virtio-net para la copia cero del socket XDP, lo que puede mejorar en gran medida el rendimiento del envío de sockets XDP bajo virtio. Esta característica ha sido compatible con el kernel ANCK de Dragon Lizard durante más de un año. Ahora, contribuimos con esta característica a la comunidad ascendente de Linux. Actualmente, la comunidad ha completado la revisión de la parte de reconstrucción de virtio-net XDP, y se espera que para cooperar después del período de ventana 5.8.

02 Red del núcleo ANCK

Este mes se agregó una nueva corrección de vulnerabilidad de seguridad en la dirección de la red: CVE-2023-1074 (relacionada con SCTP).

03 Pila de protocolos de red de alto rendimiento SMC

Este mes, el trabajo de la red de alto rendimiento SIG en el campo SMC se centra principalmente en promover la comunicación nativa de alto rendimiento y discutir el reemplazo de la política basada en eBPF de las dos soluciones en la comunidad upstream de Linux.

Solución de comunicación nativa de alto rendimiento

La comunicación de bucle invertido nativo y entre contenedores (cross-netns) ya es una ruta de datos común, que se usa ampliamente en el procesamiento de datos y escenarios nativos de la nube. Por ejemplo, en escenarios nativos de la nube, la red de servicios se comunica con los procesos comerciales y los sidecars a través de procesos de proxy. SMC proporciona una solución de comunicación nativa (bucle invertido y contenedor) de alto rendimiento. En comparación con el modo de usuario tradicional IPC, el bucle invertido TCP del kernel o el socket de dominio UNIX y otras soluciones, además de las ventajas de rendimiento (para obtener información detallada, consulte el enlace LWN https://lwn.net/Articles/929934/), y transparente a la aplicación sin intrusión o modificación.

En la versión anterior de la revisión, la comunidad brindó algunos comentarios positivos: el mantenedor de PCI s390, Niklas, aprobó el proceso de negociación de bucle invertido que consta de GID aleatorio de 64 bits + token de 64 bits. En términos de probabilidad, para lograr una probabilidad de colisión de 10^(-15), se requieren 8,2 × 10^11 intentos, por lo que es aceptable un GID aleatorio. Nos hemos comunicado completamente con el propietario del acuerdo de IBM, Jerry, y luego esperamos a que la comunidad complete la discusión y determine el plan final.

Este mes, SIG envió la versión v5 de la solución de bucle invertido SMC a la comunidad ascendente de Linux.La nueva versión agrega lógica de selección de SEID, soluciona el problema potencial de unregister_dmb y soluciona el problema de ejecución anormal en la arquitectura s390.

Esquema alternativo basado en la política eBPF

SMC brinda la capacidad de recurrir dinámicamente a TCP. El factor de decisión de la estrategia de respaldo actual es principalmente si la conexión RDMA/ISM se estableció correctamente. Dado que el rendimiento de enlace corto de SMC no es tan bueno como el de TCP, para hacer que SMC sea más general, se planea agregar la capacidad de respaldo TCP basada en políticas a SMC para ayudar a SMC a adaptarse mejor a diferentes modelos y escenarios de aplicaciones.

Este mes, enviamos el RFC y el parche de reemplazo oficial a las comunidades de Linux bpf y net, y recibimos comentarios del mantenedor de eBPF, incluidos algunos problemas como los símbolos de los módulos y los nombres de los archivos. Estamos revisando y continuamos promoviendo la aceptación del propuesta de las comunidades SMC y bpf.

04 virtud

influencia de la comunidad

Este mes, Xuan Zhuo, miembro de High Performance Networking SIG, se convirtió en revisor del subsistema virtio core/virtio-net en la comunidad del kernel de Linux. La inversión de Xuan Zhuo en la comunidad virtio en los últimos tres años ha sido ampliamente reconocida por la comunidad.

Este mes, SIG también corrigió un error de virtio net en el escenario xdp: [PATCH net] virtio_net: bugfix overflow inside xdp_linearize_page() - Xuan Zhuo

soporte virtio-net AF_XDP zerocopy

AF_XDP es un nuevo marco para enviar y recibir paquetes que pasa por alto la pila de protocolos del kernel. Puede transferir directamente los paquetes recibidos del controlador al modo de usuario, y también puede transferir los paquetes directamente desde el modo de usuario al controlador para enviarlos. En comparación con la pila de protocolos UDP del kernel, su rendimiento se puede aumentar entre 3 y 7 veces PPS. Pero depende del controlador para la compatibilidad con zerocopy. Este trabajo se divide en varias partes:

  • Virtio core es compatible con DMA preasignado

Esta parte es para permitir que el marco central de virtio admita el envío de operaciones de dirección DMA (enlace). En la implementación actual, todas las operaciones de DMA se completan en el núcleo de virito. Necesitamos permitir que el controlador admita el paso de la dirección de DMA al núcleo de virtio, porque AF_XDP completará todas las operaciones de DMA de dirección y algunas operaciones relacionadas con el restablecimiento de la cola virtual por adelantado.

Esta parte involucra problemas de uso de API relacionados con DMA de virtio. Dado que virtio no puede usar la API DMA en algunos escenarios, esperamos que la API DMA o AF_XDP puedan admitir virtio en este escenario. Esto desencadenó una discusión relativamente extensa, y las conclusiones actuales son:

  • AF_XDP puede pasar a usar dma-bufs para la API de DMA en el futuro.

  • La API de DMA no admite escenarios especiales como virtio.

Estos factores han causado que nuestro trabajo de avance encuentre grandes dificultades. Después de considerarlo y discutirlo, consideramos no admitir virtio sin VIRTIO_F_ACCESS_PLATFORM por el momento, lo que suele ocurrir en algunos dispositivos virtio antiguos.

  • refactorización virtio-net XDP

Esta parte ha sido revisada y enviará otra versión después del período de ventana 5.8.

hash de encabezado interno virtio-net

El protocolo de tunelización a veces encapsula paquetes de datos de diferentes flujos en flujos de datos con el mismo quíntuple en el encabezado externo, y estos flujos de datos se codificarán en la misma cola de recepción, perdiendo así el rendimiento de RSS. Para que virtio admita hash de encabezado interno para el protocolo de tunelización, High Performance Network SIG inició la propuesta de virtio_net: admite hash de encabezado interno, con la esperanza de estandarizarlo en virtio.

Este mes, v12->v13 y la comunidad virtio discutieron la cuestión de colocar el tipo de túnel admitido por el lado del dispositivo en el espacio de configuración específico del dispositivo PCI en el diseño anterior del hash de encabezado interno. La ventaja de este diseño es que el La capacidad residente del dispositivo se puede inicializar. El controlador solo la lee una vez, pero con la adición de más y más características nuevas de virtio, es muy poco amigable para algunos dispositivos pequeños hacer que el espacio de configuración específico del dispositivo sea cada vez más inflado. , por lo que después de la discusión, el espacio de configuración del dispositivo se moverá a la cola de control (la desventaja del nuevo método es que la consulta GET de cada usuario devolverá campos configurados y admitidos, pero aceptable).

Además, la comunidad aún cuestiona la cantidad de tipos de túneles compatibles con el hash de encabezado interno. La comunidad se inclina más a admitir protocolos heredados, para que los protocolos heredados puedan disfrutar de la mejora del rendimiento de RSS provocada por el aumento de la entropía, como GRE-2784. , etc., pero queremos admitir protocolos de tunelización más modernos, como VXLAN/GENEVE, etc., para que estos protocolos puedan realizar hash simétrico en función del encabezado interno y obtener mejoras de rendimiento, como menos bloqueo y caché caliente en algunos escenarios, que todavía necesita ser discutido.

Lo anterior es la dinámica mensual de la red SIG de alto rendimiento en abril, bienvenidos todos a sumarse a la co-construcción. Para obtener más noticias de SIG, visite el sitio web oficial de Dragon Lizard.

enlaces relacionados

Página de inicio de SIG de redes de alto rendimiento:

https://openanolis.cn/sig/high-perf-network

Versión v5 de la solución de bucle invertido de SMC:

https://lore.kernel.org/netdev/[email protected]/

Operación de dirección DMA:

https://lore.kernel.org/all/[email protected]/

Enlace de refactorización virtio-net XDP:

https://lore.kernel.org/all/[email protected]/

virtio_net: admite hash de encabezado interno:

https://lists.oasis-open.org/archives/virtio-dev/202304/msg00465.html

-- encima--

Para brindarle un mejor contenido y servicios, la comunidad de Dragon Lizard lo invita sinceramente a participar en la encuesta del cuestionario. Escanee el código QR a continuación o haga clic en este enlace para completar. Seleccionaremos comentarios de alta calidad y enviaremos Dragon ¡Mercancía de lagarto!

 

Supongo que te gusta

Origin blog.csdn.net/weixin_60347558/article/details/130626074
Recomendado
Clasificación