Redes de Ordenadores. Teoría de Colas. Rafael Estepa Alonso Universidad de Sevilla Índice del Tema 02 2.1 Introducción a las Prestaciones en las redes de Ordenadores 2.1.1 Introducción a los indicadores de prestaciones y los SLA 2.1.2 Modelo simple del retardo en una red de conmutación de paquetes 2.1.3 Enfoques para la evaluación de prestaciones 2.2 Modelos de Colas 2.2.1 Modelos de Colas 2.2.2 Fórmula de Little 2.3 El proceso de Poisson 2.3.1 Propiedades b´asicas 2.3.2 Caracterización 2.3.3 Adición y división de procesos de Poisson 2.3.4 propiedad PASTA 2.4 Sistemas sin pérdida M/M/1: modelo básico de multiplexor 2.4.1 Procesos de nacimiento y muerte 2.4.2 Prestaciones en un sistema M/M/1 2.5 Sistemas con pérdida M/M/1/L 2.6 Introducción a las redes de colas: redes de Jackson 2.7 Fuentes on-off e introducción al modelo de Fluidos 2.7.1 Modelo de una fuente on-off 2.7.2 Introducción a la multiplexión de fuentes on-off 2.7.3 Solución para colas de tamaño finito 2.7.4 Solución para colas de tamaño infinito 2.8 Dimensionamiento 2.8.1 Dimensionamiento con el modelo de fluidos 2.8.3 Dimensionamiento con el modelo del ancho equivalente de Guerin 2 Introducción a las Redes de Ordenadores 2.1 Introducción a las Prestaciones en las redes de Ordenadores 2.1.1 Introducción a los indicadores de prestaciones y los SLA 2.1.2 Modelo simple del retardo en una red de conmutación de paquetes 2.1.3 Enfoques para la evaluación de prestaciones Introducción a los indicadores de prestaciones Definen métricas con las que medir el nivel de prestaciones que la red De interés para El usuario de la red (orientados al servicio … usados en SLAs) Ejemplos: tiempo de respuesta, disponibilidad, corrección, etc.. Los ingenieros que trabajan en la red (orientados a la eficiencia) Ejemplos: utilización, throughput (caudal) paquetes por segundo, número de paquetes en tránsito, retardo medio de los paquetes, etc.. 4 Indicadores orientados al usuario Disponibilidad Porcentaje de tiempo que un sistema o servicio (p.e red, componente de red o una aplicación) se encuentran disponibles para un usuario Importancia según el ámbito de aplicación (banco, peaje, etc..) Fiabilidad Probabilidad de que un componente funcione correctamente bajo unas condiciones específicas MTBF: tiempo medio entre fallos MTTR: tiempo medio en reparación (influye el tiempo hasta la detección y la política de mantenimiento) Modelo simple de la disponibilidad (ideal) Disponibilidad – A = MTBF / (MTBF + MTTR) X X X 5 Indicadores orientados al usuario Disponibilidad de un sistema Depende de la disponibilidad de los componentes y de la disposición de los mismos A2 Sistemas en serie A Sistemas en paralelo A A 1-(1-A)(1-A) A Modelos mas complejos se pueden descomponer en modelos simples 6 Ejercicio: redundancia para mejorar la disponibilidad Una empresa tiene un servidor web conectado a Internet por un enlace con su ISP. Se plantea la posibilidad de duplicar su servidor y los enlaces de acceso a Internet .. Si todos los elementos tienen una disponibilidad A=0.2 . Calcule la disponibilidad en ambos casos 7 Tiempo de Respuesta Es el tiempo que tarda un sistema en reaccionar ante una entrada Ejemplo: tiempo desde que se pulsa un comando hasta que aparece en la pantalla la respuesta (transacción) Puede afectar gravemente en aplicaciones interactivas Suele estar relacionado con el nivel de congestión de la red Su medida se puede basar en el tiempo entre transacciones. El tiempo entre transacciones tiene dos factores Tiempo de Respuesta del usuario Desde que el usuario recibe una respuesta hasta que inicia la siguiente transacción Tiempo de respuesta del sistema Tiempo entre que el usuario introduce el comando y el momento en el que la respuesta es reproducida completamente en el terminal – Influye el tiempo de ida y vuelta (RTT) y el tiempo del servidor En un sistema que representa una cola es el tiempo de espera en cola mas el tiempo de servicio 8 Tiempo de respuesta y modelo simple del retardo Modelo del retardo: componentes Terminales (S.O., CPU, carga, etc… suele ser pequeño) Subred de acceso (ethernet, … pequeño) Red (dependiendo .. Suele ser el mayor) Retardo extremo a extremo: Suele considerarse igual en ambos sentidos (no tiene por qué) Puede descomponerse como la suma de todos los retardos que acumulan los paquetes en su camino desde origen hasta destino SVQ 1Gbps MAD 10 Gbps NYC 9 Pérdidas de Paquetes y Corrección El porcentaje de tiempo que no ocurren errores en la transmisión y entrega de la información Transmisión libre de errores Errores en los datos entregados, o paquetes no entregados (pérdidas) La pérdida de paquetes (su valor medio) puede ocurrir por desbordamiento en las colas de los multiplexores, errores en los dispositivos, etc… Soluciones Mecanismos de checksum en cada paquete En los extremos, TCP garantiza una transferencia fiable Aunque la pérdida de paquetes afecta severamente a las prestaciones El tráfico UDP no tiene mecanismos de retransmisión Aunque podríamos implementar un control de errores a nivel de aplicación 10 Throughput o Caudal Definición formal: volumen de trabajo o información que pasa a través de un sistema o proceso Es la tasa a la que los eventos ocurren P.e. transacciones por segundo, llamadas cursadas por segundo, bits o paquetes por segundo que cruzan un sistema, etc.. El throughput de una red es el ancho de banda de una red Número de bits que pueden ser transmitidos sobre la red en un periodo de tiempo Mas específico: ancho de banda de un enlace o porción del mismo que se reserva para un usuario ¿Caudal de la red entre extremos? ¿Caudal del nodo? 100Mbps 1Mbps 2Mbps 100Mbps 11 Enfoques para valorar las prestaciones Enfoque analítico P.e. cálculo del retardo medio o la probabilidad de desbordamiento en un buffer suponiendo un patrón de llegadas y de servicio determinado Objeto de este tema Enfoque de simulación Refinamiento del modelo analítico. Simuladores de eventos discretos. Presenta una evolución temporal Sistemas mas complejos: captura del tráfico de aplicaciones, protocolos y modelos comerciales, trayectorias móviles, etc… Ejemplo: OPNET, ns Medidas en la red real o en una maqueta Siempre que sea posible Refina las simulaciones (posibles errores y elementos no ideales) En cualquier caso: Necesito contar con indicadores o métricas que midan las prestaciones que ofrece la red al usuario !! 12 Introducción a las Redes de Ordenadores 2.1 Introducción a las Prestaciones en las redes de Ordenadores 2.1.1 Introducción a los indicadores de prestaciones y los SLA 2.1.2 Modelo simple del retardo en una red de conmutación de paquetes 2.1.3 Enfoques para la evaluación de prestaciones Acuerdo de nivel de servicio (SLA) Es una parte de un contrato de servicio entre cliente y proveedor donde se especifica formalmente el nivel de servicio que va a recibir el cliente P.e. acceso ADSL, interconexión de LANs remotas, etc.. Para la descripción de las prestaciones de la red usa parámetros de prestaciones como los vistos anteriormente Debería Identificar a las partes Ofrecer un marco de entendimiento común, simplificando temas técnicos complejos Reducir las áreas de conflicto (servicios contratados, condiciones, garantías, ..) P.e. especifica niveles de servicio (disponibilidad de la red, de los servicios, prestaciones u otros atributos del servicio como la facturación) También especifica las penalizaciones en caso de incumplimiento Eliminar expectativas poco realistas 14 SLAs Métricas comunes (indicadores de prestaciones) Las vistas anteriormente: disponibilidad del servicio, retardos, variaciones del retardo, pérdida de paquetes, etc… Suelen ser parecidas entre distintos proveedores de servicios similares Es necesaria su comparación para el estudio del mejor SLA Dependiendo del servicio, se pueden usar otras métricas En general suele definirse el indicador de prestaciones en el propio SLA Ejemplo: call-center – – – – % llamadas abandonadas mientras esperan Tiempo medio hasta que se comienza a atender a una llamada entrante % de llamadas atendidas en varios periodos (distribución; p.e. 10% en 10s) % de llamadas que pueden ser atendidas satisfactoriamente 15 Caso práctico Empresa ACME S.L. quiere cubrir sus necesidades de acceso a Internet en la sede principal y una conexión segura con los usuarios de 10 sedes remotas Solución propuesta (incluye mantenimiento de equipos) Conexión Internet: caudal Datos-Internet de 10Mbps. Conexión con sedes remotas: ADSL VPN IP caudal 2Mbps SEDE CENTRAL Red Tránsito Nacional (IP/MPLS) ... Acceso ADSL (Básico 1M/300Kbps) 2Mbps SEDE REMOTA (VPN) RS100 100Mbps 10Mbps Datos-Internet Caudal MAN 20 Mbps Acceso LAN ADSL 10Mbps Red MAN POP Sevilla Básico 1M/300K Internet (ethernet 100Mbps) 16 Calidad del Servicio VPN IP Sección 4 del contrato … “Este buen funcionamiento se realiza en base a unos parámetros objetivos que miden diversas características del servicio. Los SLA acotan los valores de estos parámetros normalmente en términos de valores máximos, mínimos o valores medios” “Mensualmente se informará al cliente del cumplimiento o incumplimineto de los SLA. En caso de incumplimiento se concederá al cliente una compensación económica en forma de Bonos de Servicio a descontar de la siguiente factura del mismo” Reglas generales: la penalización por incumplimiento prescribe al año, la penalización nunca podrá superar el 50% de la cuota mensual, la penalización sólo se produce sobre conceptos facturados, etc… 17 Calidad del Servicio VPN IP Clases de tráfico: plata, oro, multimedia Posibilidad de dispensar trato en el reenvío en función de la clase Contrato de un porcentaje de cada clase Indicadores de prestaciones para el servicio Disponibilidad de Oficina Disponibilidad Global Pérdida de paquetes Retardo de tránsito en red IP Jitter (variación del retardo) Tiempo de respuesta a averías Tiempo de resolución de incomunicaciones Tiempo de reparación de averías Para cada indicador se proporciona su definición, forma de calcularlo, valores comprometidos y penalizaciones 18 Calidad del Servicio VPN IP Ejemplo: disponibilidad de oficina Definición % de tiempo mensual que la comunicación de la oficina dentro de la VPN esta operativa (se medirá de forma individualizada por oficina) Cálculo Se calcula sumando los tiempo s de incomunicación de las averías del cliente (datos del CAC) – Disponibilidad mensual Oficina (i) = (Ttot – T nodisponib.) / Ttot * 100 Compromiso SLA Oficina ADSL sin respaldo … 98,5% Oficina acceso dedicado … 99,2% Penalización (por oficina) Bono descuento sobre cuota mensual Desviación (compensación) – < 0,1% (1,5%) – 0.1% < x < 0,3% (3%) – >0,3% (4,5%) Disponibilidad Global: suma de todas las oficinas Acceso ADSL (Básico 1M/300Kbps) SEDE REMOTA (VPN) ADSL Básico 1M/300K 19 Calidad del Servicio VPN IP Ejemplo: pérdida de paquetes Definición Garantía de que el valor de pérdida de paquetes en la red de TDE se encuantra por debajo de un valor máximo para cada clase de servicio contratada Cálculo Se mide como el valor medio máximo diario de los porcentajes de paquetes perdidos entre los nodos de la red IP de TDE. Se corresponde con el valor mas alto de la pérdida de paquetes entre nodos. Se calcula como la media aritmética de todos los valores medidos (por clase de servicio) Compromiso SLA: pérdida diaria de paquetes – Clase Plata (<0.9%) – Clase Oro (<0.8%) – Clase Multimedia (<0.7%) Días que TDE debe cumplir estos valores: 60% (para cualquier clase) Penalización Desviación (compensación, cuota mensual del caudal) – – – – < 0,1% (1%) 0.1% < x < 1% (5%) 1% <x <5% (10%) >5% (20%) 20 Calidad del Servicio VPN IP Ejemplo: retardo de tránsito en Red IP Definición Tiempo de transmisión medio en milisegundos entre los nodos de la red – Se considera como tiempo de transmisión el tiempo de ida y vuelta (RTT) de un paquete de prueba – Concepto global para la red … depende de la red y no de cliente por lo que existirá un valor único para todos los clientes Cálculo Se excluyen del cálculo los tiempos de las líneas de acceso y los retardos relativos a los periodos programados de mantenimiento y actualización. El sistema de Gestión de Red realizará medidas periódicas de retardo entre los distinots nodos de la red IP, generando una tabla con los resultados. Diariamente se calcula la media aritmética para obtener un valor único para cada clase de servicio. Compromiso SLA: pérdida diaria de paquetes – Clase Plata (<50ms) – Clase Oro (<35ms) – Clase Multimedia (<30ms) Días que TDE debe cumplir estos valores: 60% (para cualquier clase) Penalización Desviación (compensación): 6% cuota mensual caudal Jitter: clase multimedia, medidas periódicas. <10ms. Sin penalización 21 Calidad del Servicio Datos-Internet Caudal Garantizado de 10Mbps simétrico (central o agregado) Conexión: acceso Ethernet a la red TDE (Ethernet 100Mbps) Coneptos Previos: Caudal Internet: conexión directa con Internet – Redundancia: backup o reparto de carga … contratación de varios caudales Indicadores de Prestaciones Disponibilidad del servicio % tiempo mensual que el caudal se encuentra operativo (99,3%) Retardo y pérdida de paquetes en ámbito nacional (indep. del caudal) Valor máximo garantizado en red IP nacional (30mseg, 1%) Retardo … medidas diarias del sistema de gestión Pérdidas: %PL en los PoPs diariamente Retardo y pérdida de paquetes en ámbito internacional Medidas del sistema de gestión y con los nodos EE.UU. Y Europa – (EU: 85 ms, 1%, EE.UU. 115ms, 1%) PoP Tiempo máximo de resolución de intercomunicaciones 22 Resumen Las prestaciones de la red son importantes Los indicadores de prestaciones nos permiten cuantificarlas Orientados al usuario Orientados a los ingenieros de red Los usuarios del servicio de la red y los propietarios de la red deben establecer acuerdos donde se especifican las prestaciones que la red se compromete a cumplir para el tráfico de los usuarios SLAs Existen varios enfoques para la valoración de prestaciones Analítico Simulación Mediciones SLA 23 Redes de Ordenadores 2.2 Modelos de Colas 2.2.1 Introducción a los modelos de Colas 2.2.2 Notación de Kendall Teoría de Colas Estudia el comportamiento de sistemas donde existe un conjunto limitado de recursos para atender las peticiones generadas por los usuarios Ejemplos de tales sistemas: cucherría, restaurante, centralita telefónica, conmutador de paquetes C (36kbps) C (72kbps) 12 11 11 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 t t 25 Modelo de Colas Sistema bajo estudio Servidores Proceso de LLegadas Proceso de Salidas Población o Fuente Cola Ejemplo: Identificar algunos componentes del sistema en los siguientes casos: médico, supermercado, cafetería, router 26 Componentes del Sistema Patrón de Llegadas Proceso Tiempo entre llegadas:Xi son i.i.d. X λ= 1/E[X], tasa de llegadas. Tiempo de Servicio Proceso Tiempo de Servicio: Si son i.i.d. S µ = 1/E[S] S = L (u.s.) / C (u.s./s) Disciplina de Cola Acceso a los recursos del sistema FCFS,SJF,LCFS,RR,… Con/Sin apropiación Con/Sin pérdidas (sistemas No conservativos) Número de Servidores Capacidad máxima de la Cola Tamaño de la Fuente (infinito => llegadas independitentes) 27 Ejercicio Considerar la secuencia de tiempos de llegada ζi = {1,3,4,16,17}seg y la correspondiente secuencia de tiempos de servicio S={5,6,2,3,1} (donde hemos supuesto C=1us/ut y el sistema inicialmente vacío). Calcular E[X] y E[S] y λ , µ ¿Es el sistema estable? 28 Notación de Kendall Permite especificar las características de un sistema de colas A/B/m/k/N/Z Donde A es la distribución de la v.a. tiempo entre llegadas B es la distribución de la v.a. del servicio demandado Para A y B se usan ciertos símbolos que representan distribuciones conocidas: M (exponencial), U(Uniforme), D(determinista), G(General, arbitraria), Hk (hiperexponencial de k niveles), Ek (Erlang), etc… m número de recursos (servidores) k numero máximo de tareas en el sistema (capacidad del sistema) infinito si no se especifica N es el tamaño de la población infinito si no se especifica Z es la disciplina de gestión de la cola Ejemplo: M/G/3/15/inf./LCFS 29 Resumen Teoría de Colas Sistema de colas, componentes Proceso de Llegada Tiempo de servicio Disciplina de Cola Número de Servidores Capacidad Máxima de la cola Tamaño de la fuente Notación de Kendall A/B/m/k/N/Z (p.e.M/G/3/15/inf./LCFS) 30 Ejercicio Suponiendo que los nodos generan el patrón de tráfico mostrado en la figura Dibuje la ocupación del enlace de salida C (36kbps) 6 4 2 C (72kbps) 5 3 12 11 7 11 10 9 10 9 8 7 6 5 4 3 2 t 1 8 7 6 5 4 3 2 1 t ¿cuál es el tiempo medio de espera en cola que sufren los paquetes? Si el patrón de tráfico se repite periódicamente cada 10 i.t. ¿qué porcentaje de tiempo esta ocupado el enlace de salida? ¿qué tamaño de cola necesitamos para que no haya pérdidas? 31 Solución Solución C (36kbps) 6 4 2 ocupado 80% (57.6 kbps media) C (72kbps) 5 3 12 11 7 11 10 9 1 8 7 6 5 4 3 4 3 2 1 7 6 5 2 Tamaño buffer para almacenar el paquete 7 1 t 10 9 8 7 6 5 4 3 2 t #PAQ t_arriv t_serv t_out W 1 2 2 2.5 0 2 3 3 3.5 0 3 4 4 5.5 0 4 5 5.5 6.5 0.5 5 8 8 9.5 0 6 9 9.5 10.5 0.5 7 10 10.5 12 0.5 32 Variables de Interés en un sistema de Colas Sistema bajo estudio N = NS +Q Proceso de LLegadas Población o Fuente Cola λ W Q S T = W+S Variables de Interes general en el sistema: (usuario) Número de procesos (usuarios o tareas) en el sistema: N(t) Número de procesos en la cola del sistema: Q(t) Tiempo de tránsito (tiempo de respuesta): Tn Tiempo de espera en cola: Wn 33 Variables de Interés en un sistema de Colas Sistema bajo estudio Servidores Proceso de LLegadas Población o Fuente λ Bλ Proceso de Salidas λ Cola U(t) Otras Variables de Interés en los sistemas de colas: (gestor) Intensidad de Tráfico: I=E[X]/E[S] (Erlang). No saturación: λ<mµ Para cada servidor: Ij = I/m (equiprobables) Factor de Uso o Utilización: ρ = min(1,Ij) Throughput o caudal: = ρmµ (si es conservativo y no saturado = λ ) Probabilidad de bloqueo = (λ – Throughput) / λ Trabajo por hacer 34 Ejemplo Suponiendo que los nodos generan el patrón de tráfico mostrado en la figura, calcular el tiempo medio de espera en cola que sufren los paquetes al pasar por el router. C (36kbps) C (72kbps) 12 11 11 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 t t Cola 35 Ejercicio Considere la secuencia de tiempos de llegada τ={1,3,4,16,17} y la correspondiente secuencia de tiempos de servicio S={5,6,2,3,1}. Considerar el sistema inicialmente vacío. Para las disciplinas FCFS y SJF (no se expulsa al que esta siendo servido), se pide: Trazar el proceso trabajo por hacer U(t) para las dos disciplinas Dibujar lo que restar por estar en el sistema al proceso que esta en el servidor, indicando cuándo entra y cuándo sale del sistema Calcular el tiempo medio de espera en cola de los usuarios para ambas disciplinas Calcular λ , E[S] y la utilización. 36 Sol. ejercicio FCFS 6 5 4 3 2 2 1 1 4 3 1 3 4 1 2 3 6 12 5 14 16 19 20 4 5 t 4 5 1 2 3 37 Sol. ejercicio SJF 6 5 4 3 2 2 1 1 4 3 1 3 4 1 2 3 6 5 8 12 14 16 19 20 4 5 t 4 5 1 3 2 38 Fórmula de Little Relaciona valores medios en sistemas de colas donde no existe congestión (ni pérdidas) La tasa de entrada y salida de los clientes es la misma λ = λ Válido para cualquier sistema sin congestión independientemente de su proceso de llegadas o demanda de servicio Sea Ti el tiempo que pasa el cliente i en el sistema (cola + servicio) Sea E[T] el tiempo de tránsito medio de los clientes La primera fórmula de Little dice que λE[T] = E[N] La segunda fórmula de Little es una particularización para el sistema formado por la cola: Q= λ W T,N Proceso de LLegadas λ Q λ Proceso de Salidas λ W 39 Ejemplo Estimar el número de coches presentes en un tramo de carretera donde no hay congestión Estimo T preguntando a cada coche que salga cuánto tiempo ha tardado en atravesar el tramo Estimo λ calculando en un intervalo de tiempo el número de coches que salen del tramo Entonces, el número medio de coches en el tramo es λT 40 Resumen Variables de Interés en un Sistema de colas Número de procesos (usuarios o tareas) en el sistema Número de procesos en la cola del sistema Tiempo de tránsito (tiempo de respuesta) Tiempo de espera en cola Otras variables de interés Intensidad de Tráfico Factor de Uso o Utilización Throughput o caudal Probabilidad de bloqueo Trabajo por hacer Fórmula de Little Relación entre valores medios en un sistema sin congestión 41 Para ampliar Lecturas recomendadas Libros de la biliografía Hayes: sección 1.2 (approaches to performance evaluation) Peterson: sección 1.5 (Performance) León-García: Apéndice A (retardo y pérdida de prestaciones), 7.7.1 y 7.7.2 (colas FIFO y equitativas) Kumar: 2.1, 2.2.1 Próxima Clase El proceso de Poisson 42 Cuestiones para revisar lo aprendido ¿qué estudia la teoría de colas?¿por qué es importante? ¿para qué sirven las disciplinas de colas?¿podría aplicarse a las colas de salida de los enlaces de los nodos de interconexión? ¿Cuál es la diferencia entre el proceso de llegadas y el tiempo entre llegadas? ¿cómo afectara el número de servidores en la estabilidad del sistema? Ponga un ejemplo sobre cómo afecta la distribución del tiempo entre llegadas a la espera en cola de los usuarios Ponga un ejemplo sobre cómo afecta la distribución del tiempo de servicio a la espera en cola de los usuarios 43 FIN DE LA CLASE Preguntas ? 44 Sol. ejercicio FCFS 6 5 4 3 2 2 1 1 4 3 1 3 4 1 2 3 6 12 5 14 16 19 20 4 5 t 4 5 1 2 3 45 Sol. ejercicio SJF 6 5 4 3 2 2 1 1 4 3 1 3 4 1 2 3 6 5 8 12 14 16 19 20 4 5 t 4 5 1 3 2 46 Ejemplo 1 Llegan paquetes de longitud fija (4096 bits) a un concentrador con m líneas, cada una de 2048bps de capacidad. Sabiendo que el tiempo medio entre llegadas es 0.208 seg, responder: ¿cuántas líneas harán falta para que el sistema no este saturado? ¿cuál es el factor de uso y el throughput? Si quiero un factor de uso de 0.9 ¿qué puedo hacer? 47