Está en la página 1de 29

"Heterogeneidad y Dinamicidad de las

Nubes a Escala: Análisis del Rastro de


Google"
Autores:
Charles Reiss, Alexey Tumanov, Gregory R. Ganger,
Randy H. Katz, Michael A. Kozuch
----------------------------------------------------------------------------------------------------------
Integrantes: Condori Jimenez Grover
Mayta Aliaga Michelle Carolina
Surco Castro Bayron Ariel

12-05-2024
ABSTRACT

Analizamos los primeros datos públicos de un clúster de gran tamaño para


comprender los desafíos en el desarrollo de planificadores de recursos en la nube.

La carga de trabajo es heterogénea en tipos y uso de recursos, lo que dificulta la


eficacia de la programación tradicional.

Además, la limitación en el tipo de máquinas y la dinámica de la carga de trabajo


complican la asignación de recursos y la migración de tareas.

Aunque la carga de trabajo es dinámica, algunas tareas de larga duración tienen una
utilización de recursos estable, lo que puede beneficiar a los planificadores
adaptativos.
1. INTRODUCCIÓN La consolidación de las demandas de procesamiento en la nube es crucial.
la eficiencia en el uso de recursos
Ventajas
la gestión centralizada

la diversidad de las cargas de trabajo en la nube es


considerable y va más allá de los entornos
tradicionales de supercomputación
Desafíos
comprensión de las necesidades operativas reales
sigue siendo limitada

Google ha proporcionado un conjunto de datos de uso del clúster para investigadores. Los
análisis de este conjunto de datos destaca desafíos importantes para los diseñadores de
sistemas de programación de recursos en la nube.
Heterogeneidad y variabilidad de Demanda y disponibilidad de recursos
máquinas y carga de trabajo altamente dinámica.

Un mayor número de entidades organizativas


Los entornos consolidados en la nube se distinguen de compartiendo una infraestructura informática común
los clústeres tradicionales por la diversidad de clases de resulta en patrones de demanda y llegada dinámicos y
máquinas, que varían en: variables en cortos intervalos de tiempo.

procesamiento, memoria y almacenamiento. Esto impacta en la programación

Estas máquinas pueden ser de diferentes


generaciones y especificaciones, adaptándose a necesidad de decisiones rápidas
la evolución tecnológica y económica.

Algunas pueden incluir aceleradores revisión de asignaciones previas


especializados, como GPUs.

La carga de trabajo diversa, que abarca adaptación a solicitudes de recursos dinámicas


múltiples organizaciones, aumenta la de trabajos de larga duración con interferencias
complejidad de asignar recursos para una impredecibles.
óptima utilización y evitar esperas excesivas.
Necesidades de recursos predecibles, Preferencias y restricciones de clases
pero mal pronosticadas. de recursos.
Las especificaciones de las tareas pueden incluir
El alto grado de heterogeneidad y dinamismo en las restricciones o preferencias para clases particulares de
cargas de trabajo hace difícil prever con precisión las máquinas, lo que complica la asignación de recursos.
futuras demandas de recursos, complicando la
asignación de estos. Este factor se ve reflejado en el análisis del rastro de
Google que se detalla en el artículo.

Sin embargo, ciertos patrones profundos de uso de


recursos pueden existir, especialmente si las tareas Se abordan las dimensiones de heterogeneidad y
de larga duración contribuyen de manera dinamicidad en las Secciones 3 y 4. Además, se
significativa. destaca que el rastro presenta una amplia
variedad de requisitos de programación.

Esto requiere que los planificadores de recursos La Sección 5 se enfoca en la predictibilidad del
mantengan modelos más sofisticados basados en el uso de recursos, mientras que la Sección 6
tiempo del uso de recursos, al menos para las tareas explora las implicaciones de las preferencias y
de larga duración. restricciones de recursos.

Finalmente, la Sección 7 presenta las conclusiones


y el trabajo futuro.
2. ANTECEDENTES
Los estudios de rastreo son importantes para comprender los desafíos de los sistemas, especialmente para
los planificadores. La mayoría de los análisis de rastreo se centran en cargas de trabajo homogéneas debido
a la falta de experiencias con las diversas cargas de trabajo de las nubes multiusos. Esta sección
proporciona una visión general del trabajo previo y del rastreo de Google analizado en este documento.
Trabajos anteriores
La mayoría de las cargas de trabajo de clústeres estudiadas han caído en una de tres categorías amplias:

