Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Computación distribuida, paralela y en clústeres

Mejorando las Cargas de Trabajo en la Nube con Inteligencia de Carga de Trabajo

La inteligencia de carga de trabajo cierra la brecha entre las plataformas en la nube y las cargas de trabajo, mejorando el rendimiento.

― 13 minilectura


Optimizando Cargas deOptimizando Cargas deTrabajo en la Nubereduce costos.mejora el rendimiento en la nube yLa inteligencia de carga de trabajo
Tabla de contenidos

La computación en la Nube se ha vuelto una parte clave de cómo operan las empresas hoy en día. Muchas compañías dependen de la nube para ejecutar sus aplicaciones, almacenar datos y gestionar recursos. Sin embargo, hay un problema: la forma en que los servicios de nube y las cargas de trabajo se comunican no es muy efectiva. Generalmente, la nube solo sabe qué tipo de máquina virtual (VM) se está usando, y las cargas de trabajo no reciben mucha información de vuelta. Esta falta de comunicación provoca varios problemas, como ineficiencias, mayores costos y problemas de rendimiento.

La interfaz limitada entre los servicios de nube y las cargas de trabajo tiene varios inconvenientes. Primero, hay tantos tipos de VMs y opciones adicionales disponibles que se vuelve difícil para los usuarios elegir lo que mejor se adapte a sus necesidades. Segundo, aspectos importantes de cómo operan las cargas de trabajo, como cuánto tiempo de inactividad pueden tolerar o qué tan rápido necesitan reaccionar ante eventos, a menudo no están claros. Esto dificulta que la nube ajuste sus servicios adecuadamente. Tercero, las cargas de trabajo a menudo no son conscientes de formas en que podrían mejorar, o pueden no tener suficiente tiempo para responder a cambios de la nube.

En este artículo, presentamos un concepto llamado Inteligencia de Carga de Trabajo (WI). Este marco tiene como objetivo mejorar la comunicación entre las cargas de trabajo en la nube y la plataforma de nube para que puedan trabajar juntas de manera más eficiente. Con WI, las cargas de trabajo pueden compartir sus necesidades clave, como requisitos de recursos y expectativas de rendimiento. Al mismo tiempo, la nube puede notificar a las cargas de trabajo sobre eventos importantes, optimizaciones próximas y otros escenarios que podrían afectar su rendimiento.

Por qué importa la comunicación

La brecha de comunicación entre las plataformas de nube y las cargas de trabajo crea varios desafíos. Primero, el rápido crecimiento de los tipos de VM complica el proceso de selección para los usuarios. A menudo, les resulta difícil identificar qué VM se adapta mejor a los requisitos de su carga de trabajo.

Segundo, sin información clara sobre las características de la carga de trabajo-como la tolerancia al tiempo de inactividad o la capacidad de escalado-se vuelve complicado que la nube ofrezca soluciones óptimas. Esto puede llevar a costos innecesarios para los usuarios, ya que pueden no estar utilizando los recursos de la manera más eficiente posible.

Por último, a veces los usuarios pueden perder oportunidades para mejorar sus cargas de trabajo porque no reciben actualizaciones oportunas de la nube. Esta falta de interacción puede resultar en desperdicio y oportunidades perdidas para la Optimización.

Nuestro enfoque hacia Wi

Reconociendo estos problemas, proponemos el marco de Inteligencia de Carga de Trabajo (WI), con el objetivo de mejorar la comunicación bidireccional entre las cargas de trabajo y las plataformas de nube. Al implementar WI, las cargas de trabajo pueden articular claramente sus características, requisitos y cualquier cambio en tiempo real. A su vez, la nube puede compartir actualizaciones importantes que permiten a las cargas de trabajo optimizar su rendimiento.

Identificamos tres desafíos clave en la construcción de este marco:

  1. Diseñar una interfaz flexible para que las cargas de trabajo compartan sus características principales.
  2. Desarrollar un sistema de comunicación que permita una interacción fluida mientras se mantiene la seguridad.
  3. Asegurar que la nube pueda procesar efectivamente la información que recibe, maximizando las oportunidades de optimización sin comprometer la calidad del servicio.

Con estos desafíos en mente, nuestro trabajo comienza analizando las características y necesidades de numerosas cargas de trabajo reales en la nube. Al entender esto, podemos crear el marco que permite mejores interacciones.

