Desbloqueo de la eficiencia de la nube: mapeo de recursos NUMA optimizado para entornos virtualizados

Sistemas desagregados son un nuevo tipo de arquitectura diseñada para satisfacer las altas demandas de recursos de aplicaciones modernas como redes sociales, búsqueda y bases de datos en memoria. Los sistemas pretenden superar las restricciones físicas de los servidores tradicionales agrupando y administrando recursos como memoria y CPU entre múltiples máquinas. La flexibilidad, la mejor utilización de los recursos y la rentabilidad hacen que este enfoque sea adecuado para una infraestructura de nube escalable, pero este diseño distribuido presenta desafíos importantes. Acceso a memoria no uniforme (NUMA) y el acceso remoto a recursos crea problemas de latencia y rendimiento, que son difíciles de optimizar. La disputa por recursos compartidos, los problemas de localidad de memoria y los límites de escalabilidad complican aún más el uso de sistemas desagregados, lo que genera un rendimiento impredecible de las aplicaciones y dificultades de gestión de recursos.

Actualmente, la contención de recursos en jerarquías de memoria y optimizaciones de localidad a través de UMA y consciente de NUMA técnicas en los sistemas modernos se enfrentan a importantes inconvenientes. UMA no considera el impacto de la memoria remota y, por lo tanto, no puede ser eficaz en arquitecturas de gran escala. Sin embargo, las técnicas basadas en NUMA están dirigidas a pequeños escenarios o simulaciones en lugar del mundo real. A medida que el rendimiento de un solo núcleo se estancó, los sistemas multinúcleo se convirtieron en estándar, lo que introdujo desafíos de programación y escalamiento. Tecnologías como NumaConnect unifica recursos con memoria compartida y coherencia de caché, pero depende en gran medida de las características de la carga de trabajo. Los esquemas de clasificación de aplicaciones, como las clases de animales, simplifican la categorización de las cargas de trabajo, pero carecen de adaptabilidad y no abordan la variabilidad en la sensibilidad de los recursos.

Para abordar los desafíos que plantean los complejos NUMA topologías sobre el rendimiento de las aplicaciones, investigadores de Universidad de Umeå, Sueciapropuso un Algoritmo de mapeo de recursos compatible con NUMA para entornos virtualizados en sistemas desagregados. Los investigadores llevaron a cabo una investigación detallada para explorar la contención de recursos en entornos compartidos. Los investigadores analizaron la contención de la caché, las diferencias de latencia en la jerarquía de la memoria y las distancias NUMA, todo lo cual influye en el rendimiento.

El algoritmo compatible con NUMA optimizó la asignación de recursos fijando núcleos virtuales y migrando memoria, reduciendo así la división de memoria entre nodos y minimizando la interferencia de las aplicaciones. Las aplicaciones se clasificaron (por ejemplo, “oveja”, “conejo”, “diablo”) y se colocaron cuidadosamente en función de matrices de compatibilidad para minimizar la contención. El tiempo de respuesta, la frecuencia del reloj y el uso de energía se rastrearon en tiempo real junto con IPC y IPM para permitir los cambios necesarios en la asignación de recursos. Las evaluaciones realizadas en un sistema desagregado de seis nodos demostraron que se podían lograr mejoras significativas en el rendimiento de las aplicaciones con cargas de trabajo con uso intensivo de memoria en comparación con los programadores predeterminados.

Los investigadores realizaron experimentos con varios Tipos de máquinas virtuales: pequeñas, medianas, grandes y enormes ejecutando cargas de trabajo como neo4j, tienda de calcetines, SPECjvm2008y Arroyopara simular aplicaciones del mundo real. El algoritmo de memoria compartida optimizó el mapeo de recursos virtuales a físicos, redujo el NUMA distancia y contención de recursos, y aseguró la afinidad entre los núcleos y la memoria. Se diferenciaba del predeterminado. programador de linuxdonde las asignaciones principales son aleatorias y el rendimiento es variable. El algoritmo proporcionó mapeos estables y minimizó la interferencia.

Los resultados mostraron mejoras significativas en el rendimiento con las variantes del algoritmo de memoria compartida. (SM-IPC y SM-MPI)logrando hasta 241x mejora en casos como derby y neo4j. Mientras que el programador básico exhibió un rendimiento impredecible con índices de desviación estándar superiores 0,4los algoritmos de memoria compartida mantuvieron un rendimiento constante con proporciones inferiores 0,04. Además, máquina virtual El tamaño afectó el rendimiento del programador básico pero tuvo poco efecto en los algoritmos de memoria compartida, lo que reflejaba su eficiencia en la asignación de recursos en diversos entornos.

En conclusión, el algoritmo propuesto por los investigadores permite la composición de recursos a partir de servidores desagregados, lo que resulta en hasta un 50x mejora en el rendimiento de la aplicación en comparación con el valor predeterminado programador de linux. Los resultados demostraron que el algoritmo aumenta la eficiencia de los recursos, la coubicación de aplicaciones y la capacidad de los usuarios. Este método puede actuar como base para futuros avances en el mapeo de recursos y la optimización del rendimiento en NUMA sistemas desagregados.


Verificar el Papel. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de telegramas y LinkedIn Grarriba. No olvides unirte a nuestro SubReddit de más de 60.000 ml.

🚨 PRÓXIMO SEMINARIO WEB GRATUITO SOBRE IA (15 DE ENERO DE 2025): Aumente la precisión del LLM con datos sintéticos e inteligencia de evaluaciónÚnase a este seminario web para obtener información práctica para mejorar el rendimiento y la precisión del modelo LLM y, al mismo tiempo, proteger la privacidad de los datos..


Divyesh es pasante de consultoría en Marktechpost. Está cursando un BTech en Ingeniería Agrícola y Alimentaria en el Instituto Indio de Tecnología de Kharagpur. Es un entusiasta de la ciencia de datos y el aprendizaje automático que quiere integrar estas tecnologías líderes en el ámbito agrícola y resolver desafíos.