Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Redes y arquitectura de Internet# Computación distribuida, paralela y en clústeres

TSoR: Una Nueva Ventaja para Redes en la Nube

TSoR mejora el rendimiento de la red para aplicaciones en contenedores usando RDMA.

― 9 minilectura


Mejorando el RendimientoMejorando el Rendimientode Apps en la Nubetecnología RDMA.TSoR acelera la red de contenedores con
Tabla de contenidos

Las aplicaciones nativas en la nube a menudo necesitan formas rápidas y eficientes de comunicarse a través de redes. Un método prometedor es usar RDMA (Acceso Directo a Memoria Remota), que puede proporcionar velocidades más altas y menos retardo en comparación con los métodos de red tradicionales. Sin embargo, hay algunos problemas que resolver al usar RDMA con aplicaciones en contenedores.

Problemas con RDMA en Contenedores

  1. Sin Cambios en el Código: Los desarrolladores generalmente no quieren cambiar sus aplicaciones solo para hacerlas funcionar mejor con una nueva red. Muchas aplicaciones ya usan sockets estándar para la comunicación, y los cambios podrían ser demasiado difíciles o llevar mucho tiempo.

  2. Integración con Herramientas de Gestión: Las herramientas que ayudan a gestionar contenedores, como Kubernetes, necesitan trabajar sin problemas con nuevos métodos de red. Si el nuevo método no es compatible, se añade esfuerzo extra para configurar y ejecutar las aplicaciones.

  3. Utilización del Rendimiento: Para beneficiarse plenamente de las velocidades de RDMA, es importante diseñar una red que pueda aprovechar el potencial de RDMA sin crear cuellos de botella.

Socket TCP sobre RDMA (TSoR)

Para abordar estos desafíos, se propone una nueva solución de red llamada TSoR. TSoR crea una conexión entre las comunicaciones tradicionales de sockets TCP y las redes RDMA, manteniendo todo simple para los desarrolladores.

Cómo Funciona TSoR

TSoR permite que las aplicaciones existentes se comuniquen a través de RDMA sin necesidad de hacer cambios en el código. Se integra con los tiempos de ejecución de contenedores y herramientas de orquestación como Kubernetes, haciéndolo fácil de usar. TSoR también construye una pila de red especial para transferir comunicaciones TCP de manera eficiente a través de RDMA.

Evaluación de TSoR

TSoR fue probado usando varias aplicaciones populares como Redis y Node.js para medir su rendimiento en comparación con redes de contenedores tradicionales. Los resultados mostraron que TSoR proporcionó tasas de Transferencia de datos mucho más altas y redujo los retrasos, permitiendo que las aplicaciones funcionaran significativamente más rápido sin necesidad de cambios en su código.

Ventajas Clave

  • Aceleración Transparente: Las aplicaciones pueden beneficiarse de la red RDMA sin necesidad de cambiar cómo funcionan.
  • Fácil Integración: Compatible con Kubernetes y otras herramientas de gestión de contenedores, facilitando su adopción por parte de los usuarios.
  • Alto Rendimiento: Capaz de aumentar significativamente el rendimiento de datos y reducir la latencia para aplicaciones en contenedores.

El Papel de los Contenedores

Los contenedores son las unidades básicas de las aplicaciones nativas en la nube. Ofrecen muchas ventajas, como facilidad de movimiento entre diferentes plataformas, eficiencia en el uso de recursos y mejor gestión de fallos. Con sistemas de orquestación de contenedores, estos contenedores pueden automatizarse para despliegue, escalado y redes.

La Importancia de la Red en los Contenedores

La red es esencial para el funcionamiento efectivo de las orquestaciones de contenedores. Ayuda a los contenedores a comunicarse entre sí y permite una integración sin problemas con varios servicios. Las soluciones populares de redes de contenedores utilizan protocolos estándar TCP/IP; sin embargo, pueden introducir limitaciones de rendimiento debido a la sobrecarga adicional.

Entendiendo RDMA

RDMA permite que una aplicación acceda a la memoria de otra aplicación en una máquina diferente directamente, sin necesidad de interrumpir la CPU de ninguna máquina. Esto resulta en retrasos mucho más bajos y mayores velocidades en comparación con los métodos tradicionales de redes. RDMA se está utilizando cada vez más en entornos que requieren un alto procesamiento de datos, como el aprendizaje automático y la computación de alto rendimiento.

