La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 5: Teoría de colas Ezequiel López Rubio Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga.

Presentaciones similares


Presentación del tema: "Tema 5: Teoría de colas Ezequiel López Rubio Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga."— Transcripción de la presentación:

1 Tema 5: Teoría de colas Ezequiel López Rubio Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga

2 Sumario Conceptos básicos Cola M | M | 1 Cola M | M | c Cola M | M | 1 | k Redes de colas Redes de Jackson abiertas Redes de Jackson cerradas

3 Conceptos básicos

4 Concepto de cola Una cola es una línea de espera para determinado servicio Este servicio lo proporciona uno o varios dependientes La teoría de colas analiza la causa de la formación de la cola, que es la existencia de momentos en los que hay una mayor demanda de servicio que la capacidad de servicio

5 Clasificación de sistemas de colas Llamaremos clientes, trabajos o tareas a los que demandan servicio, y dependientes, empleados o servidores a los que ofrecen servicio Un sistema de colas viene dado por varias características: 1º Modelo de llegada de clientes, El índice de llegadas será el número medio de llegadas por unidad de tiempo, Alternativamente podemos usar el tiempo entre llegadas, que es el tiempo medio entre llegadas sucesivas

6 Clasificación de sistemas de colas 2º Modelo de servicio, Puede venir dado por el tiempo de servicio o por el número de clientes atendidos por unidad de tiempo, Tendremos una variable aleatoria o bien un servicio determinista, Aquí supondremos que el modelo de servicio es independiente del de llegada 3º Disciplina de la cola, Establece el orden en que se va atendiendo a los clientes: Por orden de llegada (FIFO) Por orden inverso al de llegada (LIFO) Selección aleatoria (RANDOM) Según prioridades (PRIORITY, PR), Dos subtipos: Con interrupción, Si llega un cliente de más prioridad, el trabajo que se estaba sirviendo se interrumpe para atenderlo Sin interrupción, No se pueden interrumpir los trabajos Dentro de cada clase de prioridad se podrán aplicar disciplinas LIFO, FIFO o RANDOM,

7 Clasificación de sistemas de colas 4º Capacidad del sistema, Es el número máximo de clientes que puede haber en el sistema (finito o infinito), Si llega un cliente y el sistema está lleno, se marcha, 5º Número de canales de servicio, Es el número de dependientes, Puede haber una cola para cada dependiente o bien una sola cola global 6º Número de estados de servicio, Puede haber varias partes en las que se subdivide el trabajo (estados), cada una con su cola y su dependiente, que deben ser completadas sucesivamente, P, ej,, tres estados:

8 Notación de Kendall La notación de Kendall nos permite escribir resumidamente todas las características que hemos estudiado, Un sistema de colas se notará como: A | B | X | Y | Z | V, donde: A es el modelo de llegadas, Valores posibles: M=tiempos entre llegadas exponenciales D=tiempos entre llegadas deterministas G=tiempos entre llegadas generales (cualquier distribución) B es el modelo de servicio, Puede tomar los mismos valores que A

9 Notación de Kendall X es el número de dependientes (servidores) Y es la capacidad del sistema (número máximo de clientes en el sistema), Se puede omitir si es infinita Z es la disciplina, Se puede omitir si es FIFO V es el número de estados de servicio, Se puede omitir si es 1 Por ejemplo, M | M | 1 | | FIFO | 1 se escribe abreviadamente M | M | 1

10 Medidas de rendimiento Una vez descrito el sistema, nuestro objetivo es evaluar su rendimiento, Para ello tenemos varias medidas de rendimiento: Número medio de clientes en el sistema, notado L Tiempo medio de espera de los clientes, W Número medio de clientes en la cola, L q Tiempo medio de espera en cola de los clientes, W q

11 Cola M | M | 1

12 Descripción del modelo Hay una sola cola, cuya capacidad es infinita, y un solo servidor, La disciplina será FIFO Las llegadas se producen según un proceso de Poisson de razón, donde es el número medio de llegadas por unidad de tiempo y 1/ es el tiempo medio entre llegadas, Los tiempos entre llegadas se distribuirán exponencialmente, Exp( ) Los tiempos entre servicios también se distribuirán exponencialmente, Exp( ), de tal manera que es el número medio de clientes que el servidor es capaz de atender por unidad de tiempo y 1/ es el tiempo medio de servicio

