Capacity planningCapacity planningEntendiendo y caracterizando la carga de trabajoEntendiendo y caracterizando la carga de trabajo
BenchmarcksBenchmarcksModelos de Modelos de desempeño desempeño a nivel de sistemasa nivel de sistemas
Modelos de Modelos de desempeño desempeño a nivel de componenetesa nivel de componenetesModelos de desempeño WebModelos de desempeño Web
Andrés H. Águila Gaete
Entendiendo y Entendiendo y caracterizando la caracterizando la carga de trabajo carga de trabajo
(Workload)(Workload)
IntroducciónIntroducciónEl funcionamiento de un sistema distribuido con muchos El funcionamiento de un sistema distribuido con muchos clientes, servidores y redes dependen fuertemente en las clientes, servidores y redes dependen fuertemente en las características de su carga. Así, el primer paso en algún características de su carga. Así, el primer paso en algún estudio de evaluación de funcionamiento debe entender y estudio de evaluación de funcionamiento debe entender y caracterizar la carga de trabajo.caracterizar la carga de trabajo.
La carga de trabajo de un sistema puede ser definido como un La carga de trabajo de un sistema puede ser definido como un conjunto de todas las entradas que el sistema recibe de su conjunto de todas las entradas que el sistema recibe de su ambiente durante algún periodo de tiempoambiente durante algún periodo de tiempo
Uno debe construir un modelo de Workload que capture las Uno debe construir un modelo de Workload que capture las características más relevantes (tiempo de llegada y características más relevantes (tiempo de llegada y terminación, tiempo de cpu, Nº de operaciones I/O, etc.).terminación, tiempo de cpu, Nº de operaciones I/O, etc.).
IntroducciónIntroducciónLos modelos de carga de trabajo (Workload) exponen Los modelos de carga de trabajo (Workload) exponen varias ventajas sobre cargas de trabajo actual o varias ventajas sobre cargas de trabajo actual o rastros. Es posible cambiar parámetros del modelo rastros. Es posible cambiar parámetros del modelo para reflejar cambios del sistema o en el actual para reflejar cambios del sistema o en el actual Workload.Workload.
Las características y parámetros que describirán la Las características y parámetros que describirán la carga de trabajo depende del objetivo del estudio. carga de trabajo depende del objetivo del estudio.
Por ejemplo; si uno quiere estudiar el costo-beneficio Por ejemplo; si uno quiere estudiar el costo-beneficio para crear un servidor Proxy para un sitio Web, para crear un servidor Proxy para un sitio Web, entonces las características de carga de trabajo entonces las características de carga de trabajo necesarias para el estudio son las frecuencias de necesarias para el estudio son las frecuencias de referencia de documentos, concentración de referencia de documentos, concentración de referencias, tamaño de documentos y tiempos de referencias, tamaño de documentos y tiempos de interreferencia.interreferencia.
CaracterizaciónCaracterizaciónLos pasos comunes para seguir cualquier proyecto de Los pasos comunes para seguir cualquier proyecto de caracterización de carga de trabajo incluyen:caracterización de carga de trabajo incluyen:
1.1. La especificación de un punto de vista de lo cual la carga de La especificación de un punto de vista de lo cual la carga de trabajo será analizada.trabajo será analizada.
2.2. Determinar del conjunto de parámetros que capturan las Determinar del conjunto de parámetros que capturan las características más relevantes de la carga de trabajo para el características más relevantes de la carga de trabajo para el objetivo del estudio.objetivo del estudio.
3.3. Supervisión del sistema para obtener los datos de funcionamiento Supervisión del sistema para obtener los datos de funcionamiento crudo.crudo.
4.4. Análisis y reducción de datos de funcionamiento.Análisis y reducción de datos de funcionamiento.5.5. Construcción de un modelo de carga de trabajo.Construcción de un modelo de carga de trabajo.6.6. La verificación que la caracterización captura toda la información La verificación que la caracterización captura toda la información
de funcionamiento importante. de funcionamiento importante.
Caracterización de Caracterización de procesos de Workloadprocesos de Workload
Actual Workload
abstracción
Caracterización de procesos
Modeloworkload
Planificación de la capacidad
Los niveles de descripción Los niveles de descripción de trabajode trabajo
Modelo de
negocio
Modelofuncional
Modelo de
recursos
Característicasdel negocio
Programas, aplicaciones y funciones
ArquitecturaDel sitio
y demanda de servicios
Vista denegocios
Vista Tecnológica
Métrica Externa
Métrica Interna
descriptores
Modelo de Modelo de WorkloadWorkload
un modelo workload es una representación que imita el un modelo workload es una representación que imita el workload real bajo estudio. El modelo debe ser representativo workload real bajo estudio. El modelo debe ser representativo y compacto.y compacto.
Los modelos Workload pueden ser clasificados en dos Los modelos Workload pueden ser clasificados en dos categorías, de acuerdo con la forma en que se construyó:categorías, de acuerdo con la forma en que se construyó:
Modelos naturales: se construyen usando componentes básicos del Modelos naturales: se construyen usando componentes básicos del workload como construcción de bloques o el uso de la ejecución de workload como construcción de bloques o el uso de la ejecución de las trazas del workload real.las trazas del workload real.
Modelos artificiales: no hace uso de cualquier componente básico o Modelos artificiales: no hace uso de cualquier componente básico o del trabajo real. Se clasifican en ejecutables y no ejecutables. del trabajo real. Se clasifican en ejecutables y no ejecutables.
Una Metodología de Una Metodología de caracterización de caracterización de
WorkloadWorkloadEs necesario mencionar los pasos necesarios para construir Es necesario mencionar los pasos necesarios para construir un modelo Workload para ser utilizado como insumo para un modelo Workload para ser utilizado como insumo para construir modelos analíticos. Nuestro enfoque se centra en construir modelos analíticos. Nuestro enfoque se centra en los recursos orientados a la caracterización del Workload.los recursos orientados a la caracterización del Workload.
1.1. Elección de un punto de vista de análisis.Elección de un punto de vista de análisis.2.2. Identificación de los componentes básicos.Identificación de los componentes básicos.3.3. Elección de la caracterización de parámetrosElección de la caracterización de parámetros4.4. Colección de datosColección de datos5.5. Particionando el WorkloadParticionando el Workload
Utilización de recursosUtilización de recursos AplicacionesAplicaciones ObjetosObjetos Orientación geográficaOrientación geográfica FuncionalFuncional Unidades de organizaciónUnidades de organización Modalidasdes (interactiva, transacción, continua)Modalidasdes (interactiva, transacción, continua)
6.6. Cálculo de parámetros de clase Cálculo de parámetros de clase PromedioPromedio ClusteringClustering
Análisis de datosAnálisis de datos Medidas de distanciaMedidas de distancia Ampliación de técnicasAmpliación de técnicas Algoritmos de clustering Algoritmos de clustering
Web WorkloadsWeb WorkloadsHay un cuerpo significativo de trabajo sobre la caracterización Hay un cuerpo significativo de trabajo sobre la caracterización del workload del tráfico web. Unas de las características del workload del tráfico web. Unas de las características consideradas tratan con distribuciones de tamaño de archivo, consideradas tratan con distribuciones de tamaño de archivo, distribución de popularidad de archivo, autosemejanza en distribución de popularidad de archivo, autosemejanza en trafico Web, lugar de referencia, y solicitud de usuarios y trafico Web, lugar de referencia, y solicitud de usuarios y patrones.patrones.
Además del estudio de la metodología de caracterización del Además del estudio de la metodología de caracterización del workload, es importante revisar algunas propiedades workload, es importante revisar algunas propiedades encontradas en el análisis del actual trafico Web. Es decir, la encontradas en el análisis del actual trafico Web. Es decir, la presencia del poder ley y la naturaleza de las ráfagas del presencia del poder ley y la naturaleza de las ráfagas del tráfico.tráfico.
Power-LawsPower-LawsSon expresiones de la forma y*Son expresiones de la forma y*λλx^ x^ λλ donde donde λλ es una constante es una constante y “x” e “y” son las medidas de interés. Se ha demostrado que y “x” e “y” son las medidas de interés. Se ha demostrado que estas “power-laws” pueden ser usadas para describir estas “power-laws” pueden ser usadas para describir propiedades de la topología de Internet.propiedades de la topología de Internet.
Otra power-law es Zipf’s Law que es la relación entre la Otra power-law es Zipf’s Law que es la relación entre la frecuencia de ocurrencia de un evento y su rango, cuando los frecuencia de ocurrencia de un evento y su rango, cuando los eventos se clasifican con respecto a la frecuencia de eventos se clasifican con respecto a la frecuencia de ocurrencia.ocurrencia.
Las distribuciones Power-Law se han observado en diversos Las distribuciones Power-Law se han observado en diversos aspectos de la web y puede ser utilizado para caracterizar el aspectos de la web y puede ser utilizado para caracterizar el comportamiento de los usuarios.comportamiento de los usuarios.
Ráfagas de Ráfagas de WorkloadsWorkloads
Lo principal e este punto es aquella autosemejanza de tráfico Lo principal e este punto es aquella autosemejanza de tráfico de red implica “burtiness” (ráfagas) en varias escalas de de red implica “burtiness” (ráfagas) en varias escalas de tiempo. Y las ráfagas tienen un impacto fuerte sobre el tiempo. Y las ráfagas tienen un impacto fuerte sobre el funcionamiento de sistema conectado a una red.funcionamiento de sistema conectado a una red.
¿Cómo podemos representar “burtiness” en la caracterización ¿Cómo podemos representar “burtiness” en la caracterización del Workload?del Workload?
Burtiness es un período de observación dado puede ser Burtiness es un período de observación dado puede ser representado por un par de parámetros, (a, b). El parámetro “a” es representado por un par de parámetros, (a, b). El parámetro “a” es el radio entre la tarifa de petición máxima observada y la tarifa de el radio entre la tarifa de petición máxima observada y la tarifa de petición media durante el período de observación. El parámetro "b" petición media durante el período de observación. El parámetro "b" es la fracción de tiempo durante el cual la tarifa de llegada es la fracción de tiempo durante el cual la tarifa de llegada instantánea excede la tarifa de llegada mediainstantánea excede la tarifa de llegada media
Benchmarck y Benchmarck y pruebas de pruebas de DesempeñoDesempeño
IntroducciónIntroducción La mejor forma de medir el desempeño de La mejor forma de medir el desempeño de
una sistema es hacerlo correr y medir el una sistema es hacerlo correr y medir el resultado.resultado.
Benchmark consiste en hacer correr un Benchmark consiste en hacer correr un grupo de programas en computadoras y grupo de programas en computadoras y redes.redes.
Las pruebas de desempeño sirven para Las pruebas de desempeño sirven para medir el desempeño de los sistemas bajo medir el desempeño de los sistemas bajo condiciones especificas.condiciones especificas.
La naturaleza de La naturaleza de los benchmarckslos benchmarcks
Tiempo y velocidad son las mediciones Tiempo y velocidad son las mediciones básicas.básicas.
A los usuarios les interesa el tiempo de A los usuarios les interesa el tiempo de respuesta.respuesta.
A los administradores les interesa la A los administradores les interesa la velocidad.velocidad.
A ambos les interesa el costo.A ambos les interesa el costo.
Arquitectura de los Arquitectura de los benchmarksbenchmarks
Existen 2 categorías de benchmarks:Existen 2 categorías de benchmarks:1.1. Bajo nivel: Miden directamente el rendimiento de Bajo nivel: Miden directamente el rendimiento de
los componentes.los componentes.2.2. Alto nivel: Miden el rendimiento de la combinación Alto nivel: Miden el rendimiento de la combinación
componente/controlador/SO.componente/controlador/SO. Hay 4 niveles de benchmarks.Hay 4 niveles de benchmarks.
1.1. Operaciones Básicas.Operaciones Básicas.2.2. Benchmarks de juegos.Benchmarks de juegos.3.3. Kernels.Kernels.4.4. Programas Reales.Programas Reales.
Arquitectura de los benchmarksArquitectura de los benchmarks
Operaciones Básicas
Juegos de benchmarks
KernelsProgramas reales
Sistema
Mediciones de Desempeño
Arquitectura de los Arquitectura de los benchmarksbenchmarks
En el 1º nivel se realizan solo operaciones En el 1º nivel se realizan solo operaciones básicas (suma y multiplicaciones).básicas (suma y multiplicaciones).
En el 2º nivel se ejecutan programas que En el 2º nivel se ejecutan programas que realizan puzzles clásicos (torres de Hanoi).realizan puzzles clásicos (torres de Hanoi).
En el 3º nivel se ejecutan fragmentos de En el 3º nivel se ejecutan fragmentos de código de programas reales.código de programas reales.
En el 4º nivel se ejecutan programas reales.En el 4º nivel se ejecutan programas reales.
Evitando fallasEvitando fallas Se deben conocer el sistema donde se están Se deben conocer el sistema donde se están
ejecutando las pruebas (procesador, ejecutando las pruebas (procesador, memorias, red, etc.).memorias, red, etc.).
Para evitar fallas, uno se debe hacer Para evitar fallas, uno se debe hacer preguntas como:preguntas como:
¿tiene las pruebas una configuración similar ¿tiene las pruebas una configuración similar al sistema actual?al sistema actual?¿Qué tan representativa es la carga de ¿Qué tan representativa es la carga de trabajo con los test de benchmarks?trabajo con los test de benchmarks?
Benchmarks mas Benchmarks mas comunescomunes
Varios test de benchmarks puedes ser usados Varios test de benchmarks puedes ser usados para evaluar una amplia variedad de sistemas.para evaluar una amplia variedad de sistemas.
Un test de benchmarks debe tener las Un test de benchmarks debe tener las siguientes características:siguientes características:
RelevanciaRelevanciaEntendibleEntendibleEscalableEscalableAceptableAceptable
Benchmarks mas Benchmarks mas comunescomunes
Existen 2 consorcios que ofrecen benchmarks Existen 2 consorcios que ofrecen benchmarks usados para comparar sistemas:usados para comparar sistemas:
System Performance Evaluation Corporation System Performance Evaluation Corporation (SPEC)(SPEC)
Transaction Processing Performance Council Transaction Processing Performance Council (TPC)(TPC)
Ejemplo CINT2000Ejemplo CINT2000 Consta de 12 programas:Consta de 12 programas:
1 164.gzip compresión
2 175.Vrp Direccionamiento y ubicación de circuitos FPGA
3 176.gcc Compilador C
4 181.mcf Resolutor de costo mínimo de flujo de red
5 186.crafty Programa de ajedrez
6 197.parser Procesamiento de lenguaje natural
7 252.eon visualización
8 253.perlbmk Perl
9 254.gap Teoría de grupo computacional
10 255.vortex Base de datos orientada a objetos
11 256.bzip2 Compresión
12 300.twolf Simulador de ubicación y ruteo
CFP2000CFP2000 Consta de 14 programas:Consta de 14 programas:1 168.Wupwise Cromodinámica de cuantos
2 171.swim Modelado de aguas poco profundas
3 172.mgrid Resolutor de multi-grilla en campos potenciales 3D
4 173.applu Ecuaciones diferenciales parciales parabólicas/elípticas
5 177.mesa Librería de gráficos 3D
6 178.galgel Dinámica de fluidos: análisis de inestabilidad oscilatoria
7 179.art Simulación de red neuronal: teoría de la resonancia adaptativa
8 183.equake Simulación de elementos finitos: modelado de terremotos
9 187.facerec Reconocimientos de imágenes: reconocimiento de rostros
10 188.ammp Química computacional
11 189.lucas Teoría de los números: prueba de primalidad
12 191.fma3d Simulación de elementos finitos en choque
13 200.sixtrack Modelo de acelerador de partículas
14 301.apsi Resolutor de problemas de temperatura, viento y distribución de contaminantes
http://www.spec.org/cpu2000/results/
Benchmark a Benchmark a servidores Webservidores Web
Estos Benchmark son llevado a cabo en Estos Benchmark son llevado a cabo en pequeñas redes, sin perdidas de datospequeñas redes, sin perdidas de datos
Se describirán 2 benchmark WebSe describirán 2 benchmark Web1.1. SpecwebSpecweb2.2. WebstoreWebstore
SpecwebSpecweb Mide el máximo de conexiones simultaneas, Mide el máximo de conexiones simultaneas,
soportadas por un servidor Web.soportadas por un servidor Web. Se usan 1 o mas clientes para generar Se usan 1 o mas clientes para generar
peticiones HTTP a un servidor.peticiones HTTP a un servidor. Cada cliente valida la información recibida por Cada cliente valida la información recibida por
el servidor.el servidor. Al finalizar la prueba un cliente recolecta toda Al finalizar la prueba un cliente recolecta toda
la información y calcula los resultados.la información y calcula los resultados.
Resultado prueba Specweb
http://www.spec.org/web99/results/
WebStoneWebStone Es un benchmark configurable para generar Es un benchmark configurable para generar
trafico HTTPtrafico HTTP Esta diseñado para medir el máximo Esta diseñado para medir el máximo
desempeño y el tiempo de respuesta de la desempeño y el tiempo de respuesta de la conexiónconexión
Es un benchmark distribuido y multiproceso, Es un benchmark distribuido y multiproceso, compuesto de un maestro y varios procesos compuesto de un maestro y varios procesos clientes.clientes.
WebStoneWebStone Los parámetros configurables son:Los parámetros configurables son:
Numero de clientesNumero de clientesTipos de archivo, tamaño y frecuencia de Tipos de archivo, tamaño y frecuencia de accesoaccesoNumero de paginas disponiblesNumero de paginas disponiblesNumero de maquinas clientesNumero de maquinas clientes
Benchmarck de Benchmarck de SistemasSistemas
Estos benchmark miden el sistema completo Estos benchmark miden el sistema completo (procesador, red, I/O, etc.)(procesador, red, I/O, etc.)
Existen 4 benchmark tpcExisten 4 benchmark tpc1.1. Tcp-cTcp-c2.2. Tcp-hTcp-h3.3. Tcp-rTcp-r4.4. Tcp-wTcp-w
TCP-CTCP-C Es un standard para sistemas de procesos de Es un standard para sistemas de procesos de
transacciones en líneatransacciones en línea Consiste de 5 transacciones (con update, insert y Consiste de 5 transacciones (con update, insert y
delete):delete):1.1. Nueva ordenNueva orden 45%45%2.2. PagoPago 43%43%3.3. EntregaEntrega 4%4%4.4. Estado de la ordenEstado de la orden 4%4%5.5. Nivel de stockNivel de stock 4%4%
TPC-CTPC-C
Para el TPC-C el desempeño es el máximo Para el TPC-C el desempeño es el máximo numero de “nueva orden” por minuto que puede numero de “nueva orden” por minuto que puede ejecutar el sistema mientras ejecuta las otras ejecutar el sistema mientras ejecuta las otras cuatro transacciones.cuatro transacciones.
TPC-C ResultadosTPC-C ResultadosCompañíaSistemaProcesosBDMSSistema OperativoMonitor de transaccionesCosto total del sistemaDesempeño TPC-CPrecio / Desempeño
XZ4
Microsoft SQLWindows XP
Microsoft COM+$US 445747
34600$US 12,89
TPC-H y TCP-RTPC-H y TCP-R TPC-H: Es un benchmarkTPC-H: Es un benchmark de soporte a la decisión. de soporte a la decisión.
Consta de un conjunto consultas (Consta de un conjunto consultas (queriesqueries) ) específicas, orientadas a la actividad comercial.específicas, orientadas a la actividad comercial.
TPC-R: es similar a TPC-R: es similar a TPC-H TPC-H pero permite pero permite optimizaciones adicionales basadas en el optimizaciones adicionales basadas en el conocimiento de las consultas.conocimiento de las consultas.
Se diferencian en las reglas de implementación , ya Se diferencian en las reglas de implementación , ya que mientras TPC-H limita el uso de índices y que mientras TPC-H limita el uso de índices y esquemas de particiones, TPC-R no limita el uso de esquemas de particiones, TPC-R no limita el uso de estas estructuras en la base de datos.estas estructuras en la base de datos.
TCP-WTCP-W La carga de trabajo se configura en un La carga de trabajo se configura en un
entorno de comercio que simula las entorno de comercio que simula las actividades de un servidor de actividades de un servidor de WEB WEB orientado a orientado a las transacciones comerciales.las transacciones comerciales.
El sistema provee características como El sistema provee características como búsqueda, detalle de productos, etc.búsqueda, detalle de productos, etc.
Cada producto tiene asociada una descripción Cada producto tiene asociada una descripción y una imagen de 5KB.y una imagen de 5KB.
Pueden existir 1000,10000,100000,1000000 o Pueden existir 1000,10000,100000,1000000 o 10000000 productos10000000 productos
TCP-WTCP-W El sitio debe mantener una base de datos El sitio debe mantener una base de datos
con información de los clientes, productos con información de los clientes, productos en el catalogo, ordenes y transacciones de en el catalogo, ordenes y transacciones de tarjeta de crédito.tarjeta de crédito.
Este Benchmarck clasifica las interacciones Este Benchmarck clasifica las interacciones en 2 tipos:en 2 tipos:1.1. NavegaciónNavegación2.2. OrdenOrden
TCP-WTCP-W Especifica 3 tipos de secciones:Especifica 3 tipos de secciones:
1.1. Navegación: Navegación: 95% navegación – 5% 95% navegación – 5% ordenorden
2.2. Compras: Compras: 80% navegación – 80% navegación – 20% orden20% orden
3.3. OrdenesOrdenes 50% navegación – 50% 50% navegación – 50% ordenorden
Tiene 2 métricas de desempeño:Tiene 2 métricas de desempeño:1.1. ProductividadProductividad2.2. Costo / productividadCosto / productividad
TPC-WTPC-W El desempeño se mide en WIPS y es el El desempeño se mide en WIPS y es el
número de transacciones completadas en 1 número de transacciones completadas en 1 segundo cuando la sección es de tipo segundo cuando la sección es de tipo comprascompras
Existen 2 métricas secundariasExisten 2 métricas secundarias1.1. WIPSbWIPSb2.2. WIPSoWIPSo
La métrica con respecto al costo se mide La métrica con respecto al costo se mide $/WIPS que relaciona el costo total del $/WIPS que relaciona el costo total del sistema con los WIPS.sistema con los WIPS.
TPC-W ResultadosTPC-W ResultadosCompañíaSistemaEscalaProcesosBDMSSistema OperativoServidor HTTPBalanceador de cargaIngeniería de BúsquedaCosto total del sistemaDesempeño TPC-WPrecio / Desempeño
XZ
100004
Microsoft SqlWindows XPWindows IIS
Microsoft Dns serverMicrosoft Sql server FT
search$US 211214
3130$US 67,50
Pruebas de Pruebas de DesempeñoDesempeño
El Principal propósito de ejecutar pruebas de El Principal propósito de ejecutar pruebas de desempeño es entender el desempeño bajo desempeño es entender el desempeño bajo cargas especificas de trabajocargas especificas de trabajo
Las pruebas de desempeño pueden ser usadas Las pruebas de desempeño pueden ser usadas en cualquier punto de la implementación del en cualquier punto de la implementación del sistema.sistema.
Las pruebas deben ser planeadas con tiempo, Las pruebas deben ser planeadas con tiempo, para no perder tiempo si se descubren fallas para no perder tiempo si se descubren fallas cuando es implementada.cuando es implementada.
Tipos de Pruebas de Tipos de Pruebas de desempeñodesempeño
Existen 3 tipos de pruebas caracterizadas Existen 3 tipos de pruebas caracterizadas por la intensidad de la carga generadapor la intensidad de la carga generada1.1. Prueba de cargaPrueba de carga2.2. Prueba de StressPrueba de Stress3.3. Pruebas de PuntaPruebas de Punta
Metodología para la prueba de Metodología para la prueba de desarrollodesarrollo
Definir los objetivos de la prueba
Entender el ambiente
Especificar el plan
Definir la carga de trabajo
Configurar el ambiente
Ejecutar la prueba
Analizar los resultados
Modelos de Modelos de desempeño desempeño a nivel de a nivel de
sistemassistemas
IntroducciónIntroducción
Es desarrollado en distintos niveles.Es desarrollado en distintos niveles.Es modelado como una caja negra.Es modelado como una caja negra.Los detalles internos no son modelados explícitamente.Los detalles internos no son modelados explícitamente.Solo se considera la función de throughput.Solo se considera la función de throughput.
Modelo simple servidor cola Modelo simple servidor cola infinitainfinita
Se considera un servidor Web accesible por una gran Se considera un servidor Web accesible por una gran cantidad de personas. (Población)cantidad de personas. (Población)Empresas con varios servidores.Empresas con varios servidores.Para mayor simplicidad – carga balanceada.Para mayor simplicidad – carga balanceada.Tasa de llegada de Tasa de llegada de peticiones/sec. peticiones/sec.No se rechaza ninguna petición.No se rechaza ninguna petición.Flow in = Flow out.Flow in = Flow out.
Modelo simple servidor cola Modelo simple servidor cola infinitainfinita
Modelo simple de servidor Modelo simple de servidor Cola FinitaCola Finita
Existen W peticiones rechazadas.Existen W peticiones rechazadas.
Modelo simple de servidor Modelo simple de servidor Cola FinitaCola Finita
Otros modelos a nivel de Otros modelos a nivel de sistemassistemas
Haciendo una generalización de los Haciendo una generalización de los modelos anteriores, aparecen nuevas modelos anteriores, aparecen nuevas alternativas, considerando 3 nuevas alternativas, considerando 3 nuevas dimensiones:dimensiones:
Tamaño de la poblaciónTamaño de la poblaciónRitmo de servicioRitmo de servicioTamaño máximo de la colaTamaño máximo de la cola
Modelo de Modelo de población infinitapoblación infinita
Son representados por ambientes WWW.Son representados por ambientes WWW.N de usuarios potencialmente largo.N de usuarios potencialmente largo.
Ritmo de servicio variable Ritmo de servicio variable con tamaño de cola infinita.con tamaño de cola infinita.
Ritmo de servicio variable y Ritmo de servicio variable y cola con tamaño limitadocola con tamaño limitadoPeticiones rechazadasPeticiones rechazadasCuidados especiales en su implementación.Cuidados especiales en su implementación.Fácil de producir overflows o underflows.Fácil de producir overflows o underflows.
Modelo de Modelo de población finitapoblación finita
Z = tiempo de pensamiento.Z = tiempo de pensamiento.La tasa promedio de peticiones generadas en el La tasa promedio de peticiones generadas en el sistema es representada por 1 / Z Pet/sec.sistema es representada por 1 / Z Pet/sec.
Ritmo fijo de servicio y cola Ritmo fijo de servicio y cola ilimitada.ilimitada.
Se considera que la velocidad de servicio del Se considera que la velocidad de servicio del servidor es fija.servidor es fija.M peticiones.M peticiones.Por lo general se utiliza para solucionar problemas Por lo general se utiliza para solucionar problemas matemáticos con grandes valores.matemáticos con grandes valores.Ej. 200!Ej. 200!
Modelo de rendimiento a Modelo de rendimiento a nivel de componentes , nivel de componentes ,
REPASO APLICADOREPASO APLICADO
IntroducciónIntroducción
Aquí se caracterizan por su función de Aquí se caracterizan por su función de throughput X(n), donde n representa la carga del throughput X(n), donde n representa la carga del sistema en términos del número de peticiones del sistema en términos del número de peticiones del sistema, y se denominan Qn.sistema, y se denominan Qn.
Red de gestión de Red de gestión de colascolas
Petición espera en la cola el uso de un recurso.Petición espera en la cola el uso de un recurso.S(n) tiempo promedio de servicio por petición. S(n) tiempo promedio de servicio por petición.
Red de gestión de colas clase Red de gestión de colas clase simplesimple
Ri = tiempo promedio de respuestaRi = tiempo promedio de respuesta i = colai = colaSi = tiempo promedio de servicio.Si = tiempo promedio de servicio.
El tiempo de respuesta promedio en una cola es El tiempo de respuesta promedio en una cola es igual al tiempo de servicio promedio más el tiempo igual al tiempo de servicio promedio más el tiempo de espera promedio de la solicitud.de espera promedio de la solicitud.El máximo valor de El máximo valor de es limitada por el recurso con el es limitada por el recurso con el valor más alto de demanda de servicio. (Cuello de valor más alto de demanda de servicio. (Cuello de botella de recurso).botella de recurso).
Red de gestión de colas Red de gestión de colas clase múltipleclase múltiple
Es una generalización del modelo anterior.Es una generalización del modelo anterior.Trabaja con vectores.Trabaja con vectores.
Modelos cerradosModelos cerrados
Existe un número limitado de peticiones en el Existe un número limitado de peticiones en el sistema.sistema.
Método para resolverlos es a través de MVA Método para resolverlos es a través de MVA (mean value analisis).(mean value analisis).
Modelo cerrado de Modelo cerrado de clase simpleclase simple
MVA esta basado sobre recursividad usando 3 MVA esta basado sobre recursividad usando 3 ecuaciones:ecuaciones:La ecuación de tiempo de residenciaLa ecuación de tiempo de residenciaLa ecuación de rendimientoLa ecuación de rendimientoLa ecuación de largo de cola.La ecuación de largo de cola.
Modelo cerrado Modelo cerrado clase múltiple.clase múltiple.
Similar al anteriorSimilar al anteriorExiste un número fijo de peticiones, Nr, por cada Existe un número fijo de peticiones, Nr, por cada clase en el sistema.clase en el sistema.Es representado por un vector intensidad de carga.Es representado por un vector intensidad de carga.
Modelamiento Modelamiento IntranetIntranet
Modelamiento Modelamiento IntranetIntranet
Es necesario modelar la red de gestión de colas de la intranet. Es necesario modelar la red de gestión de colas de la intranet. Para esto es necesario realizar los siguientes pasos.Para esto es necesario realizar los siguientes pasos.
1 - Decidir la meta del rendimiento del modelado. 1 - Decidir la meta del rendimiento del modelado.
2 - Decidir qué tipo de modelo, lo que es, abierto o cerrado, se van 2 - Decidir qué tipo de modelo, lo que es, abierto o cerrado, se van a utilizar. a utilizar.
3 - Determinar el número de clases del modelo y lo que 3 - Determinar el número de clases del modelo y lo que representan. representan.
4 - Decidir cómo los componentes del sistema serán asignadas en 4 - Decidir cómo los componentes del sistema serán asignadas en las colas y decidir sobre el tipo de colas se utilizan para las colas y decidir sobre el tipo de colas se utilizan para representar cada componente. representar cada componente.
5 - Calcular el servicio de las demandas de cada cola y cada clase. 5 - Calcular el servicio de las demandas de cada cola y cada clase.
6 - Determinar el número de solicitudes por clase de modelos 6 - Determinar el número de solicitudes por clase de modelos cerrados y la tasa media de solicitudes de modelos abiertos.cerrados y la tasa media de solicitudes de modelos abiertos.
Modelos de desempeño Modelos de desempeño WebWeb
•Caso especial de modelamiento:Caso especial de modelamiento:
Adición de nuevas características.Adición de nuevas características.Traffic burstiness.Traffic burstiness.Heavy-tails.Heavy-tails.
Modelos del lado del cliente.Modelos del lado del cliente.Modelos sin cache-proxy.Modelos sin cache-proxy.Modelos con cache-proxy.Modelos con cache-proxy.
Modelos del lado del servidor.Modelos del lado del servidor.Servidor únicoServidor únicoServidores redundantes.Servidores redundantes.
Modelos de desempeño Modelos de desempeño WebWeb
•Los servicios Web son un tipo especial de sistema Los servicios Web son un tipo especial de sistema distribuido y para plantear un modelo de desempeño distribuido y para plantear un modelo de desempeño
valido, se debe modificar para dar cabida a los nuevos valido, se debe modificar para dar cabida a los nuevos factores.factores.
Traffic burstinessTraffic burstiness
Se entiende “burst” como un flujo masivo de peticiones.Se entiende “burst” como un flujo masivo de peticiones.
Este torrente masivo de peticiones va generando una Este torrente masivo de peticiones va generando una congestión acumulativa en los recursos del sistema.congestión acumulativa en los recursos del sistema.
Considerar este parámetro, hace imperiosa la necesidad Considerar este parámetro, hace imperiosa la necesidad de modificar la demanda del servicio, el componente de modificar la demanda del servicio, el componente cuello de botella utilizando un cuello de botella utilizando un factor de burstiness.factor de burstiness.
Traffic burstinessTraffic burstiness•Calculo del factor de Calculo del factor de burstinessburstiness::
Utilizando un registro de peticiones HTTP con las Utilizando un registro de peticiones HTTP con las peticiones en un tiempo T, se calcula el promedio de peticiones en un tiempo T, se calcula el promedio de peticiones peticiones λλ..El tiempo T es dividido en n intervalos iguales y cada El tiempo T es dividido en n intervalos iguales y cada intervalo es llamado epoch (época).intervalo es llamado epoch (época).Luego se contabiliza el número de peticiones de epoca Luego se contabiliza el número de peticiones de epoca por sobre y bajo el promedio por sobre y bajo el promedio λ.λ.Finalmente, se divide el número de epocas que exceden Finalmente, se divide el número de epocas que exceden el promedio λ dividido por el número de epocas en total n.el promedio λ dividido por el número de epocas en total n.
Traffic burstingTraffic bursting
•El El throughputthroughput total del sistema disminuye si el factor de total del sistema disminuye si el factor de burstinessburstiness aumenta. aumenta.
•No toda la demanda de servicio esta sujeto al efecto del No toda la demanda de servicio esta sujeto al efecto del factor de factor de burstinessburstiness..
Heavy-tailsHeavy-tails
La necesidad de este modelo radica en que se espera que La necesidad de este modelo radica en que se espera que en un servicio Web exista un gran porcentaje de en un servicio Web exista un gran porcentaje de peticiones HTTP para documentos de pequeño tamaño y peticiones HTTP para documentos de pequeño tamaño y un menor porcentaje para documentos de gran tamaño, un menor porcentaje para documentos de gran tamaño, volviéndose estadísticamente poco significativo.volviéndose estadísticamente poco significativo.
El modelo de El modelo de heavy-tails heavy-tails lo soluciona utilizando un lo soluciona utilizando un modelo de red de colas multiclases asociadas al tamaño modelo de red de colas multiclases asociadas al tamaño del documento. El ritmo de peticiones se evalua por grupo del documento. El ritmo de peticiones se evalua por grupo de documentos.de documentos.
Modelos del lado del Modelos del lado del ClienteCliente
•Estos modelos se construyen con el objetivo de responder Estos modelos se construyen con el objetivo de responder preguntas tales como la ancho de banda que se necesita preguntas tales como la ancho de banda que se necesita para utilizar el servicio correctamente o si es mejor utilizar para utilizar el servicio correctamente o si es mejor utilizar un cache-proxy.un cache-proxy.
Modelos del lado del Modelos del lado del ClienteCliente
•Diagrama de red de cliente normal y con un proxy-cache Diagrama de red de cliente normal y con un proxy-cache como intermediario.como intermediario.
Modelos del lado del Modelos del lado del ClienteCliente
•Variantes del sistema de colas Qn normal y con cache-Variantes del sistema de colas Qn normal y con cache-proxy como intermediario.proxy como intermediario.
Modelos del lado del Modelos del lado del servidorservidor
•Estos modelos se construyen con el objetivo de responder Estos modelos se construyen con el objetivo de responder preguntas tales como cual debe ser el ancho de banda de preguntas tales como cual debe ser el ancho de banda de conexión a Internet para que el servicio Web sea de una conexión a Internet para que el servicio Web sea de una calidad aceptable, la compañía debería instalar servidores calidad aceptable, la compañía debería instalar servidores redundantes, si es así cuantos de ellos, si es recomendable redundantes, si es así cuantos de ellos, si es recomendable un cluster con muchos servidores de bajo rendimiento o si un cluster con muchos servidores de bajo rendimiento o si es recomendable unos pocos servidores de alto es recomendable unos pocos servidores de alto rendimiento, etc.rendimiento, etc.
Modelos del lado del Modelos del lado del servidorservidor
•Diagrama de modelos del lado del clienteDiagrama de modelos del lado del cliente•(a) servidor único (b) servidores espejo.(a) servidor único (b) servidores espejo.
Modelos del lado del Modelos del lado del servidorservidor
•Modelo de colas Qn enModelo de colas Qn en•(a) servidor único (b) servidores espejo.(a) servidor único (b) servidores espejo.
Modelo de servidor Modelo de servidor únicoúnico
•El modelo de colas cerrado Qn usado para un servidor El modelo de colas cerrado Qn usado para un servidor único se puede describir como:único se puede describir como:
•Cola 1 y 6: representa los links de entrada y salida del Cola 1 y 6: representa los links de entrada y salida del router a la conexión del ISP (se asume que la conexión es router a la conexión del ISP (se asume que la conexión es
full duplex).full duplex).•Delay 2: representa el router por su pequeña latencia Delay 2: representa el router por su pequeña latencia
comparada con los otros elementos.comparada con los otros elementos.•Cola 3: representa la LAN y es independiente de la carga.Cola 3: representa la LAN y es independiente de la carga.
•Cola 4: representa la CPU del servidor.Cola 4: representa la CPU del servidor.•Cola 5: representa el disco del servidor.Cola 5: representa el disco del servidor.
Modelo de servidor con Modelo de servidor con mirrorsmirrors
•El modelo de servidor con mirrors se diferencia del El modelo de servidor con mirrors se diferencia del servidor único principalmente en que la demanda de servidor único principalmente en que la demanda de
servicio de la CPU y discos se divide en n (asumiendo que servicio de la CPU y discos se divide en n (asumiendo que se balancea la carga equitativamente).se balancea la carga equitativamente).
•El tiempo promedio de servicio no cambia por el numero El tiempo promedio de servicio no cambia por el numero de servidores Web.de servidores Web.