Temas 5 y 6 6.263/16.37 Introducción a la teoría de colas Eytan Modiano MIT, LIDS Eytan Modiano Dispositiva 1 Redes conmutadas por paquetes Los mensajes se dividen en paquetes que se enrutan hacia su destino PS PS PS Red de paquetes PS PS PS Cola (buffer) PS Eytan Modiano Diapositiva 2 conmutación de paquetes Sistemas de colas • Se utilizan para analizar el rendimiento de las redes • En las redes de paquetes, los eventos son aleatorios: – – • Mientras en la capa física nos preocupaba la tasa de error de bits (BER), en la capa de red nos interesan los retardos: – – • ¿Cuánto tiempo espera un paquete en la cola? ¿Qué tamaño tienen las colas? En las redes conmutadas por circuitos queremos saber las probabilidades de que se produzca un bloqueo de llamada: – Eytan Modiano Diapositiva 3 Llegadas de paquetes aleatorias Tamaño de paquetes aleatorio ¿Cuántos circuitos son necesarios para limitar la probabilidad de bloqueo? Eventos aleatorios • Proceso de llegada: – – • Los paquetes llegan según un proceso aleatorio Generalmente, el proceso de llegada se modela como proceso de Poisson El proceso de Poisson: – Tasa de llegada de λ paquetes por segundo – Sobre un pequeño intervalo δ: P(exactamente una llegada) = λδ + ο(δ) P(0 llegadas) = 1 - λδ + ο(δ) P(más de una llegada) = 0(δ) donde 0(δ)/ δ −> 0 �� δ −> 0. – Se puede demostrar que: ( λT )n e −λT P(n llegadas en el intervalo T)= n! Eytan Modiano Diapositiva 4 El proceso de Poisson ( λT )n e −λT P(n llegadas en el intervalo T)= n! n = número de llegadas en T Se puede demostrar que: E[n] = λ T E[n ] = λT + (λ T) 2 2 σ 2 = E[(n -E[n]) 2 ] = E[n2 ] - E[n]2 = λT Eytan Modiano Diapositiva 5 Tiempos entre llegadas • Tiempo que pasa entre las llegadas (IA) P(IA <= t) = 1 - P(IA > t) = 1 - P(0 llegadas en un tiempo t) = 1 - e-λt • Esto se conoce como distribución exponencial: – – CDF entre llegadas = FIA (t) = 1 - e-λt PDF entre llegadas = d/dt FIA(t) = λe-λt • La distribución exponencial se suele utilizar para modelar los tiempos de servicio (es decir, la distribución del tamaño de los paquetes) Eytan Modiano Diapositiva 6 Propiedad de Markov (ausencia de memoria) P(T ≤ t0 + t | T > t 0 ) = P(T ≤ t) Demostración: P(T ≤ t0 + t | T > t 0 ) = t 0 +t ∫ = ∫ t0 λ e −λt dt − λt t + t −e | t00 −e −λ ( t +t 0 ) + e −λ ( t0 ) = = ∞ −λ ( t ) −λ t ∞ − λt −e | e 0 λ e dt t0 t0 − λt =1−e • P(t0 < T ≤ t0 + t) P(T > t0 ) = P(T ≤ t) ¡Los antecedentes no ayudan a prevenir el futuro! • ¡La distribución del tiempo hasta la próxima llegada es independiente de cuándo se produjo la última llegada! Eytan Modiano Diapositiva 7 Ejemplo • Supongamos que un tren llega a una estación siguiendo un proceso de Poisson con una media de tiempo entre llegadas de 20 minutos • Cuando un cliente llega a la estación, la media de tiempo transcurrido hasta la siguiente llegada es de 20 minutos: – Independientemente de cuándo haya llegado el tren anterior • ¡La media de tiempo desde la última salida es de 20 minutos! • Paradoja: si pasaron una media de 20 minutos desde la llegada del último tren y una media de 20 minutos hasta la llegada del próximo, entonces pasarán una media de 40 minutos entre los trenes: – – Eytan Modiano Diapositiva 8 ¡Pero nosotros supusimos una media de tiempo entre llegadas de 20 minutos! ¿Qué ha sucedido? Modelos de colas Clientes servidor cola/buffer • Modelo para: – – – • Se quiere saber: – – • Los clientes que esperan en línea La línea de ensamblaje Los paquetes de una red (línea de transmisión) El promedio de clientes que hay en el sistema La media de espera que experimenta un cliente Cantidades obtenidas según: – La tasa de llegada de los clientes (promedio de clientes por unidad de tiempo) – La tasa de servicio (promedio de clientes que puede atender el servidor por unidad de tiempo) Eytan Modiano Diapositiva 10 Teorema de Little λ paquetes por segundo Red (sistema) (N,T) • N = promedio de paquetes que hay en el sistema • T = promedio de tiempo que está un paquete en el sistema • λ = tasa de llegada de paquetes al sistema (no necesariamente de Poisson) • Teorema de Little: N = λT – – Se puede aplicar a todo el sistema o a una de sus partes Sistema concurrido -> largas esperas ¡En los días de lluvia, la gente conduce más despacio y las carreteras están más congestionadas! Eytan Modiano Diapositiva 11 Demostración del Teorema de Little α(t), β(t) α(t) T2 T3 T1 t1 t2 t3 t4 T4 β(t) • • • • • α(t) = número de llegadas en un tiempo t β(t) = número de salidas en un tiempo t ti = tiempo de llegada del cliente i Ti = tiempo que el cliente i permanece en el sistema N(t) = número de clientes que hay en el sistema en un tiempo t = α(t) - β(t) • Demostración similar cuando no se sigue un servicio FCFS, es decir, cuando el primero que llega no es el primero en ser atendido Eytan Modiano Diapositiva 12 Demostración del Teorema de Little 1t Nt = ∫ N (τ )dτ = tiempo medio de los clientes en la cola t0 N = Límitet→ ∞ Nt = tiempo medio en estado estacionario λ t = α (t) / t, λ = Límite t→ ∞ λ t = tasa de llegada α ( t) Tt = • ∑T i i= 0 α (t) = tiempo medio de espera en el sistema, T = Límitet → ∞ Tt Suponiendo que existen los límites anteriores; se supone un sistema ergódico N (t) = α (t) − β (t ) ⇒ Nt N = límt → ∞ Eytan Modiano Diapositiva 13 ∑ N= α ( t) i=1 t ∑ Ti α (t ) i =1 Ti t =( , α (t) t ∑ = α ( t) i=1 Ti t T = límt →∞ ∑ ) α ( t) i=1 Ti α (t) ∑ = λT α(t ) i =1 Ti α (t) ⇒ ∑ i=1 Ti = α (t)T α ( t) Aplicación del Teorema de Little • El Teorema de Little se puede aplicar a casi todos los sistemas o a alguna de sus partes • Ejemplo: Clientes servidor Cola/buffer 1) El emisor: DTP = tiempo de transmisión de paquetes – Promedio de paquetes en el emisor = λD TP = ρ = uso del enlace 2) La línea de transmisión: D p = retardo de propagación – Promedio de paquetes en camino = λDp 3) La cola: Dq = promedio de espera en la cola – Promedio de paquetes en la cola = N q = λDq 4) Emisor + cola: – Eytan Modiano Diapositiva 14 Promedio de paquetes = ρ + N q Aplicación a un sistema complejo λ3 λ1 λ2 λ1 λ3 λ2 • Tenemos una red compleja con varias líneas de tráfico que se mueven por ella e interactúan de forma arbitraria • Para cada línea i por separado, Little dice que N i = λiTi • Para todas las líneas en conjunto, Little dice que N = λT, donde: • • Eytan Modiano Diapositiva 15 N = ∑i Ni & λ = ∑i λi Del Teorema de Little se obtiene: ∑ T= ∑ i= k λT i=1 i i i= k i=1 λi Colas con un único servidor cola λ paquetes por segundo Servidor µ paquetes por segundo Tiempo de servicio = 1/µ • M/M/1: – • M/G/1: – • Llegadas de Poisson; tiempos de servicio generales M/D/1: – Eytan Modiano Diapositiva 16 Llegadas de Poisson; tiempos de servicio exponenciales Llegadas de Poisson; tiempos de servicio deterministas (fijos) Cadena de Markov para un sistema M/M/1 λδ 1−λδ 0 λδ 1 µδ λδ λδ 2 µδ k µδ µδ • Estado k => k clientes en el sistema • P(I,j) = probabilidad de transición del estado I al estado j – Para δ => 0, se obtiene: P(0,0) = 1 - λδ, P(j,j) = 1 - λδ −µδ P(j,j+1) = λδ P(j,j-1) = µδ P(I,j) = 0 para todos los otros valores de I,j. • Procesos de nacimiento y muerte: las transiciones se producen sólo entre estados adyacentes: – Eytan Modiano Diapositiva 17 λδ , µδ son las velocidades de flujo entre los estados Análisis de equilibrios • Queremos obtener P(n) = la probabilidad de estar en el estado n • En el equilibrio λP(n) = µP(n+1) para todo n: – – • • Ecuaciones de equilibrio local entre dos estados (n, n+1) P(n+1) = (λ/µ)P(n) = ρP(n), ρ = λ/µ Continúa: P(n) = ρn P(0) Luego, por axioma de probabilidad: ∑ ∞ i=0 P(n) = 1 ⇒ ∑i =0 ρ P(0) = ∞ n ⇒ P(0) = 1 − ρ P(n) = ρ n (1 − ρ ) Eytan Modiano Diapositiva 18 P(0) =1 1− ρ Tamaño medio de la cola ∞ ∞ n=0 n=0 N = ∑ nP(n) = ∑ nρ n (1 − ρ ) = N= ρ 1−ρ = ρ 1− ρ λ/µ λ = 1− λ /µ µ − λ • N = media de clientes en el sistema • El promedio de tiempo que pasa un cliente en el sistema T= se puede obtener a partir de la fórmula de Little (N=λT => T = N/λ) 1 µ−λ • T incluye el tiempo de espera en la cola más el tiempo de servicio (tiempo de servicio = DTP = 1/µ ) – W= W = tiempo que se pasa en la cola = T - 1/µ => 1 1 − µ−λ µ • Por último, la media de clientes en cola se puede obtener a partir de la fórmula de Little: NQ = λW = Eytan Modiano Diapositiva 19 λ µ−λ − λ =N−ρ µ Ejemplo (restaurante de comida rápida) • • En un restaurante de comida rápida llegan 100 clientes por hora y se tarda 30 segundos en servir a cada uno de ellos ¿Cuánto tiempo pasan los clientes en el restaurante? – – • ¿Cuánto tiempo esperan en la cola? – • N = λT = 5 ¿Cuál es la utilización del que sirve? – Eytan Modiano Diapositiva 20 W = T - 1/µ = 2.5 minutos ¿Cuántos clientes hay en el restaurante? – • Tasa de servicio = µ = 60/0.5=120 clientes por hora T = 1/µ−λ = 1/(120-100) = 1/20 hrs = 3 minutos ρ = λ/µ = 5/6 Conmutación de paquetes frente a conmutación de circuitos 1 λ/M 1 2 3 λ/M M 1 2 3 M Multiplexado por división de tiempo (TDM) Cada usuario puede enviar µ/N paquetes/seg y recibirlos a una tasa de λ/N paquetes/seg 2 λ/M M (λ / µ) D = M /µ + (µ − λ ) N Paquetes generados en tiempos aleatorios λ/M Multiplexador estadístico λ/M Eytan Modiano Diapositiva 21 λ Cola Fórmula para M/M/1 µ paquetes/seg (λ / µ) D = 1/ µ + ( µ − λ) Fórmula para M/M/1 Conmutación de circuitos (tdm/fdm) frente a la de paquetes Tiempo medio de servicio de paquetes (slots) Tiempo medio de servicio 100 TDM con 20 fuentes Multiplexado estadístico ideal (M/D/1) 10 1 0 0.2 0.4 0.6 0.8 Carga de tráfico total; paquetes por slot Eytan Modiano Diapositiva 22 1 Sistemas de M servidores: M/M/m cola Servidor M servidores λ paquetes por segundo • • µ paquetes por Servidor segundo, por servidor La tasa de salida es proporcional al número de servidores utilizados Cadena de Markov similar: λδ 1−λδ 0 1 µδ Eytan Modiano Diapositiva 23 λδ λδ 2 2µδ m 3µδ λδ λδ mµδ m+1 mµδ Colas M/M/m • Ecuaciones de equilibrio: λ P(n − 1) = nµP(n) n ≤ m λ P(n − 1) = mµP(n) n > m P(0)( mρ )n / n! n≤m P(n ) = , P(0)( mm ρ n ) / m! n > m • Resolver, una vez más, para P(0): −1 m −1 (mρ ) n ( mρ )m P(0) = ∑ + n =0 n! m!(1− ρ ) P(0)(m ρ )m PQ = ∑ P( n) = m!(1 − ρ ) n= m n= ∞ ρ mm ρm + n NQ = ∑ nP(n + m) = ∑ nP(0)( ) = PQ ( ) m! 1 − ρ n=0 n =0 n= ∞ W= Eytan Modiano Diapositiva 24 NQ λ n=∞ , T = W + 1/ µ, N = λ T = λ / µ + NQ ρ= λ ≤1 mµ Aplicaciones de M/M/m • • Banco con m cajeros Red con líneas de transmisión paralelas m líneas de tasa µ cada una λ VS . Nodo B Una línea de tasa mµ λ • Nodo A Nodo A Nodo B Utilizar la fórmula de M/M/m Utilizar la fórmula de M/M/1 Cuando el sistema está ligeramente cargado, PQ~0 y el servidor único es m veces más rápido • Cuando el sistema está muy cargado, predomina la espera en la cola y los sistemas permanecen más o menos igual Eytan Modiano Diapositiva 25 M/M/Infinito • • Número ilimitado de servidores => los clientes no sufren retardo en cola El número de clientes que hay en el sistema representa el número de clientes que están siendo servidos en ese momento λδ 1−λδ 0 λδ 1 µδ λδ 2 n 2µδ λδ λδ 3µδ nµδ n+1 (n+1)µδ P(0)(λ / µ)n λ P(n − 1) = nµP(n), ∀n > 1, ⇒ P( n) = n! [ ] =e P(0) = 1 + ∑ n=1 (λ / µ ) / n! ∞ n −1 −λ / µ P(n ) = (λ / µ) n e − λ / µ / n! => ¡distribución de Poisson ! N = promedio del sistema = λ / µ, T = N / λ =1/ µ = tiempo de servicio Eytan Modiano Diapositiva 26 Probabilidad de bloqueo • Una red conmutada por circuitos se puede ver como un sistema de colas multiservidor: Las llamadas se bloquean cuando no hay servidores disponibles: "señal de ocupado" – Para las redes conmutadas por circuitos nos interesa la probabilidad de bloqueo de llamadas – • Sistema M/M/m/m: – – • m servidores => m circuitos Las anteriores m indican que el sistema no puede sostener más de m usuarios Fórmula B de Erlang: Nos da la probabilidad que existe de que el usuario que inicia una llamada encuentre todos los circuitos ocupados – Vale para la distribución de las llamadas recibidas en general (aunque nosotros aquí demostremos sólo el supuesto de Markov) – (λ / µ) m / m! PB = m n λ / µ ) / n! ( ∑ n= 0 Eytan Modiano Diapositiva 27 Sistema M/M/m/m: fórmula B de Erlang λδ 1−λδ 0 λδ 1 µδ λδ λδ 2 m 2µδ 3µδ mµδ P(0)( λ / µ ) λ P(n − 1) = nµP(n ), 1 ≤ n ≤ m, ⇒ P(n) = n! P(0) = [∑ m n= 0 ( λ / µ ) / n! n ] −1 ( λ / µ ) / m! PB = P(bloqueo) = P(m) = m ∑n= 0 (λ / µ) n / n! m Eytan Modiano Diapositiva 28 n Fórmula B de Erlang • ( A) m / m! A= λ/µ = (tasa de llegada)*(durac. med. de llamadas) = carga media P = m B n La fórmula se ve afectada por variaciones en la relación existente / n! ( A) ∑ La carga del sistema se suele expresar en Erlangs: – – • entre λ y µ, no por sus respectivos valores n= 0 Se utiliza para calcular el tamaño de la línea de transmisión: – – ¿Cuántos circuitos ha de soportar el satélite? El número de circuitos es una función de la probabilidad de bloqueo que podemos tolerar: Los sistemas están diseñados para unas predicciones de carga y probabilidades de bloqueo determinadas (generalmente pequeñas) • Ejemplo: – Tasa de llegada = 4 llamadas por minuto, promedio de 3 minutos por llamada => A = 12 – ¿Cuántos circuitos debemos preveer? Depende de la probabilidad de bloqueo que podamos tolerar Circuitos Eytan Modiano Diapositiva 29 PB 20 15 1% 8% 7 30% Cadenas multidimensionales de Markov • K clases de clientes: – Clase j: tasa de llegada λ j; tasa de servicio µj • Estado del sistema: n = (n1, n2… nk); nj = número de clientes de la clase j que hay en el sistema • Si las ecuaciones de equilibrio detalladas valen para estados adyacentes, entonces existe una solución en forma de producto, en la que: – • P(n, n2… nk) = P 1(n1)*P2(n2)*…*Pk(nk) Ejemplo: K sistemas M/M/1 independientes Pi (ni ) = ρ ini (1 − ρ i ), ρi = λ i / µi • Esto también es aplicable a otras cadenas de nacimiento y muerte independientes – Eytan Modiano Diapositivas 30 Ej.: M.M/m, M/M/Inf o M/M/m/m Truncación • Elimina algunos de los estados: – • Ej.: en las K colas M/M/1, elimina todos los estados en los que n1+n2+…+nk > K1 (constante) La cadena resultante debe ser irreducible: – Todos los estados se deben comunicar entre sí Producto para la distribución estacionaria del sistema truncado • Ej.: K colas M/M/1 independientes: P(n1, n2 ,...nk ) = • ρ1n1ρ 2n2 ....ρ nK K G , G = ∑ ρ1 ρ 2 ....ρ K n1 n2 nK n∈S Ej.: K colas M/M/inf independientes: ( ρ1n1 / n1!)(ρ 2n2 / n2 !)....(ρ KnK / nk !) n1 n2 nK P(n1, n2 ,...nk ) = , G = ∑ (ρ 1 / n1!)( ρ 2 / n2 !)....( ρ K / nk !) G n∈S – – Eytan Modiano Diapositiva 31 G es una constante de normalización que convierte P(n) en una distribución S es el conjunto de estados del sistema truncado Ejemplo • Dos clases de sesiones en un sistema conmutado por circuitos: – – M canales de igual capacidad Dos tipos de sesión: Tipo 1: tasa de llegada λ1 y tasa de servicio µ1 Tipo 2: tasa de llegada λ2 y tasa de servicio µ2 • El sistema puede soportar hasta M sesiones de cada clase: – – – – • Si µ1= µ2, tratar el sistema como una cola M/M/m/m con una tasa de llegada de λ1+ λ2 Cuando µ1!= µ2 es necesario saber el número de llamadas en curso de cada tipo de sesión Dos estados de la cadena de Markov dimensional = (n1, n2) Se quiere que P(n1, n2): n1+n2 <=m Se pueden considerar como colas M/M/Inf truncadas: – Obsérvese que las tasas de transición en la cola M/M/Inf son iguales a las de la cola M/M/m/m truncada ( ρ1n1 / n1 !)( ρ2n2 / n2 !) , P(n1, n2 ) = G – Eytan Modiano Diapositiva 32 i = m j = m −i G= ∑ i =0 ∑( ρ / i!)(ρ j =0 i 1 j 2 / j!), n1+ n2≤ m Obsérvese que la doble suma contabiliza sólo los estados para los que j+i <= m La propiedad PASTA (Poisson Arrivals See Time Averages) • El estado de una cola M/M/1 es el número de clientes que hay en el sistema • Los sistemas de colas más generales tienen un estado más general que puede incluir la cantidad de servicio que ha recibido ya cada cliente • En las llegadas de Poisson, las llegadas en cualquier futuro incremento de tiempo son independientes de las producidas en pasados incrementos y, para muchos sistemas de interés, independientes del estado actual S(t) (verdadero para M/M/1, M/M/m y M/G/1) • Para estos sistemas, P{S(t)=s|A(t+δ)-A(t)=1} = P{S(t)=s} – • Eytan Modiano Diapositiva 33 (donde A(t)= número de llegadas desde t=0) En el estado estacionario, las llegadas siguen las probabilidades del estado estacionario Distribución de ocupación en la llegada • Las llegadas pueden no seguir siempre los promedios del estado estacionario • Ejemplo: – – Llegadas deterministas: 1 por segundo Tiempo de servicio determinista de 3/4 de segundo λ = 1 paquete/segundo T = 3/4 de segundo (sin cola) N = λT = ocupación media = 3/4 • Eytan Modiano Diapositiva 34 Sin embargo, obsérvese que una llegada siempre encuentra el sistema desocupado (vacío) Ocupación en la llegada para una cola M/M/1 an = Lím t-> inf (P (N(t) = n | se produjo una llegada justo después del tiempo t)) Pn = Lím t-> inf (P(N(t) = n)) En los sistemas M/M/1 an = Pn Demostración: supongamos que A(t, t+δ) es el evento y que la llegada tuvo lugar entre t y t+δ an (t) = Lím t-> inf (P (N(t) = n| A(t, t+δ) ) = Lím t-> inf (P (N(t) = n, A(t, t+δ) )/P(A(t, t+δ) ) = Lím t-> inf P(A(t, t+δ)| N(t) = n)P(N(t) = n)/P(A(t, t+δ) ) • Dado que las futuras llegadas son independientes del estado del sistema: P(A(t, t+δ)| N(t) = n)= P(A(t, t+δ)) • De este modo, an (t) = P(N(t) = n) = Pn(t) • Calculando los límites cuando t tiende a infinito, obtendremos que: a n = Pn • Este resultado vale también para los sistemas M/G/1 Eytan Modiano Diapositiva 35