13 Condición de no saturación Se demuestra que si, el sistema se satura, es decir, el número de clientes en la cola crece indefinidamente con el tiempo, Por consiguiente, la condición de no saturación será: Nosotros sólo estudiaremos las colas que no se saturan, Cuando una cola no se satura, también se dice que alcanza el estado estacionario,

14 Probabilidades El parámetro se llama carga, flujo o intensidad de tráfico del sistema, puesto que mide la relación entre la cantidad de trabajos que llegan y la capacidad de procesarlos Suponiendo que el sistema no se satura, se deduce la siguiente fórmula para las probabilidades p n de que haya n clientes en el sistema, donde n N:

15 Medidas de rendimiento El número medio de clientes en el sistema, L, se calcula así: Sumamos la serie aritmético-geométrica:

16 Medidas de rendimiento La utilización del dependiente, notada U, es la fracción de tiempo (en tanto por uno) que el dependiente permanece ocupado, Para hallarla, nos valemos de que cuando no hay saturación, el número medio de clientes que entran en el sistema debe ser igual al número medio de clientes que salen de él: Como para deducir la anterior fórmula no hemos usado ninguna característica especial del modelo de entrada ni del de salida, dicha fórmula es válida para colas G | G | 1

17 Medidas de rendimiento El tiempo medio de respuesta W es el tiempo medio que un trabajo permanece en el sistema, Si suponemos que un trabajo, al llegar al sistema, se encuentra con que hay por delante de él otros j trabajos, el tiempo medio que tardará en salir del sistema será j+1 veces el tiempo medio de servicio, Por lo tanto: Tiempo que se pasa en el sistema si hay j por delante al llegar Probabilidad de que haya j por delante al llegar

18 Medidas de rendimiento Podemos simplificar algo más: El tiempo medio de espera en la cola W q se hallará restando a W el tiempo que tarda en ser servido el trabajo (esto es válido para cualquier tipo de cola): En el caso particular de una cola M | M | 1, obtenemos:

19 Ejemplo Unos mecánicos llegan a una media de 10 por hora a recoger piezas de repuesto, Estas piezas se las da un dependiente pagado con 5 /hora y que tarda como media 5 min en servir, Cada hora que tiene que esperar un mecánico (en el sistema) le cuesta al taller 10, Queremos saber si merece la pena contratar a un ayudante de dependiente, pagado con 4/hora, de forma que el tiempo medio de servicio se reduzca a 4 min Nota: Al resolver un problema de colas, tener siempre muy presente la coherencia de unidades

20 Ejemplo Tenemos dos opciones: Sin ayudante: 1/ 1 = 5 min = 1/12 h Con ayudante: 1/ 2 = 4 min = 1/15 h En ambos casos, = 10 clientes/h Opción 1 (sin ayudante): Por tanto, perdemos 5·(10/h) = 50/h

21 Ejemplo Opción 2 (con ayudante): Por tanto, perdemos 2·(10/h) = 20/h debido a la espera de los mecánicos, Pero también perdemos 4/h debido al sueldo del ayudante, Por tanto, las pérdidas totales son 24/h En la opción 1 perdemos 50/h y en la opción 2 perdemos 24/h, con lo cual la más ventajosa es la opción 2,

22 Más medidas de rendimiento El número medio de trabajos en la cola L q, se calcula restándole a L el número medio de trabajos que están siendo servidos: Probabilidad de que un cliente que llega pase más de t unidades de tiempo en el sistema: Probabilidad de que un cliente que llega pase más de t unidades de tiempo en la cola:

23 Ejemplos Ejemplo: Un canal de comunicación se usa para enviar datos desde unos ordenadores fuente a uno central, Cada fuente envía paquetes de datos según un proceso de Poisson de razón 2 paquetes/seg, Además cada fuente envía independientemente de las otras, Todos los paquetes son idénticos, esperan en una cola común y después se transmiten de uno en uno, Los tiempos de transmisión se distribuyen exponencialmente, con media 25 mseg, Determinar el número máximo de fuentes que se pueden conectar al canal de tal manera que:

24 Ejemplos 1º El canal no se sature Si tenemos k fuentes, llegarán a la cola 2k paquetes/seg, Por otro lado, 1/ = 0,025 seg = 40 paquetes/seg El canal no se satura cuando <1:

25 Ejemplos 2º En media los paquetes no pasen en el sistema más de 100 mseg Tal como ocurría en el apartado anterior, llegarán a la cola 2k paquetes/seg, y tendremos = 40 paquetes/seg Nos exigen W 0,1 seg:

26 Ejemplos 3º En el estado estacionario se garantice que al menos el 95% de los paquetes tenga un tiempo de respuesta que no exceda de 100 mseg Tal como ocurría en el apartado anterior, llegarán a la cola 2k paquetes/seg, y tendremos = 40 paquetes/seg Nos exigen que la probabilidad de que un paquete pase más de 100 mseg en el sistema sea inferior al 5%, es decir, W(100 mseg) 0,05:

27 Ejemplos Ejemplo: Supongamos que una cola M|M|1 con parámetros y se sustituye por n colas M|M|1 independientes de parámetros /n y /n, Es decir, dividimos la carga de trabajo y la capacidad de proceso en n partes iguales, Evaluar el efecto del cambio usando como medidas de rendimiento el tiempo medio de respuesta y el número medio de trabajos en el sistema /n …

28 Ejemplos Alternativa 1 (una sola cola), 1 =, 1 = : Alternativa 2 (n colas independientes), 2 = /n, 2 = /n :

29 Ejemplos Como la alternativa 1 tiene menores valores para ambas medidas de rendimiento, concluimos que la dicha alternativa es mejor Esto nos indica que lo mejor es no dividir la capacidad de procesamiento, es decir, tener un único servidor que atienda a todos los clientes

30 Teorema de Little Sea un sistema de colas con cualquier distribución de llegadas y servicios y cualquier estructura, Sean L el número de trabajos presentes en el sistema en el estado estacionario, W es tiempo medio de respuesta en el estado estacionario y la razón de llegadas al sistema, Entonces:

31 Teorema de Little Explicación intuitiva: Supongamos que cobramos 1 a cada trabajo por cada unidad de tiempo que pasa en el sistema, Habría dos maneras equivalentes de medir las ganancias: Colocando un recaudador a la entrada del sistema, le cobrará como media W a cada uno de los trabajos que vea pasar por unidad de tiempo Cada vez que transcurre una unidad de tiempo, cobro 1 a cada uno de los L trabajos que como media hay en ese instante en el sistema

32 Teorema de Little Si aplico el teorema a la cola, dejando fuera del sistema al servidor, obtengo el siguiente resultado, también muy útil: Las dos fórmulas obtenidas nos sirven para ayudarnos a obtener los valores de las medidas de rendimiento, aunque necesitaremos otras ecuaciones para poder conseguir resultados explícitos

33 Cola M | M | c

34 Descripción del modelo Hay una sola cola, cuya capacidad es infinita, y c servidores, La disciplina será FIFO Las llegadas se producen según un proceso de Poisson de razón, donde es el número medio de llegadas por unidad de tiempo y 1/ es el tiempo medio entre llegadas, Los tiempos entre llegadas se distribuirán exponencialmente, Exp( ) Los tiempos de servicio también se distribuirán exponencialmente, Exp( ), de tal manera que es el número medio de clientes que cada servidor es capaz de atender por unidad de tiempo y 1/ es el tiempo medio de servicio

35 Condición de no saturación Se demuestra que si c, el sistema se satura, es decir, el número de clientes en la cola crece indefinidamente con el tiempo, Por consiguiente, la condición de no saturación será: Nosotros sólo estudiaremos las colas que no se saturan, Cuando una cola no se satura, también se dice que alcanza el estado estacionario,

36 Probabilidades Suponiendo que el sistema no se satura, se deducen las siguientes fórmulas para las probabilidades p n de que haya n clientes en el sistema, donde n N:

37 Medidas de rendimiento Número medio de clientes en cola: Usamos razonamientos ya vistos para obtener:

38 Otras medidas de rendimiento Número medio de servidores ocupados, S, En el estado estacionario, la razón de las salidas será igual a la razón de las llegadas: Probabilidad de que un trabajo tenga que esperar para recibir su servicio (fórmula de retraso de Erlang):

39 Ejemplos Ejemplo: Usando L como medida de rendimiento, comparar estas dos alternativas: /2 Alternativa 1: Alternativa 2:

40 Ejemplos Alternativa 1: Alternativa 2:

41 Ejemplos

42 Para que la alternativa 1 sea mejor, ha de cumplirse que L 1

43 Ejemplos Ejemplo: Usando el número medio de clientes en el sistema como medida de rendimiento, comparar estas dos alternativas: /2 /2 Alternativa 2: Alternativa 1: /2

44 Ejemplos Alternativa 1 (nótese que hay 2 colas): Alternativa 2 (es la alternativa 2 del ejemplo anterior):

45 Ejemplos Para que la alternativa 2 sea mejor, ha de cumplirse que L 1 >L 2 : Como >0 siempre se cumple, tendremos que la alternativa 2 siempre es mejor, Es decir, no conviene poner dos colas, sino tener una única cola global

46 Ejemplos Ejemplo: En una copistería se dispone de 3 máquinas fotocopiadoras a disposición del público, Cada máquina es capaz de servir, por término medio, 8 trabajos cada hora, A la copistería llegan como promedio 5 clientes a la hora, Parámetros del sistema: = 5 clientes/h, = 8 clientes/h, c = 3 servidores, El sistema no se satura porque <1,

47 Ejemplos ¿Cuál es la probabilidad de que las tres máquinas estén libres a la vez? ¿Cuál es el número medio de clientes en la cola?

48 Ejemplos ¿Cuál es el tiempo medio de espera en la cola? ¿Cuál es el tiempo medio de espera en el sistema? ¿Cuál es el número medio de clientes en el sistema?

49 Cola M | M | 1 | k

50 Descripción del modelo Hay una sola cola, cuya disciplina será FIFO, La capacidad del sistema es limitada, de tal modo que sólo puede haber k clientes como máximo en el sistema, Por lo tanto, el número máximo de clientes en la cola es k–1, Si un cliente llega y el sistema está lleno, es rechazado y nunca más regresa Las llegadas se producen según un proceso de Poisson de razón, Los tiempos entre llegadas se distribuirán exponencialmente, Exp( ) Los tiempos entre servicios también se distribuirán exponencialmente, Exp( ), de tal manera que es el número medio de clientes que el servidor es capaz de atender por unidad de tiempo

51 Probabilidades El sistema nunca se satura, ya que la capacidad es limitada Se deduce la siguiente fórmula para las probabilidades p n de que haya n clientes en el sistema, donde n {0, 1, 2, …, k}:

52 Probabilidades El valor de determina cómo varían los p n : Si <1, los estados más probables son los de menor número de clientes, porque la oferta de servicio supera a la demanda Si >1, los estados más probables son los de mayor número de clientes, porque la demanda de servicio supera a la oferta Si =1, todos los estados son equiprobables, Podemos llegar a la fórmula del caso =1 aplicando la regla de LHôpital al límite para 1 de la fórmula del caso 1 Si hacemos k, llegamos al modelo M | M | 1

53 Medidas de rendimiento Tasa efectiva de llegadas, ef, Es el número medio de clientes admitidos al sistema por unidad de tiempo de entre los que intentan entrar ( ef < ): Número medio de clientes en el sistema (este valor siempre debe ser inferior a k):

54 Medidas de rendimiento Podemos obtener las demás medidas de rendimiento mediante razonamientos ya vistos, teniendo en cuenta que la tasa efectiva de llegadas al sistema es ef :

55 Ejemplo A un taller mecánico llegan vehículos para el cambio de pastillas de freno, Los coches llegan a un promedio de 18 a la hora según un proceso de Poisson, El espacio físico del taller sólo permite que haya 4 vehículos, y las ordenanzas municipales prohíben esperar fuera, El taller puede servir a un promedio de 6 coches por hora de acuerdo a una distribución exponencial, Parámetros del sistema: = 18 vehículos/h, = 6 vehículos/h, k = 4 vehículos

