Story Transcript
Selección y Caracterización de la Carga de Trabajo.
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.
M. Curiel
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
M. Curiel
1
Selección y Caracterización de la Carga de Trabajo.
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.
?
M. Curiel
M. Curiel
2
Selección y Caracterización de la Carga de Trabajo.
Grupo
Número Promedio de procesos
Frecuencia diaria
Tiempo Usuario (seg)
Tiempo de Sistema (seg)
Uso de la Memoria (Kb)
Fallos de Página
0
8.8
11805.1
0.020
1
250.08
121.4
0.198
0.005
1878.9
106.11
0.108
2425.34
2
2.25
17270.8
0.271
266.33
3
40.5
277.4
1.664
0.419
9539.69
1200.73
4
2.89
36.12
48.307
6.149
7174.27
755.85
5
3.5
12.83
10.256
11.134
2730.65
346.3
6
2
3.36
93.096
91.629 11899.57 661.39
7
1.57
8.71
72.918
9.854
7362.77
443.68
8
1.67
3.64
4.863
1.461
7040.48
8251.19
0.0621 11938.23 135.12
Clases Funcionales Comandos linux, utilities, prog. Administración Compiladores, enlazadores Programas asociados a los ambientes KDE y GNOME
Grupos 0,1,5 1 1,3
Web Browsers Programas asociados al correo electrónico Editores y procesadores de palabras Herramientas de monitoreo Aplicación para manipular documentos Postcripts y PDF Programas asociados al sistema de ventanas X
2,3 1 0,1,3,4,8 1,5 1,3 1,4
Programas relacionados con la máquina virtual JAVA Screensavers Programas Usuarios
2,3 1,3,4,5,6,7,8 0,1
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.
M. Curiel
M. Curiel
3
Selección y Caracterización de la Carga de Trabajo.
Características de un buen modelo Descripción
Metas
La cantidad de parámetros y datos utilizados en el modelo debe ser menor a aquellos recolectados en el sistema real.
Compacto
El modelo debe ser capaz de producir cargas de trabajo que sean fáciles de modificar
Flexible
El modelo debería representar todos los parámetros y datos que se consideren importantes en el estudio de desempeño
Completo Representativo Reproducible
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.
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
Carga Real
Sistema o modelo del sistema
Sistema
Medidas de Desempeño (Pmodel)
?
Medidas de Desempeño (Preal)
M. Curiel
M. Curiel
4
Selección y Caracterización de la Carga de Trabajo.
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 consumo de recursos pero únicamente a nivel lógico
?Orientada al consumo de recursos : a este nivel de caracterización, se describe el consumo físico de recursos por parte de la carga de trabajo M. Curiel
Niveles de la caracterización de la Carga Alto
Bajo funcional
Dependencia del Sistema
Nivel de Especificación
virtual
físico
Alto
M. Curiel
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.
Bajo
Niveles de la caracterización de la Carga Alto funcional
Organiz.
Por, Aplicación
Orientación Geográfica
Nivel de Especificación
virtual
físico Bajo M. Curiel
M. Curiel
5
Selección y Caracterización de la Carga de Trabajo.
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 Real Natural
Modelos De Carga
-Natural Híbrida - Trazas
Ejecutable Artificial
- Mix - Kernels -Programas Sintéticos -Benchmarks de Applic.
No-Ejecutable
-Valores medios -Distribuciones Estadísticas
M. Curiel
Modelos 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
M. Curiel
6
Selección y Caracterización de la Carga de Trabajo.
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 (Di1, Di2, ...., 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. M. Curiel
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
M. Curiel
7
Selección y Caracterización de la Carga de Trabajo.
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 el criterio 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
M. Curiel
8
Selección y Caracterización de la Carga de Trabajo.
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. M. Curiel
M. Curiel
9