Desafíos con Soluciones Existentes

Muchas soluciones existentes para transferir tráfico TCP a través de redes RDMA no cumplen con todas las necesidades de los entornos modernos en contenedores. Si bien algunas soluciones ayudan a interceptar el tráfico TCP, a menudo no se integran bien con sistemas de orquestación como Kubernetes.

Características de TSoR

TSoR viene con varias características importantes:

  1. Soporte de Sockets POSIX: TSoR soporta la interfaz estándar de sockets POSIX, por lo que las aplicaciones pueden comunicarse a través de la red RDMA sin modificaciones.

  2. Integración con Kubernetes: TSoR se conforma al modelo de red de Kubernetes. Esto significa que puede ajustarse fácilmente a infraestructuras existentes y utilizar las capacidades integradas de Kubernetes.

  3. Transferencia de Datos de Alto Rendimiento: El diseño de TSoR permite utilizar eficientemente el potencial de RDMA para una comunicación de red rápida y receptiva.

Arquitectura de TSoR

La arquitectura de TSoR involucra diferentes componentes trabajando juntos:

  • Servicio TSoR: Esta es la parte principal que gestiona la comunicación entre aplicaciones en contenedores que se ejecutan en diferentes nodos y redes RDMA.

  • Cliente TSoR: Cada contenedor o puerta de enlace en el clúster TSoR tiene un cliente que interactúa con el Servicio TSoR para transferencias de datos.

  • Puerta de enlace TSoR: La puerta de enlace conecta el tráfico interno de la red RDMA al tráfico TCP externo, permitiendo que los contenedores interactúen con servicios fuera de su red.

Detalles del Servicio TSoR

El Servicio TSoR maneja varias tareas:

  • Gestión de Clientes: Hace seguimiento de los clientes y gestiona su comunicación.

  • Gestión de Conexiones: Establece y gestiona conexiones RDMA entre diferentes nodos.

  • Procesamiento de Transferencia de Datos: Se encarga de enviar y recibir tráfico de datos a través de la red RDMA.

Pasos para Establecer Conexiones

Cuando un nuevo nodo se une al sistema TSoR, se realizan los siguientes pasos para establecer conexiones:

  1. Iniciación del Servidor TCP: El servicio inicia un servidor TCP para escuchar conexiones entrantes de nuevos nodos.

  2. Solicitud de Conexión: El nuevo nodo contacta nodos existentes para establecer conexiones.

  3. Configuración de Conexión RDMA: Los nodos intercambian información para establecer conexiones RDMA.

Proceso de Transmisión de Datos

La transmisión de datos a través de TSoR involucra varios pasos:

  1. La aplicación envía una solicitud de datos al Cliente TSoR.
  2. El cliente coloca la solicitud en una cola para su procesamiento.
  3. El Servicio TSoR recupera la solicitud y envía los datos a través de RDMA.
  4. El Servicio notifica al cliente una vez que los datos están listos para ser procesados.
  5. El cliente recupera los datos para la aplicación.

Optimización en la Transmisión de Datos

Para mejorar la eficiencia, se hicieron varias optimizaciones:

  • Pipelining: Esto permite el envío y la recepción simultánea de datos, aumentando el rendimiento general.

  • Coalescencia de Señales: Reduce la comunicación innecesaria entre clientes y servicios cuando se transfieren datos.

  • Sueño Inactivo: Esto minimiza el uso de la CPU durante períodos de espera poniendo el servicio en modo de sueño hasta que se le notifique sobre nuevas solicitudes.

Integración con Kubernetes y Modelo de Red

TSoR funciona bien con la red de Kubernetes al soportar varios tipos de comunicación:

  1. De Pod a Pod: Permite a los contenedores comunicarse entre sí sin problemas.

  2. De Pod a Servicio: Expone aplicaciones que se ejecutan en Pods a otros servicios.

  3. De Externo a Servicio: Permite a clientes externos acceder a servicios en el clúster TSoR.

  4. De Pod a Externo: Permite a Pods acceder a recursos fuera del clúster.

Solución de Enrutamiento para TSoR

TSoR tiene un sistema de enrutamiento sofisticado que asegura una comunicación eficiente:

  • Asignación de IP: A cada Pod se le asigna una dirección IP única, simplificando el enrutamiento.

  • Múltiples Tablas de Búsqueda: TSoR utiliza varias tablas para gestionar y enrutear diferentes tipos de tráfico de red.