Características de las Cargas de Trabajo en la Nube

Para adaptar el marco WI de manera efectiva, estudiamos una amplia variedad de cargas de trabajo en la nube y sus características específicas. Después de realizar encuestas sobre muchas cargas de trabajo internas, nos enfocamos en un conjunto diverso de aplicaciones, incluyendo búsqueda web, herramientas de productividad y servicios de comunicación. Estas cargas de trabajo son utilizadas por millones de usuarios en todo el mundo.

Basado en nuestra investigación, agrupamos las características de las cargas de trabajo en cuatro categorías principales:

Escalabilidad

Vemos qué tan fácil es que una carga de trabajo se escale hacia arriba o hacia abajo según la demanda. Muchas cargas de trabajo son parcialmente o totalmente sin estado, lo que significa que pueden ajustarse sin perder datos o rendimiento. La mayoría de las que estudiamos no tienen estrictos requisitos de tiempo para el despliegue, lo que les permite ser más flexibles.

Fiabilidad

Examinamos las cargas de trabajo en relación con su tolerancia al tiempo de inactividad, también conocido como disponibilidad. La mayoría de las cargas de trabajo pueden tolerar algún tiempo de inactividad, y muchas requieren solo unas pocas horas de inactividad al año. Además, muchas cargas de trabajo pueden pausar y reanudar su progreso, proporcionando aún más flexibilidad en la gestión de recursos.

Tolerancia al Retraso

Algunas cargas de trabajo pueden manejar retrasos en el procesamiento de solicitudes. Por ejemplo, un servicio podría tener un tiempo de respuesta objetivo pero puede tolerar picos ocasionales. Esta flexibilidad permite un uso más eficiente de los recursos, ya que la nube puede asignar recursos según la necesidad en lugar de mantener una disponibilidad estricta para cada carga de trabajo.

Independencia Regional

Esta característica indica si una carga de trabajo puede operar en diferentes ubicaciones geográficas. Muchas cargas de trabajo pueden migrar o funcionar en varias ubicaciones sin perder funcionalidad.

Mecanismos Actuales de Optimización en la Nube

Las plataformas de nube han desarrollado numerosos técnicas de optimización para mejorar la asignación y eficiencia de recursos. Estos mecanismos buscan aprovechar al máximo los recursos disponibles mientras minimizan los costos para los usuarios. Algunos de los mecanismos de optimización clave que examinamos incluyen:

Auto-Scaling

Esta función ajusta el número de VMs según la demanda en tiempo real. Por ejemplo, si el uso aumenta durante las horas pico, el sistema automáticamente activa más VMs, ahorrando costos durante los momentos de menor actividad.

VMs Spot

Estas son VMs más baratas que pueden ser desalojadas cuando la nube necesita asignar recursos en otro lugar. Se utilizan a menudo para cargas de trabajo que no requieren disponibilidad constante.

VMs Harvest

Estas VMs pueden crecer o disminuir dinámicamente según la disponibilidad de recursos. Optimiza el uso de capacidad sobrante dentro de los servidores utilizando recursos adicionales cuando están disponibles.

Overclocking

Esta técnica aumenta la frecuencia de los núcleos de CPU para mejorar el rendimiento durante períodos de alta demanda. La plataforma de nube necesita determinar qué cargas de trabajo pueden beneficiarse de esto sin comprometer la fiabilidad.

Pre-Provisioning

Este método implica preparar VMs de antemano para que puedan ser instanciadas rápidamente cuando se necesiten, abordando de manera efectiva los retrasos en el despliegue.

Colocación Independiente de Regiones

Al ejecutar cargas de trabajo en regiones menos costosas o más ecológicas, la nube puede reducir costos y emisiones de carbono, beneficiándose de recursos locales sin requisitos estrictos de latencia.

Ajuste de VMs

Esto implica la selección y ajuste inteligente de tipos de VMs según el uso actual de recursos, optimizando costos para cargas de trabajo que pueden no necesitar tanta potencia de recursos.

Centros de Datos Multi-Disponibilidad

Este enfoque reduce la redundancia de infraestructura y permite que la nube maneje el mantenimiento mientras gestiona recursos de manera eficiente.

La Importancia de la Comunicación Efectiva