Servicios de larga duración: servidores (como servidores web) que requieren una cierta cantidad de
recursos (generalmente tiempo de CPU) para lograr un rendimiento aceptable y funcionar
indefinidamente.
Sistemas DAG-de-tareas: sistemas similares a MapReduce[7] o Dryad[10] que ejecutan muchas tareas
cortas e independientes (de segundos a minutos) que se asumen como dependientes de la CPU o de la
E/S
Computación de alto rendimiento (o de rendimiento): sistemas de cola por lotes que típicamente
ejecutan programas dependientes de la CPU, pueden tolerar tiempos de espera sustanciales y a
menudo requieren muchas máquinas simultáneamente durante un largo período de tiempo (de horas
a días).
Cada categoría Los servicios interactivos de larga duración manejan
Este documento examina una
presenta cargas de clientes externos de manera independiente
carga de trabajo que combina
desafíos
diferentes tipos. Otros análisis de
diferentes para
la misma carga de trabajo fueron Los sistemas DAG-de-tareas requieren interacciones
los
realizados en paralelo con este frecuentes con el planificador debido a los análisis de
planificadores
trabajo. datos interactivos comunes
de clústeres.

Los planificadores actuales no están preparados para abordar esta diversidad de necesidades y desafíos, lo que sugiere la
necesidad de nuevos enfoques, como lo evidencia el esfuerzo continuo de Google por desarrollar un nuevo planificador.

Rastro de Google Captura una variedad de comportamientos


- Rastro de solicitudes y acciones del planificador del clúster.
Incluye: - Rastro del uso de recursos por tarea a lo largo del tiempo.
- Rastro de disponibilidad de las máquinas.

- Actividad durante un mes en un clúster de aproximadamente 12,000 máquinas.


- Cientos de miles de trabajos presentados por usuarios.
Descripción:
- Cada trabajo compuesto por una a decenas de miles de tareas.
- Tareas ejecutadas simultáneamente, no en grupo.
- Prioridad.
Parámetros de las - Solicitud de recursos (RAM y CPU).
tareas: - Restricciones (por ejemplo, dirección IP externa).

- Indica el momento de presentación, asignación y desprogramación de cada


tarea.
- Carece de información precisa sobre el propósito de los trabajos y la
Información
configuración de las máquinas.
adicional:
- Incluye identificadores para trabajos, nombres de usuarios, plataformas de
máquinas y configuraciones, aunque obfuscados.
- El análisis independiente se ha realizado por otros tres grupos de
investigadores.

Análisis independiente del rastro:

- Di et al. (comparación con sistemas de Grid/HPC).

- Liu y Cho (propiedades de las máquinas, gestión del ciclo de vida,


Realizado por tres grupos
comportamiento de la carga de trabajo y utilización de recursos).
de investigadores:
- Zhang et al. (perspectiva del aprovisionamiento consciente de la energía
y minimización del costo energético).
3.
HETEROGENEIDAD
La carga de trabajo de "computación en la nube" es menos homogénea de lo que se asume, siendo una combinación de
tareas sensibles y menos sensibles a la latencia. Esta diversidad dificulta la aplicación de estrategias de programación
específicas, ya que las máquinas y tareas no pueden tratarse de manera uniforme. Por lo tanto, enfoques como el uso
de ranuras de tamaño fijo o la aleatorización uniforme entre tareas no son efectivos.

3.1 Tipos de máquinas y atributos


1. Diversidad de Máquinas
del Clúster: - Tres plataformas diferentes.
- Variaciones en la relación memoria/cómputo.
- Configuraciones mostradas en la Tabla 1.
2. Heterogeneidad de
Configuraciones: - Distinto de clústeres homogéneos previamente asumidos.
- Diferente de clústeres con hardware fundamentalmente diferente.
- Explicado por adquisiciones de máquinas en el tiempo.
3. Atributos de Máquina: - Pares <clave, valor> obfuscados.
- 67 claves únicas de atributos.
- Mayoría de atributos con menos de 10 valores únicos.
- Algunos atributos utilizados como restricciones.
- Gran variabilidad en valores de atributos.
- Reflejan combinación de configuración y ubicación de la máquina.
4. Impacto en el Planificador: - Preocupaciones sobre la capacidad del planificador.
- Necesidad de considerar la heterogeneidad de hardware.
- Desafíos adicionales para los diseños de planificadores.

