Redes de Colas Mariela Curiel Basado en los textos: Raj Jain Lazowska 23 de mayo de 2006 Parámetros y Salidas de los Modelos de Redes de Colas Las entidades básicas de los modelos de redes de colas son los centros de servicio (representan los recursos) y los clientes (representan a los usuarios, procesos, etc). Descripción de los Clientes Carga de trabajo transaccional: la intensidad viene especificada por λ, que indica la tasa a la cual los clientes llegan al sistema. Los clientes cuyo servicio ha concluido dejan el modelo. La población varı́a en el tiempo. Carga de trabajo tipo batch: La intensidad viene especificada por N , que indica el número promedio de clientes activos. La población es fija. Los clientes cuyo servicio culmina, dejan el modelo y son reemplazados instantáneamente por un cliente que estaba esperando. Carga de trabajo conversacional: la intensidad viene dada por N (el número de estaciones cliente activas) y Z (el tiempo de reflexión). Modelos Abiertos y Cerrados Los modelos con cargas transaccionales se suelen denominar Modelos Abiertos Los modelos con cargas de trabajo conversacionales o batch se denominan cerrados. Descripción de los Centros Centros de Cola (queuieng centers): los clientes compiten por el uso de un recurso. El tiempo en este tipo de centros tiene dos componentes: tiempo de espera y tiempo recibiendo el servicio. Centros de Espera (delay centers): Los clientes tienen lógicamente asignado su propio servidor. El tiempo de residencia de un cliente es exactamente su demanda de servicio. Demandas de Servicio La demanda de un cliente al centro de servicio k, Dk , es la cantidad de tiempo total que dicho cliente requerirá de servicio en el centro. Dk se puede calcular como BCk (el tiempo que estuvo ocupado el dispositivo k entre el número de trabajos culminados en el intervalo de medida). También se puede obtener como: Dk = Vk S k . D= PM k=1 Dk Descripción de los Clientes Descripción de los Centros Demandas de Servicio Intensidad de la carga, en términos de: λ, la tasa de llegadas (cargas transaccionales), o N (cargas batch), o N y Z, (cargas conversacionales) K, el número de centros de servicio y para cada centro de servicio su tipo: de colas o de espera. Dk = Vk Sk , la demanda de servicio Salidas del Modelo Utilización: es la proporción de tiempo que dispositivo está ocupado o el número pormedio de clientes en el dispositivo. Tiempo de Residencia: Rk es el tiempo total que un cliente tiene que permanecer en un dispositivo (NO es el tiempo de una sola visita). El tiempo de respuesta, R es la suma de los tiempos de residencia en todos PM los dispositivos: k=1 Rk . Throughput: Si un modelo est’a parametrizado en términos de Dk , se puede obtener el throughput del sistema X, pero no por dispositivo. Si Vk y Sk se conocen, los troughputs por dispositivos se pueden calcular como Xk = Vk X Longitud de Cola: la longitud de cola en el centro k, Lk , incluye los clientes que están esperando y los que están recibiendo servicio. • El número clientes esperando se puede calcular como Lk − Uk . • L es el número promedio de clientes en el sistema, para una clase batch L = N. • Para una clase transaccional L = XR. • Para una clase terminal L = N - XZ. Otra salida: la distribución de la longitud de cola. Medidas del Sistema Medidas del Centro de Servicio R tiempo de respuesta promedio X throughput del sistema L número promedio de clientes en el sistema Uk Utilización del centro k Rk tiempo de residencia promedio en el centro k Xk throughput del centro k Lk número promedio de clientes en el centro k Modelo de Colas Separable de un Sistema de Computación Centralizado Posee entradas y salidas como las mencionadas anteriormente Los centros de servicio se usan para representar al procesador y a los dispositivos de almacenamiento. Existen ciertas caracterı́sticas que no pueden ser representadas y ciertas medidas que no se pueden obtener directamente de las salidas. Entre estas se incluyen: • Posesión simultánea de un recurso. • Restricciones que impone la memoria • Conducta adaptativa • Creación de procesos y sincronización • Planificación con prioridades • Distribuciones de los tiempos de respuesta. Técnicas de Solución Exactas para Modelos de Redes de Colas Abiertos Se supondrá que todos los dispositivos se pueden modelar como centros de colas (un solo servidor con tiempos de servicio exp.) o centros de espera. El tiempo de respuesta viene dado por: Ri = Si(1 + Li) La ecuación anterior supone que el servicio no tiene memoria (memoryless property). Junto con las leyes operacionales ayudan a obtener los valores promedios de ciertos parámetros de desempeño. Por ley de balance del flujo de trabajos el throughput promedio es igual a la tasa de llegadas: X = λ El throughput promedio del k-ésimo dispositivo es: Xk = XVk La utilización, utilizando la ley de utilización es: Uk = Xk Sk = XVk Sk = λDk La longitud de cola del k-ésimo dispositivo es: Lk = Xk Rk = Xk Sk (1 + Lk ) = Uk (1 + Lk ) o, Uk Lk = 1 − Uk Substituyendo la expresión de Lk en la expresión del tiempo de respuesta se tiene: Ri = Si 1 − Ui Centros de Espera Hay infinitos servidores por lo que el tiempo de respuesta es igual al tiempo de servicio: Rk = Sk La longitud de cola es el número de trabajos recibiendo servicio: Lk = Rk Xk = Sk XVk = XDk = Uk La utilización representa el número promedio de trabajos recibiendo servicio y no necesita ser menor que 1. Análisis del Valor Medio Permite resolver modelos de colas cerrados. Provee valores promedios de desempeño. Se puede aplicar en redes con una variedad de disciplinas y distribuciones de servicio. Dado un modelo de colas cerrado con N trabajos, Reiser y Lavenberg (1980) mostraron que el tiempo de residencia en el k-ésimo dispositivo viene dado por: Rk (N ) = Sk [1 + Lk (N − 1)] (1) Lk (N − 1) es la longitud promedio de clientes en el k-ésimo dispositivo cuando en la red se encuentran N - 1 clientes. Dado el desempeño para N - 1 clientes, la ecuación (1) junto con las leyes operacionales nos permiten obtener el desempeño del sistema cuando se encuentran en él N clientes. Dado que el desempeño de un sistema sin usuarios (N = 0) se puede calcular fácilmente, el desempeño para un número mayor de usuarios se calcula de forma iterativa. Dado el tiempo de respuesta en cada dispositivo Rk , el tiempo de respuesta del sistema se puede obtener usando la ley del tiempo de respuesta general: R(N ) = M X i=1 Vk Rk (N ) El throughput del sistema, usando la ley del tiempo de respuesta interactiva es: N X(N ) = R(N ) + Z Los throughputs por dispositivos: Xk (N ) = X(N )Vk El número de clientes en los dispositivos cuando hay N clientes en la red se obtiene usando la ley de Little: Lk (N ) = Xk (N )Rk (N ) = X(N )Vk Rk (N ) En el caso de centros de espera: Rk (N ) = Sk Las ecuaciones anteriores definen una iteración del algoritmo MVA. Para N = 0, Lk (0) = 0. Algoritmo del MVA Inicialización: FOR i = 1 TO M DO Li = 0 Iteraciones: FOR n = 1 TO N DO BEGIN FOR i = 1 TO M DO Ri = END R= n X = Z+R Li = XViRi Xi = XVi Ui = XSiVi END ( Si(1 + Li(n − i)) Si PM i=1 RiVi Limitaciones de la Teorı́a de Colas Si el sistema que Ud. quiere modelar tiene alguna de las caracterı́sticas que a continuación se mencionan, puede ser muy difı́cil modelarlo usando la teorı́a de colas: Tiempos de servicio no exponenciaales Llegadas por ráfagas o dependientes de la carga Posesión simultánea de un recurso. Restricciones que impone la memoria Conducta adaptativa Creación de procesos y sincronización Tiempos de reflexión. Exclusión mutua