Las interfaces existentes para estas optimizaciones a menudo requieren que los usuarios proporcionen entradas específicas, lo que puede ser complejo y confuso. Cada mecanismo actualmente tiene su propia interfaz dedicada; por lo tanto, la complejidad general aumenta a medida que se introducen más optimizaciones.

Proponemos una solución novedosa con Inteligencia de Carga de Trabajo para crear una única interfaz que desacople las características de carga de trabajo de las optimizaciones que permiten. De esta manera, las cargas de trabajo pueden comunicar sus necesidades sin necesidad de entender los detalles intrincados de los mecanismos de optimización de la nube.

Tres Requisitos Esenciales

Para que el marco WI sea efectivo, debe cumplir con ciertos requisitos:

  1. Interfaz General: Las cargas de trabajo necesitan una forma flexible de expresar claramente sus características y requisitos.
  2. Actualizaciones Dinámicas: Las características de carga de trabajo deben poder cambiar con el tiempo, y debe haber una forma de actualizar la nube en tiempo real.
  3. Incentivos: Los usuarios deben ser incentivados a proporcionar pistas e información precisas para optimizar los beneficios de rendimiento.

Cómo Opera la Inteligencia de Carga de Trabajo

Con el marco WI, las cargas de trabajo pueden proporcionar siete pistas clave sobre sus características, ayudando a la nube a tomar mejores decisiones:

  1. Escalar hacia Arriba/Abajo: Indica si la carga de trabajo puede manejar una mayor o menor Asignación de Recursos.
  2. Escalar hacia Fuera/Dentro: Determina si la carga de trabajo puede ajustar el número de instancias según la demanda.
  3. Tiempo de Despliegue: Especifica qué tan rápido debe estar disponible una VM.
  4. Disponibilidad: Indica la tolerancia al tiempo de inactividad, a menudo expresada en términos de “nueves” (por ejemplo, tres nines indica 99.9% de disponibilidad).
  5. Preemptibilidad: Refleja cuánto de una carga de trabajo puede ser pausada o eliminada temporalmente sin consecuencias graves.
  6. Tolerancia al Retraso: Especifica cuánto tiempo puede esperar una carga de trabajo para ser procesada.
  7. Independencia Regional: Indica si la carga de trabajo puede funcionar en diferentes regiones geográficas.

Pistas de la Plataforma de Nube

En la dirección inversa, la nube también puede proporcionar pistas a las cargas de trabajo sobre eventos importantes o oportunidades de optimización. Por ejemplo, las cargas de trabajo pueden ser notificadas cuando una VM está a punto de ser desalojada o cuando hay recursos adicionales disponibles para su uso.

La Arquitectura del Sistema de Inteligencia de Carga de Trabajo

La arquitectura de WI está diseñada para escalabilidad y eficiencia. Cada servidor dentro de la nube ejecuta un administrador local de WI para recopilar información de las VMs. Este administrador local envía las pistas recopiladas a un administrador global de WI, que procesa y agrega información de múltiples fuentes.

Este sistema incluye:

  • Administradores Locales: Cada servidor en la nube tiene un administrador local de WI que recoge pistas en tiempo real de las cargas de trabajo y se comunica con el administrador global.
  • Administrador Global: Un componente centralizado que actúa como intermediario entre las cargas de trabajo y las optimizaciones de nube, almacenando y gestionando pistas.
  • Administradores de Optimización de Nube: Cada mecanismo de optimización puede utilizar las pistas recogidas por el administrador global para ajustar la asignación de recursos según los requisitos de carga de trabajo.

La comunicación entre estos componentes se basa en una combinación de un sistema de Pub/Sub, como Kafka, y una base de datos robusta que asegura la persistencia de datos y tolerancia a fallos.

Evaluando la Inteligencia de Carga de Trabajo

Para evaluar la efectividad de WI, realizamos estudios de caso sobre tres cargas de trabajo distintas: análisis de big data, microservicios y videoconferencias. Cada estudio demostró cómo las cargas de trabajo se beneficiaron de la implementación del marco WI.

Estudio de Caso: Análisis de Big Data