3.2 Tipos de carga de trabajo


En el seguimiento de tareas, las
prioridades asignadas a estas
producción, medio y gratis. Las tareas de producción, marcadas
revelan distintos tipos de trabajos.
por otro atributo, tienen ciertas restricciones de eliminación y los
Se utilizan doce prioridades
usuarios de tareas de prioridad gratis pagan menos.
(numeradas del 0 al 11),
clasificadas en tres conjuntos:

El análisis del uso agregado destaca que las tareas de producción representan un tipo de carga de
trabajo distinto, con un mayor uso de recursos y patrones diarios más claros en su utilización. Aunque
solo un pequeño porcentaje de trabajos se ejecutan con prioridad de producción, representan la
mayoría de los trabajos de larga duración. En contraste, las tareas de baja prioridad muestran un uso
más irregular, incluso excluyendo los trabajos de corta duración.
A pesar de que estas divisiones no son perfectas, muestran una diferencia cualitativa en las cargas
de trabajo agregadas en las prioridades más altas y más bajas. Esto sugiere que el rastreo de tareas
se diferencia de los rastros de cargas de trabajo por lotes y de servicios interactivos.

3.3 Duraciones de tareas


Las duraciones de los trabajos varían desde segundos hasta casi la duración completa del rastro.

Aunque más de 2000 trabajos se ejecutan durante todo el período de seguimiento, la mayoría
solo duran minutos.

La distribución de duraciones muestra una forma de cola pesada, con muchos trabajos cortos.
Las prioridades de producción tienden a tener más trabajos de larga duración, mientras que las
otras prioridades tienen más trabajos cortos.

La diversidad de usuarios sugiere que la carga de trabajo no está sesgada por una sola aplicación
o individuo.
3.4 Formas de tareas
Cada tarea tiene una solicitud de recurso, que debe indicar la cantidad de CPU y espacio de memoria
que requerirá la tarea. (Las solicitudes pretenden representar el uso “máximo” previsto por el
remitente para la tarea).
3.5 Distribuciones

La duración de los puestos de trabajo y los recursos totales solicitados de los puestos de trabajo
parecen formar una distribución de cola pesada. Descubrimos que las distribuciones de las leyes de
potencia no se ajustan bien a los datos (valor p<<0,1 para la prueba de bondad de ajuste de
Kolmogorov Smirnov, del método de Monte Carlo claramente por debajo del umbral de 0,10 que
recomienda). Lo mismo ocurre con la duración de las tareas y el total de recursos solicitados (días
de CPU o días de memoria) de tareas y trabajos.

En el caso de las duraciones, existe un sesgo debido a nuestra incapacidad de observar cuándo se
ejecutan trabajos o tareas fuera del mes del seguimiento. En particular, esto significa que las
duraciones que podemos observar se limitan al tiempo desde que comienza el trabajo o tarea hasta
el final del período de seguimiento.
4. DINAMICIDAD

Los programadores que se centran en cargas de trabajo de servicios de larga duración pueden asumir
que el estado del clúster cambia lentamente y, en consecuencia, pueden suponer que se puede gastar
tiempo o recursos considerables al tomar decisiones de programación o ubicación. La carga de trabajo
mixta de este seguimiento viola esos supuestos. El programador necesita tomar decisiones sobre
dónde colocar las tareas decenas de veces por segundo e incluso necesita reiniciar las tareas con
frecuencia.

4.1 Rotación de máquinas


Los investigadores que evalúan programadores de clústeres que tienen clústeres dedicados
generalmente asumen que los tiempos de inactividad de las máquinas son insignificantes o ocurren a
un ritmo similar a las tasas de fallas del hardware.
4.2 Rotación de tareas y empleos

