260 likes | 729 Views
Teoría de Colas. De Rolando Titiosky Basados en Extracto de: Ing Luís Zuloaga Rotta. Investigación de Operaciones, 2005. UNI FIIS, Peru. Guido J. Pace (UNNE FCENA). Modelos y simulación,1993. Instalaciones de Servicio. Modelizacion Con Colas. MODELO de COLAS
E N D
Teoría de Colas De Rolando Titiosky Basados en Extracto de: Ing Luís Zuloaga Rotta. Investigación de Operaciones, 2005. UNI FIIS, Peru. Guido J. Pace (UNNE FCENA). Modelos y simulación,1993.
Instalaciones de Servicio Modelizacion Con Colas • MODELO de COLAS • Aspecto o fenómeno de la vida moderna que encontramos en nuestras actividades diarias. • En la caja de un supermercado, • Accediendo a Internet, • En una planta de producción, etc. • Emerge el Modelo: cuando unos recursos compartidos necesitan ser accedidos para dar servicio a un elevado número de trabajos o clientes.
Predecir la performance del sistema. Evaluar estrategias alternativas para elegir la mejor. Determinar cómo Dimensionar el sistema Controlar la entrada para obtener la performance requerida, en términos de: Grado de servicio (GOS) Retardo Instalaciones de Servicio Objetivos de la Modelizacion de Colas
Instalaciones de Servicio Aplicaciones • Redes de comunicaciones: • Dimensionamiento de vínculos entre centrales de conmutación. • Dimensionamiento de recursos compartidos en centrales de conmutación y en procesadores. • Métodos de acceso en redes (FDMA, TDMA, CDMA, Aloha y sus variantes, CSMA y sus variantes, etc.). • Plantas de producción. • Redes viales. • Supermercados, bancos, “fast-food”,..
Instalaciones de Servicio Características Comunes • Flujo de “clientes” a través del sistema: • Comunicaciones telefónicas. • Paquetes de datos, celdas ATM, etc. • Automóviles. • Clientes. • “Servidores” o recursos compartidos: • Líneas troncales. • Canales de comunicación (frecuencias, intervalos de tiempo, códigos, etc.) • Buffers, memorias. • Caminos, cajeros, vendedores, etc. • Políticas de Trabajo: • Primero entrar Primero en Salir • El Trabajo Mas Corto Primero • RoundRobin • Etc…
Simple Fase Múltiple Canal Simple Múltiple Tipos de Colas Los sistemas de colas se distingue por atributos: • Número de fases, canales y Servidores. • Política: como se tratan las llegadas para dar servicio (FIFO, LIFO, Prioridades, etc.)
Conceptos • Políticas de Colas: el modo en que los clientes llegan y interactúan con las instalaciones de servicio. • FIFO, LIFO, Round Robin, etc… • Clientes: entidades cuya llegada ejerce demandas sobre alguna instalación. • Patrón de llegadas: función de: • Tamaño del universo de clientes posibles • Nivel de sus actividades del cliente.
Sistema de Cola Simple • Es un sistema Monofásico de canal simple • Un servidor con una cola de clientes esperando ser atendidos • Cualquier sistema de colas puede descomponerse en una red de estos sistemas. • Se supone: • Canal Simple: La instalación de servicio podrá acomodar sólo a un cliente a la vez • Política: FIFO: Las llegadas se atienden de acuerdo con el orden de llegada. • Incremento del Tiempo: Dt tan pequeño que • Es posible una llegada o una salida durante el intervalo Dt • Es imposible más de una llegada o una salida durante ese intervalo.
Colas Simples: Algoritmo Variables: • TLL: Tiempo de llegada de un elemento al sistema. • TS: Tiempo de servicio del sistema. • IA: Intervalo entre arribos de elementos (aleatorio). • T: Reloj del sistema (tiempo actual). • NC: Número de elementos en el sistema (longitud de la cola más elemento que se está atendiendo). • TAT: Tiempo de atención a un elemento (aleatorio). • TF: Tiempo de finalización de la ejecución. Condiciones Iniciales: TLL= Dar un valor Inicial TAT=NC=TS=IA=T=0 TF =Dar valor Inicial.
Colas Simples: Algoritmo/2 Proceso: 1. C/elemento que solicita el servicio debe esperar en cola hasta que el servidor se desocupe y pueda atenderlo. Si es el 1ero en llegar no necesita esperar a que lo atiendan. Variables: • TLL: Tiempo de llegada de un elemento al sistema. • TS: Tiempo de servicio del sistema. • IA: Intervalo entre arribos de elementos (aleatorio). • T: Reloj del sistema (tiempo actual). • NC: Número de elementos en el sistema (longitud de la cola más elemento que se está atendiendo). • TAT: Tiempo de atención a un elemento (aleatorio). • TF: Tiempo de finalización de la ejecución.
Colas Simples: Algoritmo/3 Proceso: 2. (TLL ≤ TS): el elemento llegó antes de que el sistema termine de atender a los que estaban en cola. 2.1. El Elemento debe esperar a que todos los que estuvieran delante sean atendidos. Esto se expresa con la operación 2.1.1. (T = TLL) Adelantar el Reloj hasta su llegada, 2.1.2. (GENERAR IA) Generación del IA para el próximo elemento: 2.1.3. (TLL=T+IA) Cálculo de su tiempo de llegada 2.1.4. (NC=NC+1) El incremento de la longitud de cola. 2.2. (NC = 1) Se verifica si es el primer elemento de la cola. 2.2.1. Si lo es, se lo atiende inmediatamente para lo cual: 2.2.1.1. (GENERAR TAT) se genera el tiempo de atención para ese Elemento 2.2.1.2. (TS=T+TAT) Se actualiza el tiempo de servicio (cuando terminara de atenderlo). 2.2.2. Si no es el primer elemento deberá esperar para ser atendido
Colas Simples: Algoritmo/4 Proceso: 3. (TLL > TS) El tiempo de llegada es mayor que el tiempo de servicio: transcurrirá un período antes del próximo arribo al sistema, por lo tanto hay tiempo para atender un elemento de los que están esperando en la cola. 3.1. (T = TS) La atención se inicia avanzando el reloj al tiempo de servicio, 3.2. (NC=NC–1) se decrementa la longitud de la cola 3.3. Si (NC>0) aún quedan elementos por atender. 3.3.1. (GENERAR TAT) Se toma uno de la cola y se genera un tiempo de Atención para hacer efectivo la Atención. 3.3.2. (TS = T + TAT) se lo atiende actualizando el tiempo de servicio del sistema, 3.4. Si (NC=0) la cola quedó vacía con el último elemento q se extrajo para Atender. 3.4.1. (TS = TLL) Por lo tanto solo será necesario avanzar el tiempo de servicio al instante en que llegue el próximo elemento.
Colas Simples: Algoritmo/5 Proceso: 4. Finalización del Proceso 4.1. (T<TF) El algoritmo sigue con la verificación de la condición de fin sin realizar otra operación. Consiste en comparar el reloj con un tiempo final que indica el momento en que la simulación finalizará 4.2. (NC>0) control sobre el tamaño de la cola que debe ser cero. Aquí se atienden a todos los Usuarios en Cola 4.2.1. Cuando llegamos a este Punto, se asigna un valor grande al TLL para evitar que nuevos elementos deseosos de ser atendidos se ubiquen en cola.
Colas Simples: Ejemplo La institución cuenta con un solo cajero que atiende una sola cola. Si hay en promedio más de una hora extra por día se justifica la incorporación del segundo cajero, tanto para reducir las horas extras como para mejorar la atención a sus clientes. Para verificar la necesidad se deberá simular el funcionamiento de dicha oficina durante un año, emitiendo diariamente los siguientes datos: a- Tiempo ocioso. b- Tamaño máximo de la cola. c- Máximo tiempo de atención. d- Cantidad de personas atendidas. e- Cantidad de horas extras. Por final se deberá emitir: f- Promedio de horas extras. g- Número promedio personas atendidas. h- Número máximo de personas atendidas en un día.
2 Colas Simples: Ejemplo • ACANT : Acumulador de cantidad de personas atendidas en un día. • ACEXT : Acumulador de tiempo extra. • CANT : Cantidad de personas atendidas en un día. • DIAS : Contador de días de la simulación (0 < DIAS < 261). • EXT : Tiempo extra. • IA : Intervalo entre arribos de personas al sistema. • MCANT : Mayor cantidad de personas atendidas en un día del año. • MNC : Mayor longitud de la cola alcanzada en un día. • MTA : Mayor tiempo de atención a una persona. • NC : Número de personas en la cola actualmente. • PROCAN: Promedio personas atendidas diariamente durante todo el año. • PROEX : Promedio de horas extras. • T : Reloj. Tiempo actual. • TA : Tiempo de atención a una persona. • TLL : Tiempo de llegada de una persona al sistema. • TOC : Tiempo ocioso en el sistema. • TS : Tiempo de servicio del sistema.
2 Colas Simples: Ejemplo • ACANT : Acumulador de cantidad de personas atendidas en un día. • ACEXT : Acumulador de tiempo extra. • CANT : Cantidad de personas atendidas en un día. • DIAS : Contador de días de la simulación (0 < DIAS < 261). • EXT : Tiempo extra. • IA : Intervalo entre arribos de personas al sistema. • MCANT : Mayor cantidad de personas atendidas en un día del año. • MNC : Mayor longitud de la cola alcanzada en un día. • MTA : Mayor tiempo de atención a una persona. • NC : Número de personas en la cola actualmente. • PROCAN: Promedio personas atendidas diariamente durante todo el año. • PROEX : Promedio de horas extras. • T : Reloj. Tiempo actual. • TA : Tiempo de atención a una persona. • TLL : Tiempo de llegada de una persona al sistema. • TOC : Tiempo ocioso en el sistema. • TS : Tiempo de servicio del sistema.
DÍA Nº ...: 254 Tiempo ocioso........................................: 7 min. Tamaño máximo de la cola................: 7 Máximo tiempo de atención.............: 9 Cantidad de personas atendidas..: 51 Cantidad de horas extras................: 5 min. DÍA Nº ...: 255 Tiempo ocioso........................................: 6 min. Tamaño máximo de la cola................: 14 Máximo tiempo de atención.............: 8 Cantidad de personas atendidas..: 55 Cantidad de horas extras................: 4 min. DÍA Nº ...: 256 Tiempo ocioso........................................: 0 min. Tamaño máximo de la cola................: 18 Máximo tiempo de atención.............: 10 Cantidad de personas atendidas..: 66 Cantidad de horas extras................: 8 min. DÍA Nº ...: 257 Tiempo ocioso........................................: 4 min. Tamaño máximo de la cola................: 9 Máximo tiempo de atención.............: 7 Cantidad de personas atendidas..: 44 Cantidad de horas extras................: 5 min. DÍA Nº ...: 258 Tiempo ocioso........................................: 3 min. Tamaño máximo de la cola................: 9 Máximo tiempo de atención.............: 9 Cantidad de personas atendidas..: 57 Cantidad de horas extras................: 6 min. DÍA Nº ...: 259 Tiempo ocioso........................................: 15 min. Tamaño máximo de la cola................: 10 Máximo tiempo de atención.............: 9 Cantidad de personas atendidas..: 49 Cantidad de horas extras................: 9 min. DÍA Nº ...: 260 Tiempo ocioso........................................: 0 min. Tamaño máximo de la cola................: 9 Máximo tiempo de atención.............: 8 Cantidad de personas atendidas..: 48 Cantidad de horas extras................: 1 min. PROMEDIOS Promedio de horas extras.................: 5.68 min. Promedio de personas atendidas...........: 53.66 Nº Máximo de personas atendidas en un día.: 67 Cola Simple. Ejemplo. Salida (solo se listan los últimos días de simulación por cuestión de espacio)
Unidad 5Planificación de Trabajos en las Colas Rolando Titiosky Extracto de: Guido J. Pace (UNNE FCENA). Modelos y simulación,1993. Introducción a la Simulación de Eventos Discretos. Gabriel A. Wainer. Departamento de Computación – FCEN, UBA. Ing Luis Zuloaga Rotta. Investigación de Operaciones, 2005. UNI FIIS, Peru.
Planificación • Repartir el tiempo disponible de atención de un Recurso Servidor entre los Elementos que están en cola y esperan su Servicio. • Solo uno de ellos puede serlo (en c/Servidor). • Existen 2 tipos de algoritmos de planificación, • Expropiativos: atienden el Elemento hasta terminar. • No expropiativos: Asignan un tiempo de Atención a c/Elemento después del cual se lo saca y se atiende a otro Elemento y hasta que c/Elemento acabe su trabajo. • A menudo, se realiza Simulación de un Sistema de Colas bajo diferentes políticas a fin de encontrar la que mejor se ajusta a la distribución de Servicio del Sistema.
CRITERIOSDEPERFORMANCE • Utilización del Servidor: es cuanto tiempo ha pasado utilizado el Servidor: T.Utilizado/TiempoTotal • Rendimiento: Cantidad de Elementos Atendido • Tiempo de retorno: Intervalo desde el momento de inicio de un trabajo hasta su final. • Tiempo de espera: Intervalo desde el momento de encolamiento hasta ser atendido. • Tiempo de respuesta: Es el tiempo que el proceso tarda en comenzar a responder, pero no el tiempo que tarda en emitir esa respuesta. Maximizar utilización y rendimiento del servidor Minimizar tiempo de retorno, de espera y de respuesta. La Planificación de la Cola Afecta Sensiblemente la Performance
PLANIFICACIÓN DE COLAS First-Come-First-Served: (FCFS) Primero en Llegar, Primero en ser Servido. Cola FIFO. La performance del FCFS es a menudo muy pobre.
PLANIFICACIÓN DE COLAS. Cont Shortest Job First: (SJF) Trabajo más corto Primero. Si existen 2 elementos con el mismo tiempo de tratamiento se usa FCFS.
SJF • Tiene el mínimo tiempo de espera promedio para un conjunto de elementos. • Quedó demostrado que tratando a un elemento corto antes que uno largo, se disminuye el tiempo de espera del corto que el incremento de espera del largo. • Por lo tanto el promedio de tiempo de espera se achica. • La Gran dificultad del SJF es conocer el tiempo de tratamiento de los elementos.
PLANIFICACIÓN DE COLAS. Cont Prioridad: SJF es un caso especial del algoritmo de planificación por prioridades. Se asocia una prioridad a cada elemento y se otorga el servidor al trabajo con mayor prioridad. Aquellos trabajos con igual prioridad, son planificados de acuerdo a FCFS. SJF: la prioridad (p) es la inversa del tiempo de tratamiento(TT) , p=1/TT Bloqueo indefinido o inanición. Solución: añejamiento: en forma gradual se aumenta la prioridad de un elemento luego de pasado cierto tiempo en espera.
PLANIFICACIÓN DE COLAS. Cont Round-Robin Se define un quantum de tiempo. La cola es una cola circular. Se recorre la cola asignando el servidor a cada proceso por intervalos máximos de un quantum. La performance depende fuertemente del quantum. Si es muy grande: FCFS. Si es muy pequeño, la conmutación de contexto entorpece el sistema.