En nuestro primer estudio de caso, implementamos una versión de Hadoop consciente de WI en un clúster de 20 nodos. Al utilizar pistas del marco WI, permitimos que la plataforma utilizara Auto-Scaling, VMs Spot y VMs Harvest. Los resultados mostraron que utilizar estas optimizaciones juntas llevó a una reducción de costos notable de hasta 93.5% mientras se mantenía un nivel aceptable de rendimiento.

Estudio de Caso: Microservicios

Para el estudio de caso de microservicios, utilizamos una carga de trabajo de red social en un clúster de Kubernetes. Al habilitar varias estrategias de optimización, la plataforma logró una reducción del 44% en costos y mejoró la latencia. Esto ejemplificó los beneficios de usar el marco WI para gestionar cargas de trabajo dinámicas de manera efectiva.

Estudio de Caso: Videoconferencia

Por último, para la carga de trabajo de videoconferencia, la plataforma de nube utilizó varias optimizaciones, incluyendo Auto-Scaling y Overclocking. El estudio reveló una reducción de costos del 26.3% y un aumento significativo en el rendimiento, demostrando las capacidades de WI en la gestión de cargas de trabajo en vivo que requieren ajustes en tiempo real.

Beneficios Generales de la Inteligencia de Carga de Trabajo

Al combinar los ahorros de varias optimizaciones habilitadas por el marco WI, encontramos que los propietarios de cargas de trabajo podrían ver una reducción promedio de costos del 48.8%. Además, el marco contribuyó a reducciones significativas en las emisiones de carbono al optimizar la asignación de recursos y utilizar regiones más ecológicas.

Conclusión

En este artículo, presentamos la Inteligencia de Carga de Trabajo como una solución para cerrar la brecha de comunicación entre las plataformas de nube y las cargas de trabajo. Al habilitar un mejor diálogo entre ambos, podemos mejorar la eficiencia, reducir costos y mejorar la experiencia del usuario.

La investigación destaca la necesidad de un marco de nube más adaptable y flexible que pueda responder efectivamente a las necesidades de diversas cargas de trabajo. Con la Inteligencia de Carga de Trabajo en su lugar, la relación entre los servicios de nube y las cargas de trabajo puede evolucionar significativamente, llevando a mejoras generales en la computación en la nube.

Al adoptar estas estrategias, las plataformas de nube no solo pueden optimizar el uso de recursos, sino también ofrecer mejores herramientas a los usuarios para gestionar sus aplicaciones, pavimentando en última instancia el camino hacia un ecosistema de nube más eficiente.

Fuente original

Título: Workload Intelligence: Punching Holes Through the Cloud Abstraction

Resumen: Today, cloud workloads are essentially opaque to the cloud platform. Typically, the only information the platform receives is the virtual machine (VM) type and possibly a decoration to the type (e.g., the VM is evictable). Similarly, workloads receive little to no information from the platform; generally, workloads might receive telemetry from their VMs or exceptional signals (e.g., shortly before a VM is evicted). The narrow interface between workloads and platforms has several drawbacks: (1) a surge in VM types and decorations in public cloud platforms complicates customer selection; (2) essential workload characteristics (e.g., low availability requirements, high latency tolerance) are often unspecified, hindering platform customization for optimized resource usage and cost savings; and (3) workloads may be unaware of potential optimizations or lack sufficient time to react to platform events. In this paper, we propose a framework, called Workload Intelligence (WI), for dynamic bi-directional communication between cloud workloads and cloud platform. Via WI, workloads can programmatically adjust their key characteristics, requirements, and even dynamically adapt behaviors like VM priorities. In the other direction, WI allows the platform to programmatically inform workloads about upcoming events, opportunities for optimization, among other scenarios. Because of WI, the cloud platform can drastically simplify its offerings, reduce its costs without fear of violating any workload requirements, and reduce prices to its customers on average by 48.8%.

Autores: Lexiang Huang, Anjaly Parayil, Jue Zhang, Xiaoting Qin, Chetan Bansal, Jovan Stojkovic, Pantea Zardoshti, Pulkit Misra, Eli Cortez, Raphael Ghelman, Íñigo Goiri, Saravan Rajmohan, Jim Kleewein, Rodrigo Fonseca, Timothy Zhu, Ricardo Bianchini

Última actualización: 2024-04-29 00:00:00

Idioma: English

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

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

Licencia: https://creativecommons.org/licenses/by-sa/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