Dado que muchas tareas se comportan como servicios de larga duración, se podría esperar que el
programador no tenga mucho trabajo con las nuevas tareas.

Esto es especialmente cierto ya que los proveedores de seguimiento indican que los programas MapReduce
ejecutan trabajos separados para los trabajadores y los maestros. Los trabajos del clúster sirven como
contenedores de ejecución para muchas tareas de asignación/reducción. Por lo tanto, este programador no
administra directamente al menos algunas fuentes comunes de lo que serían tareas detalladas.

La figura muestra que el planificador debe decidir dónde (o si) colocar las tareas ejecutables con frecuencia.

Bucles de choque. Los grandes aumentos en la tasa de reenvíos


de tareas que se ven en la Figura pueden atribuirse a "bucles de
bloqueo". Estos son casos en los que las tareas de un trabajo
fallan de manera determinista poco después de comenzar, pero
se reinician después de estas fallas.
Pequeños trabajos. Aunque el programador ejecuta trabajos
paralelos grandes y de larga duración, la mayoría de los
trabajos en el seguimiento solo solicitan una pequeña cantidad
de recursos de una sola máquina y solo se ejecutan durante
varios minutos. El 75 % de los trabajos consisten en una sola
tarea, la mitad de los trabajos duran menos de 3 minutos y la
mayoría de los trabajos solicitan menos del 5 % de los recursos
promedio de una máquina.

Desalojos. Los desalojos también son una causa


común de reprogramación de tareas. Hay 4,5
millones de desalojos registrados en el seguimiento,
más que el número de fallas de software registradas
después de excluir los trabajos de bucle de fallas
más grandes. Como era de esperar, las tasas de
desalojo están relacionadas con las prioridades de
las tareas.
5. PREVISIBILIDAD DEL USO DE RECURSOS
El seguimiento incluye dos tipos de información sobre el uso de recursos de los trabajos que se
ejecutan en el clúster: las solicitudes de recursos que acompañan a cada tarea y el uso real de recursos
de las tareas en ejecución. Si el programador pudiera predecir el uso real de los recursos de la tarea
con mayor precisión que la sugerida por las solicitudes, las tareas podrían empaquetarse más sin
degradar el rendimiento. Por lo tanto, estamos interesados en el uso real de los trabajos en el clúster.

5.1 Descripción general del uso


La Figura muestra la utilización en el clúster durante
el período de seguimiento de 29 días. Evaluamos la
utilización tanto en términos del consumo de recursos
medido (lado izquierdo de la figura) como de
"asignaciones" (recursos solicitados para tareas en
ejecución; lado derecho de la figura). Según las
asignaciones, el clúster está muy ocupado
5.2 Estabilidad de uso
Cuando las tareas se ejecutan durante varias horas, su uso de
recursos es generalmente estable, como se puede ver en la
Figura. El uso de la memoria de las tareas cambia muy poco una
vez que la mayoría de las tareas se están ejecutando. Los datos
de uso de la memoria se basan en el uso de la memoria física,
por lo que esta estabilidad no es simplemente una consecuencia
de medir el espacio de direcciones disponible y no la presión de
la memoria real.

En escalas de tiempo de minutos, esto generalmente


predice bien la utilización de la máquina, como se
puede ver en la Figura. Dado que la mayoría de las
tareas solo se ejecutan durante minutos, esta cantidad
de predicción es todo lo que probablemente se
necesita para ubicar la mayoría de las tareas de
manera efectiva.
5.3 Trabajos cortos

Un obstáculo aparente para pronosticar la disponibilidad de recursos a partir del uso anterior de
recursos es la frecuencia con la que las tareas comienzan y terminan. Afortunadamente, aunque hay una
gran cantidad de tareas que se inician y se detienen, estas tareas breves no contribuyen
significativamente al uso. La Figura indica que los trabajos de menos de dos horas representan menos del
10% de la utilización total (aunque representan más del 95% de los trabajos).

Por lo tanto, el programador puede ignorar con