56 Ejemplo ¿Cuál es la probabilidad de que no haya ningún vehículo en el taller? ¿Cuál es el promedio de vehículos que hay en el taller?

57 Ejemplo ¿Cuánto tiempo pasa por término medio un coche en el taller?

58 Ejemplo ¿Cuánto tiempo esperan por término medio en la cola los coches? ¿Cuál es la longitud media de la cola?

59 Redes de colas

60 Una red de colas es un sistema donde existen varias colas y los trabajos van fluyendo de una cola a otra Ejemplos: Fabricación (trabajos=artículos) Oficinas (trabajos=documentos) Redes de comunicaciones (trabajos=paquetes) Sistemas operativos multitarea (trabajos=tareas)

61 Enrutado de trabajos Criterios para decidir a qué cola se dirige un trabajo que acaba de salir de otra: Probabilístico: se elige una ruta u otra en función de una probabilidad (puede haber distintos tipos de trabajos, cada uno con sus probabilidades) Determinista: cada clase de trabajo se dirige a una cola fija

62 Tipos de redes de colas Se distinguen dos tipos de redes de colas: Abiertas: Cada trabajo entra al sistema en un momento dado, y tras pasar por una o más colas, sale del sistema, Dos subtipos: Acíclicas: Un trabajo nunca puede volver a la misma cola (no existen ciclos) Cíclicas: Hay bucles en la red Cerradas: Los trabajos ni entran ni salen del sistema, Por lo tanto permanecen circulando por el interior del sistema indefinidamente, Usualmente existe un número fijo de trabajos,

63 Red abierta acíclica

64 Red abierta cíclica

65 Red cerrada

66 Redes de Jackson abiertas

67 Definición Una red de colas abierta se dice que es de Jackson sii: Sólo hay una clase de trabajos Los enrutados son probabilísticos, donde r ij 0 es la probabilidad de ir al nodo j después de haber salido del nodo i, Por otro lado, r i0 es la probabilidad de abandonar del sistema después de haber salido del nodo i, donde r i0 = 1– j r ij Cada nodo i es una cola.|M|c i La tasa de llegadas externas al nodo i se notará i El número total de nodos de la red se notará K

68 Ecuaciones de equilibrio Dado que el flujo total de entrada a un nodo debe ser igual al flujo total de salida del nodo, tendremos que: Las K ecuaciones anteriores forman un sistema lineal con solución única, que resolveremos para hallar las tasas de llegada a cada nodo i

69 Condición de no saturación Para que ninguna de las colas del sistema se sature, es preciso que se cumpla la siguiente condición: Nota: Se trata de la condición de no saturación del modelo M|M|c, aplicada a cada uno de los nodos por separado

70 Teorema de Jackson para redes abiertas Teorema: Sea una red de Jackson abierta que cumple la condición de no saturación, Entonces en el estado estacionario, la distribución del número de clientes en cada nodo es la que sigue: donde p i (n i ) es la probabilidad de que haya n i clientes en el nodo i, calculada según las ecuaciones del modelo M|M|c

71 Consecuencias del teorema Corolario: Las medidas de rendimiento para cada nodo se calculan según las ecuaciones del modelo M|M|c, Además se tendrán las siguientes medidas: Tasa global de salidas del sistema (throughput), que es el número medio de trabajos que salen del sistema por unidad de tiempo, Coincide con el número de trabajos que entran en el sistema:

72 Consecuencias del teorema Número medio de trabajos en el sistema, L red, que es la suma de los número medios de trabajos en cada uno de los nodos: Tiempo medio en el sistema, W red, que es el tiempo medio que pasa una tarea desde que entra en la red hasta que sale de ella:

73 Consecuencias del teorema Razón de visitas al nodo i, V i, que es el número medio de veces que un trabajo visita el nodo i desde que entra en la red hasta que sale: Nota: en una red acíclica habrá de cumplirse que V i 1 i {1,2,,,,,K}, ya que cada tarea visitará cada nodo a lo sumo una vez

74 Ejemplo (red acíclica) 1 1,5 2 0,8 3 0,2 6 0,5 4 0,6 5 0,4 1

