M. Curiel
La Carga de Trabajo
Definición y Selección
Prof. Mariela J. Curiel H.M. Curiel
Carga de trabajo (Workload)
Definición:El término carga de trabajo se usa para designar todos los requerimientos introducidos al sistema por la comunidad de usuarios durante un período de tiempo.
Por qué es importante usar
modelos de la carga?
?Satisfacer la exigencia de reproductibilidad de los experimentos.
?Reducir sustancialmente la duración de cada sesión de medición con respecto a la que se requeriría para ejecutar la carga real total.
?Obtener una representación de la carga que sea consistente con su uso (por ejemplo, la entrada de un simulador o de un modelo analítico)
M. Curiel
Por qué es importante usar
modelos de la carga?
?
Evitar problemas de privacidad y seguridad,
que a veces limitan el uso de programas y
datos reales en los estudios de evaluación del
rendimiento.
?
Evitar la interferencia con el funcionamiento
del sistema real.
M. Curiel
Factores a tener en cuenta al
momento de seleccionar la carga
?Servicios: El sistema se debe ver como un
proveedor de servicios. El benchmark debe hacer uso exhaustivo de todos los servicios que provee el sistema.
?Nivel de carga: La carga de trabajo sintética podría
hacer uso de los recursos del sistema en su capacidad total (mejor caso), más alla de esta capacidad (peor caso) o al nivel de carga observado en el sistema real (caso típico).
M. Curiel
Factores a tener en cuenta al
momento de seleccionar la carga
?Nivel de detalle.La lista de posibilidades incluye:
? Seleccionar únicamente la petición más frecuente. ? Hacer una lista de varios servicios, sus características y
su frecuencia.
? Obtener una traza del sistema real y usar esta traza como carga de trabajo.
? Usar el consumo promedio de los recursos. ? Especificar una distribución del consumo.
8251.19 7040.48 1.461 4.863 3.64 1.67 8 443.68 7362.77 9.854 72.918 8.71 1.57 7 661.39 11899.57 91.629 93.096 3.36 2 6 346.3 2730.65 11.134 10.256 12.83 3.5 5 755.85 7174.27 6.149 48.307 36.12 2.89 4 1200.73 9539.69 0.419 1.664 277.4 40.5 3 135.12 11938.23 0.0621 0.271 17270.8 2.25 2 266.33 2425.34 0.108 0.198 121.4 250.08 1 106.11 1878.9 0.005 0.020 11805.1 8.8 0 Fallos de Página Uso de la Memoria (Kb) Tiempo de Sistema (seg) Tiempo Usuario (seg) Frecuencia diaria Número Promedio de procesos Grupo 0,1 Programas Usuarios 1,3,4,5,6,7,8 Screensavers 2,3 Programas relacionados con la máquina virtual JAVA
1,4 Programas asociados al sistema de ventanas X
1,3 Aplicación para manipular documentos Postcripts y PDF
1,5 Herramientas de monitoreo
0,1,3,4,8 Editores y procesadores de palabras
1 Programas asociados al correo electrónico
2,3 Web Browsers
1,3 Programas asociados a los ambientes KDE y GNOME
1 Compiladores, enlazadores
0,1,5 Comandos linux, utilities, prog. Administración
Grupos Clases Funcionales
Factores a tener en cuenta al
momento de seleccionar la carga
?
Existencia de cargas de trabajo
externas:
Es importante determinar si el sistema se ejecutará en forma aislada o se ejecutará concurrentemente con otros sistemas no relacionados.Características de un buen modelo
Metas Descripción Compacto Flexible Completo Representativo ReproducibleLa cantidad de parámetros y datos utilizados en el modelo debe ser menor a aquellos recolectados en el sistema real.
El modelo debe ser capaz de producir cargas de trabajo que sean fáciles de modificar
El modelo debería representar todos los parámetros y datos que se consideren importantes en el estudio de desempeño
El comportamiento del sistema bajo el modelo de la carga de trabajo debe ser similar a su comportamiento bajo la carga de trabajo real. El modelo debería generar cargas de trabajo que produzcan características similares bajo los mismos parámetros de entrada.
M. Curiel
Características de un buen modelo
?Representatividad
? La tasa de llegada de las peticiones debería ser igual o proporcional a la de la aplicación.
? El consumo total de cada uno de los recursos clave debería ser igual o proporcional al de la aplicación.
? El perfil del uso de recursos debería ser similar en el benchmark y en la aplicación. El perfil del uso de recursos se refiere a la secuencia e intensidad en la cual la aplicación usa los diferentes recursos disponibles. M. Curiel
Representatividad de un
Modelo de la Carga
Modelo de la Carga Sistema o modelo del sistema Medidas de Desempeño (Pmodel) Carga Real Sistema Medidas de Desempeño (Preal)?
M. Curiel
Niveles de caracterización de la
carga
?
A nivel funcional
:
se describen los programas o aplicaciones que componen la carga de trabajo?
A nivel virtual
:
se toma en cuenta el consumode recursos pero únicamente a nivel lógico
?
Orientada al consumo de recursos
:
a estenivel de caracterización, se describe el consumo físico de recursos por parte de la carga de trabajo M. Curiel Alto Bajo funcional virtual físico Bajo Alto Dependencia
del Sistema Nivel de Especificación
Ejemplos: funcional: -comandos -transacciones -aplicaciones Lógico : - accesos a la base de datos - accesos a los archivos - Instrucciones de alto nivel Físico : - Uso de CPU - Operaciones de I/O, red.
Niveles de la caracterización de la Carga
Bajo Alto Nivel de Especificación virtual físico
Niveles de la caracterización de la Carga
funcional Organiz. Por, Aplicación
Orientación Geográfica
M. Curiel
Tipos de modelos cargas de
trabajo
?Modelos Naturales
:
se construyen, o usando componentes básicos de la carga real (programas extraídos de la carga real) o usando trazas de ejecución de la carga real.?Modelos Artificiales
:
en su construcción no se usa ningún componente de la carga de trabajo real. Se construyen a partir de programas de propósito especial o parámetros descriptivos. Se dividen en ejecutables y no ejecutables.M. Curiel
Tipos de modelos de cargas de
trabajo
Modelos De Carga Natural Artificial -Natural Híbrida - Trazas Ejecutable No-Ejecutable - Mix - Kernels -Programas Sintéticos -Benchmarks de Applic. -Valores medios -Distribuciones Estadísticas Real M. CurielModelos Artificiales
?Mezclas de instrucciones: son programas para probar la rapidez de un procesador (Gibson Mix)
?Kernels: son piezas de código extraídas de partes computacionalmente intensivas de un programa real. Se concentran en el procesador y no en la E/S (Tree Searching, Sorting , Inversión de matrices, etc.)
?Programas sintéticos: son piezas de código que colocan demandas en diferentes recursos de un sistema
?Benchmarks de Aplicación: contienen un subconjunto representativo de funciones típicas de la aplicación que será usada (ejem. TPC-C)
M. Curiel
Metodología para la
caracterización de la carga
?Formulación ?Construcción ?Validación?
Fase de formulación
:
se determina el uso previsto del modelo, los componentes básicos de la carga, los parámetros a utilizar, el nivel de caracterización, y el criterio para evaluar la representatividad.M. Curiel
Parámetros que caracterizan la
carga
?
Intensidad
: tasa de llegadas, número de
clientes, tiempo de reflexión, número de
procesos ejecutándose en forma simultánea,
etc.
?
Demandas
: se describen por una K-tupla (D
i1,
D
i2, ...., D
i k), donde K es el n úmero de recursos
considerados y Dij es la demanda de servicio
del componente de la carga i al recurso j.
Fase de Formulación
?
Ejemplo:
File server
- Frecuencia de distribución de cada tipo de
petición (read, write, etc)
- Tiempo entre llegadas.
- El porcentaje de accesos a cada archivo - Tamaño de las escrituras y lecturas.
M. Curiel
Metodología para la
caracterización de la carga
?
Fase de construcción
:
recolección de
datos, división de la carga de trabajo,
extracción de los componentes básicos y
asignación de valores a los parámetros a los
componentes del modelo.
M. Curiel
Metodología para la
caracterización de la carga
?
Fase de validación
:
En esta fase se aplica elcriterio de representatividad, si el modelo es representativo, se considera que el modelo está listo para el uso previsto. Si el modelo no es representativo, se comienza la fase de calibración del modelo.
M. Curiel
Fase de construcción
?
Recolección de Datos.
?Identificar las ventanas que definirán las
secciones de medidas.
?Monitorear y medir las actividades del sistema durante las sesiones
?Usar los datos recolectados para asignar valores
a los parámetros que caracterizan cada componente de la carga de trabajo.
M. Curiel
Fase de construcción
?
División de la carga de trabajo
?Por el uso de recursos
?Por aplicaciones
?Por el tipo de objetos que se acceden ?Por la orientación geográfica ?Por clases funcionales ?Por unidades organizacionales ?Por el tipo de interacción con el sistema
Se pueden hacer particiones por más de un atributo
M. Curiel
Bibliografía
?Daniel Menascé. Virgilio Almeida. Larry W. Dowdy. Capacity Planning and Performance Modeling. Prentice Hall, 1994.
?Raj Jain. The Art of Computer Systems Performance Analysis, Wiley, 1991.
?A. L. Hunter. Aspects of Workload Characterization for Distributed System Models. Master Thesis. University of Toronto, 1996.
?M. Curiel, V. Céspedes y M.E. Pérez. On the workload characterization of Linux processes in an academic environment. Artículo en proceso de arbitraje.