seguridad los trabajos de ejecución corta al
pronosticar la utilización del clúster. Aunque la
mayoría de los trabajos son muy cortos, no es raro que
los usuarios ejecuten trabajos largos. 615 de los 925
usuarios del clúster envían al menos un trabajo que
dura más de un día y 310 lo hacen fuera de las
prioridades gratuitas.
5.4 Solicitudes de recursos
A pesar de las observaciones, las solicitudes de recursos en este seguimiento no son precisas en
su conjunto, esto debido al criterio de los usuarios Por lo tanto, estamos interesados en cuán
estrechamente podrían hacerse las solicitudes para reflejar el uso monitoreado.

Solicitudes de Recursos
No Automatización

Especificación Manual

Elección de Distribución
Números Desigual de
Redondos Tamaños
Solicitudes de Recursos
Precisión de la Solicitud

Reflejo de la Utilización
Máxima

Brechas entre Uso y


Asignación
Solicitudes de Recursos
Diferencias con la Solicitud Real

Inexactitudes en las Implicaciones para los


Solicitudes Planificadores

Brechas entre Uso


Estimado y Real
5.4 Envíos repetidos
La frecuencia de envíos de trabajos sugiere que algunos programas se ejecutan repetidamente.
Los trabajos repetidos ofrecen una oportunidad natural para predecir los recursos.

Oportunidad para Identificación de


Predicción de Recursos Trabajos Repetidos

Composición de la Nombre Lógico del Distribución de


Carga de Trabajo Trabajo Trabajos Repetidos

Posibilidad de
Utilización de
Nombres
Trabajos Programas en Trabajos Repetidos
Duplicados
Periódicos Desarrollo
6. Limitación de tareas

Restricciones en la Planificación de Tareas

Tipos de Restricciones Impacto en la Planificación

Restricciones Duras Restricciones Suaves Desafíos para el


Planificador

Definición precisa de Expresión de


límites preferencias
Tareas con Recursos
Libres pero No
Ejemplo: Atributos de Utilizables
Máquina y Anti-Afinidad
6.1. Caracterización general

Restricciones en Tareas

Especificación de Ejemplos Populares de


Restricciones Tipos de Restricciones Restricciones

Tuplas (clave, valor, Restricciones Anti-Afinidad


operador) sobre
atributos de máquina
Evita la ejecución de
tareas del mismo trabajo
17 claves de atributo en la misma máquina
únicas utilizadas

Especificadas como un
Operadores: =, ≠, <, > indicador booleano en
cada tarea
6.2 Retraso en la programación inducido por restricciones

No hay una correlación fuerte


Correlación con el Número
entre el número de restricciones
de Restricciones
y la latencia.

Impacto de las
Restricciones
La ausencia de la restricción de
en la Latencia Efecto del Anti-Afinidad
anti-afinidad reduce la latencia.
de
Programación

Las tareas con restricciones de


Predictores de la Latencia anti-afinidad experimentan un
mayor retraso.
Correlación con el Número
de Restricciones

Efecto del Anti-Afinidad

Predictores de la Latencia
6.3 Localidad
Localización de tareas

Especificación de Ejemplos Populares de


Restricciones Tipos de Restricciones Restricciones

Tuplas (clave, valor, Restricciones Anti-Afinidad "GK": Restringe máquinas


operador) sobre atributos que carecen de un
de máquina atributo específico
Evita la ejecución de
tareas del mismo trabajo
17 claves de atributo en la misma máquina
únicas utilizadas

Especificadas como un
Operadores: =, ≠, <, > indicador booleano en
cada tarea
7. Conclusiones

 Heterogeneidad Extrema: La diversidad en recursos y tareas hace que las simplificaciones


comunes sean inadecuadas.

 Desafíos de Scheduling: Las restricciones en las tareas complican la migración eficiente de


tareas en ejecución.

 Dinamismo de la Carga de Trabajo: La variabilidad temporal es alta, con una presencia


significativa de trabajos cortos.

 Estabilidad en Algunos Trabajos: Aunque hay variabilidad, ciertos trabajos de larga duración
muestran una utilización de recursos estable.

 Necesidad de Nuevos Enfoques: Se confirma la necesidad de desarrollar nuevos


planificadores de recursos en la nube que puedan adaptarse a la diversidad y dinamismo de la
carga de trabajo.

También podría gustarte