Evaluación del Rendimiento de TSoR

En pruebas de rendimiento, TSoR mostró resultados impresionantes:

  • Rendimiento: TSoR logró tasas de transferencia de datos significativamente más altas, superando otros métodos de red.

  • Latencia: Los retrasos experimentados durante las transferencias de datos fueron notablemente menores, haciendo que las aplicaciones fueran más receptivas.

  • Escalabilidad: TSoR mantuvo un alto rendimiento incluso bajo cargas de trabajo aumentadas, demostrando su capacidad para manejar muchas conexiones simultáneas.

Pruebas de Aplicación en el Mundo Real

El rendimiento de TSoR fue evaluado utilizando varias aplicaciones del mundo real como Redis, Node.js y etcd.

Redis

Para Redis, TSoR proporcionó tiempos de respuesta más bajos y mayor rendimiento que las soluciones tradicionales, demostrando su eficacia para operaciones de almacenamiento de datos.

Node.js

En las pruebas de Node.js, TSoR demostró constantemente tiempos de respuesta más rápidos al manejar solicitudes web, especialmente para tamaños de datos más grandes.

etcd

Las pruebas con etcd mostraron que TSoR podía gestionar solicitudes de manera eficiente, demostrando aún más su compatibilidad con varios tipos de aplicaciones distribuidas.

Trabajo Futuro y Desarrollos

A medida que TSoR continúa evolucionando, hay varias áreas para su desarrollo futuro:

  • Soporte para sockets UDP: Construir sobre la infraestructura existente para también manejar tráfico UDP.

  • Mejora de la Comunicación Intra-Pod: Optimizar la comunicación en el mismo host para un rendimiento aún mejor.

  • Offloading en SmartNIC: Descargar algunos servicios de TSoR a SmartNICs puede ahorrar recursos de CPU y mejorar el rendimiento.

Conclusión

TSoR representa un gran avance en las soluciones de red para aplicaciones nativas en la nube. Al combinar los beneficios de los sockets TCP y RDMA, ofrece un camino para que las aplicaciones existentes obtengan un mejor rendimiento sin requerir cambios significativos. TSoR no solo cumple con las demandas de los entornos modernos en contenedores, sino que también se integra perfectamente con herramientas de orquestación existentes como Kubernetes. Como se ha demostrado a través de pruebas exhaustivas, TSoR muestra un gran potencial para aplicaciones futuras en computación de alto rendimiento y operaciones intensivas en datos.

Fuente original

Título: TSoR: TCP Socket over RDMA Container Network for Cloud Native Computing

Resumen: Cloud-native containerized applications constantly seek high-performance and easy-to-operate container network solutions. RDMA network is a potential enabler with higher throughput and lower latency than the standard TCP/IP network stack. However, several challenges remain in equipping containerized applications with RDMA network: 1) How to deliver transparent improvements without modifying application code; 2) How to integrate RDMA-based network solutions with container orchestration systems; 3) How to efficiently utilize RDMA for container networks. In this paper, we present an RDMA-based container network solution, TCP Socket over RDMA (TSoR), which addresses all the above challenges. To transparently accelerate applications using POSIX socket interfaces without modifications, we integrate TSoR with a container runtime that can intercept system calls for socket interfaces. To be compatible with orchestration systems like Kubernetes, TSoR implements a container network following the Kubernetes network model and satisfies all requirements of the model. To leverage RDMA benefits, TSoR designs a high-performance network stack that efficiently transfers TCP traffic using RDMA network. Thus, TSoR provides a turn-key solution for existing Kubernetes clusters to adopt the high-performance RDMA network with minimal effort. Our evaluation results show that TSoR provides up to 2.3x higher throughput and 64\% lower latency for existing containerized applications, such as Redis key-value store and Node.js web server, with no code changes. TSoR code will be open-sourced.

Autores: Yulin Sun, Qingming Qu, Chenxingyu Zhao, Arvind Krishnamurthy, Hong Chang, Ying Xiong

Última actualización: 2023-05-17 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2305.10621

Fuente PDF: https://arxiv.org/pdf/2305.10621

Licencia: https://creativecommons.org/licenses/by/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares