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