75 Ejemplo (red acíclica) En el ejemplo, 1 =1,5; r 12 =0,2; r 13 =0,8; r 34 =0,6; r 35 =0,4; 6 =0,5; r 65 =1; con lo cual la solución es: Ecuaciones de equilibrio:

76 Ejemplo (red acíclica) Medidas de rendimiento (ecuaciones del modelo M|M|1): Condición de no saturación (se cumple porque i <1):

77 Ejemplo (red acíclica)

78 Red abierta cíclica 1 0,2 2 0,7 3 0,3 4 0,1 5 0,9 0,8 0,6

79 Ejemplo (red cíclica) En el ejemplo, 1 =0,2; r 12 =0,3; r 13 =0,7; 3 =0,8; r 53 =0,6; r 34 =0,1; r 35 =0,9; con lo cual la solución es: Ecuaciones de equilibrio:

80 Ejemplo (red cíclica) Medidas de rendimiento (ecuaciones del modelo M|M|1): Condición de no saturación (se cumple porque i <1):

81 Ejemplo (red cíclica)

82 Redes de Jackson cerradas

83 Definición Una red de colas cerrada se dice que es de Jackson sii: Sólo hay una clase de trabajos Los enrutados son probabilísticos, donde r ij 0 es la probabilidad de ir al nodo j después de haber salido del nodo i, Cada nodo i es una cola.|M|c i Hay una cantidad constante M de trabajos en el sistema El número total de nodos de la red se notará K

84 Ecuaciones de equilibrio Dado que el flujo total de entrada a un nodo debe ser igual al flujo total de salida del nodo, tendremos que: Las K ecuaciones anteriores forman un sistema lineal indeterminado con un grado de libertad, que resolveremos para hallar las tasas de llegada relativas a cada nodo i *, Para ello fijaremos un valor positivo arbitrario para una incógnita, por ejemplo 1 *=1

85 Análisis del valor medio Hallaremos las siguientes medidas de rendimiento para M tareas en el sistema: L i (M)=Número medio de tareas en el nodo i W i (M)=Tiempo medio que cada tarea pasa en el nodo i cada vez que lo visita i (M)=Tasa real de salidas del nodo i Se trata de un algoritmo iterativo que va calculando L i (m), W i (m) para valores crecientes de m a partir de m=0

86 Análisis del valor medio Las ecuaciones son:

87 Red cerrada 12 0,3 4 0,

88 Ejemplo (red cerrada) En el ejemplo, r 12 =0,3; r 14 =0,7; r 23 =1; r 31 =1; r 41 =1; con lo cual la solución es, tomando 1 *=1: Ecuaciones de equilibrio:

89 Ejemplo (red cerrada)

90 Primera iteración:

91 Ejemplo (red cerrada) mW 1 (m) L 1 (m)L 2 (m)L 3 (m)L 4 (m) ,2 0,43480,1304 0, ,28700,2261 0,26090,94830,2241 0, ,38970,2448 0,32071,53600,2895 0, ,50720,2579 0,37702,19130,3343 1, ,63830,2669 0,42802,90650,3646 1, ,78130,2729 0,47293,67370,3850 1, ,93470,2770 0,51134,48520,3987 1,7173

92 Ejemplo (red cerrada) m L Cola 1 Colas 2 y 3 Cola 4

93 Ejemplo (red cerrada) m W Cola 1 Colas 2 y 3 Cola 4

94 Ejemplo (red cerrada) Utilización del servidor (%) U= / = L/(W ) m Cola 1 Cola 4 Colas 2 y 3

95 Cuellos de botella Un cuello de botella en un sistema de colas es un nodo cuya capacidad de procesamiento determina el rendimiento de todo el sistema Definición: Sea una red de Jackson cerrada. Diremos que el nodo j es un cuello de botella sii L j (m) cuando m En el ejemplo anterior el nodo 1 es un cuello de botella. Trabaja al límite de su capacidad mientras que los otros no (se quedan al 30% o al 70%). Para mejorar el rendimiento global del sistema habría que aumentar la capacidad de procesamiento del nodo 1


Descargar ppt "Tema 5: Teoría de colas Ezequiel López Rubio Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga."

Presentaciones similares


Anuncios Google