Sei sulla pagina 1di 30

TÉCNICAS DE

SIMULACIÓN
CLASE 4

9/16/19 TDS115 1
METODOLOGÍA TEMÁTI
BÁSICA DE LA CA
EL PROBLEMA DE
LAS FALLAS EN
MAQUINAS
SIMULACIÓN
VEREMOS LOS ELEMENTOS DE
ESQUEMA DE
LA METODOLOGÍA POR ACCESO BASADO
EN TOKEN
MEDIO DE TRES EJEMPLOS:

UN SISTEMA DE
MANUFACTURA
EN DOS ETAPAS

FIN DE LA CLASE

9/16/19 TDS115 2
1. EL PROBLEMA DE LAS FALLAS EN MÁQUINAS.
Considere el caso de un sistema de colas de un solo servidor con una población finita. A este
problema también se le conoce el problema de interferencia en máquinas. Este problema se
originó en la necesidad de modelar el comportamiento de fallas y reparación de máquinas.
Más tarde, se usó extensivamente en el modelaje por computadora.

Considere M máquinas. Cada máquina es funcional por un período de tiempo y luego se


arruina. Hay un Técnico que repara las máquinas. Una máquina permanece arruinada hasta
que el técnico la repara. Las máquinas arruinadas se sirven bajo la política Primero en entrar
primero en salir (FIFO) y el servicio es no desalojable. Aquí en este modelo el tiempo total
que la, máquina pasa inactiva, es el tiempo que tiene que esperar en cola más el tiempo que
el técnico tarda en repararla. Una máquina se hace operacional inmediatamente después
que ha sido reparada. Por lo tanto, cada máquina sigue el ciclo básico mostrado en la
siguiente figura, el cual se repite continuamente.
Tiempo en que esta Tiempo que la máquina permanece arruinada Tiempo en que esta
operacional Tiempo en la cola Tiempo de reparación operacional
9/16/19 TDS115 3
En general, se tiene la información concerniente al tiempo operacional y al tiempo de
reparación de una máquina. Sin embargo, para determinar el tiempo que la máquina pasa sin
operar es necesario calcular el tiempo de espera en cola hasta que llega al técnico para que la
repare. Si se conoce este tiempo, entonces se puede calcular el tiempo de utilización de la
máquina. Otra cantidad de interés podría ser el tiempo de utilización del técnico.

A continuación se ilustra lo que se puede considerar como un sistema de colas para una
población finita con un solo servidor (Que es la cola del técnico):
Máquinas en espera a ser atendidas
por el técnico
Población Finita de Técnico
Máquinas

Por simplicidad se asumirá que el tiempo operacional de cada máquina es de 10 unidades de


tiempo y que el tiempo de reparación de cada máquina es de 5 unidades de tiempo.
9/16/19 TDS115 4
Es decir, que se esta suponiendo que las máquinas tienen tiempo de operación idéntico y
constante. Al igual que tienen tiempo de reparación constante e idéntico (Esto puede ser
cambiado al caso en el que cada máquina tenga su propio tiempo operacional y de reparación
aleatorio).

El primero y más importante paso en la construcción del modelo de simulación para el sistema
descrito anteriormente, es identificar los eventos que alteran el estado del sistema. Esto nos
lleva al problema de definir las variables de estado. La selección de las variables de estado
depende principalmente del tipo de medidas de realización que deseamos obtener del sistema
bajo estudio.

En este problema la variable de estado más importante es “n”, el número de máquinas


arruinadas. Es decir aquellas haciendo cola más la que el técnico está reparando.
Si n=0, entonces se sabe que la cola está vacía y el técnico desocupado. Si n=1, entonces la
cola está vacía y el técnico ocupado. Si n>1, entonces el técnico está ocupado y hay n-1
máquinas arruinadas esperando en cola a ser atendidas por el técnico.

9/16/19 TDS115 5
Existen dos eventos que permiten que el estado del sistema cambie:
1. Una máquina se arruina, y por lo tanto ocurre una llegada a la cola.
2. Una máquina se repara, y por lo tanto una salida ocurre de la cola.
Un Evento de llegada Un Evento de salida

Una Máquina Una Máquina


se arruina se Repara

Si No
Técnico Se reparará El técnico se
Ocupado ? Se une a la cola otra máq.? desocupa

NO Si

Se inicia una
Técnico se pone Nueva reparación
ocupado

La reparación
se inicia
9/16/19 TDS115 6
Para incorporar los dos eventos básicos en un modelo de simulación, se necesitan un conjunto
de variables llamadas “CLOCKS”, las cuales llevarán el control de los instantes del tiempo en el
que ocurre una llegada o una salida. Para este modelo, se necesita asociar un “clock” para
cada máquina. El “clock” simplemente mostrará el instante de tiempo en que la máquina se
arruina, y equivalentemente, en el que la máquina llega a la cola del técnico. Resulta obvio
que en cualquier instante, los únicos clocks que interesan son los de las máquinas que se
encuentran en operación. Además de estos “clocks”, se requiere otro, que muestra el instante
de tiempo e el que la máquina que está siendo reparada por el técnico se hace operacional, y
equivalentemente, el instante en el que ocurre un evento de salida. Así en total, si tenemos
“m“ máquinas, entonces tendremos “m+1” clocks. Cada uno de estos clocks está asociado con
la ocurrencia de un evento. En particular, “m” clocks están asociados con “m” eventos de
llegada y un clock está asociado con el evento “Salida”.

Además de estos “clocks”, se requiere de un “Master Clock”, el cual lleva el control del tiempo
simulado. El corazón de la simulación se centra en la manipulación de todos estos eventos.

9/16/19 TDS115 7
Usando los relojes mencionados, el modelo decide cuál de los eventos ocurrirá después,
entonces el Master Clock se avanza a este instante de tiempo, y el modelo toma las acciones
como se ilustró en los diagramas anteriores.
a

Escoger
Una Máquina se siguiente
Manipulación de
Una Máquina se
arruina evento
Repara

Eventos
Se crea un
No tiempo de
Cola Vacía ? operación
a

Si
Si
Cola Vacía ?
a
Genera un nuevo
servicio No

Genera un nuevo
servicio

9/16/19 TDS115 a 8
Ahora estamos listos para llevar a cabo la simulación.
Asumamos que tenemos 3 máquinas. Sean CL1, CL2, CL3 sus clocks asociados. Sea CL4 el clock
asociado al evento Salida. Sea MC el Master Clock y sea R la variable que indica si el Técnico
esta ocupado o desocupado. Asumamos que al tiempo 0, todas las máquinas están
funcionando, y que CL1=1, CL2=4 y CL3=9, son las condiciones iniciales.

MC+10 MC CL1 CL2 CL3 CL4 n R


0 1 4 9 - 0 DESOC.
CL4=MC+5 1 - 4 9 6 1 OCUP.
4 - - 9 6 2 OCUP.
6 16 - 9 11 1 OCUP.
9 16 - - 11 2 OCUP.
11 16 21 - 16 1 OCUP.
16 - 21 26 21 1 OCUP.

9/16/19 TDS115 9
INICIAR LA
SIMULACIÓN PARÁMETROS INCIALES DE LA SIMULACIÓN

MC=0, CL1=1, CL2=4, CL3=9, n=0, R=0 (DESOCUPADO)

Llegada de la -iesima máquina Salida de la -ésima


i máquina
SIGUIENTE
MC=CLi MC=CL4
EVENTO

No
n=0 ? n=n+1 CLi=MC+10

Si

R = 1
n=n+1

CL4 =MC + 5

Si
n=0 ? R=0
n = n+1

No

A A
CL4=MC+5

UN FLUJOGRAMA DEL A

PROGRAMA DE SIMULACIÓN VOLVER A MENÚ


9/16/19 TDS115 10
2.UN ESQUEMA DE ACCESO BASADO EN TOKEN
(PASO DE TESTIGO COMO CONTROL DE ACCESO AL MEDIO).
Considere una red de computadoras consistiendo de un número de nodos interconectados vía
cable compartido o a través de un medio inalámbrico.
Las redes “Token Ring” son una arquitectura de red
desarrollada por IBM en los años 70, con topología lógica
en anillo y técnica de acceso de paso de testigo, usando un
frame de 3 bytes llamado “Token” que viaja alrededor del
anillo. Actualmente en desuso. Basada en el estándar IEEE
802.5, la red puede verse como si fuera una estrella debido
a su topología física. Por lo general utiliza un cable
apantallado (aunque también puede usar par trenzado). La
longitud total no debe superar los 366 ms. Aunque la UAEM
distancia entre un nodo y la Unidad de Acceso de Estación
Múltiple (UAEM) no debe exceder los 96 ms.
9/16/19 TDS115 11
En nuestro ejemplo, consideraremos que existe un token que visita los nodos en cierta
secuencia lógica. Los nodos están conectados de manera tal que forman un anillo lógico. En el
caso de un medio interconectado por cable, el orden en el que los nodos están lógicamente
conectados no es necesariamente el mismo orden en el que están físicamente conectados a la
red. Asumiremos que el token nunca se pierde. Un nodo no puede transmitir a menos que
tenga el token. Cuando un nodo recibe el token de su nodo lógico previo en el flujo de
transmisión, lo mantiene por un período de tiempo T, antes de enviarlo al siguiente nodo.
Durante este tiempo el nodo transmite paquetes. Cada paquete consiste de datos y una
cabecera. La cabecera consiste de la dirección del remitente, la dirección del destino y varios
campos de control. El nodo envía o remite el token al siguiente nodo cuando: a) Ha
transcurrido el tiempo T, ó b) Ha transmitido todos los paquetes en su cola, antes de que
expire el tiempo T, ó c) Él recibió el token en un período en el que no tenía paquetes que
transmitir en su cola. Por otro lado, si se termina el tiempo T, y el nodo se encuentra
transmitiendo un paquete, entonces terminará de enviar el paquete y luego remitirá el token
al correspondiente nodo siguiente en el flujo de transmisión.

9/16/19 TDS115 12
Conceptualmente, esta red se puede ver como un cierto número de colas, una por cada nodo.
Solo la cola que tiene el nodo puede transmitir paquetes. El token puede verse como el server,
el cual establece una conexión de manera cíclica entre las colas como se muestra en la figura.
Cuando el token accede a una cola, los paquetes que se encontraban en espera pueden ser
transmitidos en la red.
El máximo de tiempo que la cola puede tener el token
es T unidades de tiempo. Tiempo después del cual debe
remitir el token según las reglas antes dichas. El tiempo
que se tarda el token para pasar de una cola a la
siguiente se llama “Tiempo de ruteo” (“Switch-over
time”). Este tipo de sistemas de colas son los
denominados “Polling systems”, que dentro de la teoría
matemática de probabilidades es un sistema en el que
un servidor visita un conjunto de colas en algún orden.
Este modelo tiene aplicaciones en redes de computadoras, telecomunicaciones, procesos de
fabricación y administración del tráfico de carreteras.
9/16/19 TDS115 13
Resulta mucho más fácil usar el modelo de sistemas de colas dado en la figura 1.10 cuando se
está construyendo el modelo de simulación de este esquema de acceso.
Los siguientes eventos deben tomarse en cuenta en esta simulación: Para cada cola hay un
evento de llegada y un evento de finalización de servicio. Para el Token, existe un tiempo de
llegada al siguiente evento cola y el tiempo al que el Token tiene que ser remitido al siguiente
nodo, conocido como “Tiempo-fuera” (Time-out). Para cada cola, se lleva registro del tiempo
de llegada del siguiente paquete, el número de clientes en la cola, y el tiempo al que un
paquete se ha programado para salir (si esta siendo transmitido). Para el Token, se lleva
registro del tiempo de llegada a la siguiente cola, el número de la cola que puede tener el
token y el time-out.
En la corrida de simulación que mostramos a continuación, asumimos que la red basada en
token consiste de tres nodos. Es decir, que el sistema de colas provisto en la figura 1.10
consiste de tres colas. Los tiempos entre-llegadas para las colas 1, 2 y 3 son constantes e
iguales a 10, 15 y 20 unidades de tiempo respectivamente. T se asume que es igual a 15
unidades de tiempo. El tiempo que se tarda en transmitir un paquete se asume que es
constante e igual a 6 unidades de tiempo. El tiempo de ruteo es igual a 1 unidad de tiempo.
9/16/19 TDS115 14
Para las condiciones iniciales asumimos que el sistema está vacío en el tiempo 0. Y que las
primeras llegadas a las colas 1, 2 y 3 ocurren en los tiempos 2, 4 y 6 respectivamente. También
en el tiempo 0, el token está en la cola 1. En el caso de que una llegada y una salida ocurran
simultáneamente en una misma cola, se asume que la llegada ocurre primero. Además, si el
Token y el paquete llegan a una cola al mismo tiempo, se asume que el paquete llega primero.

Las siguientes variables representan los relojes (clocks) usados en el diagrama de flujo:
• MC: Master Clock.
• Ati: Clock de tiempo de llegada de la cola i, i=1,2,3.
• Dti: Clock del tiempo de salida de la cola i, i=1,2,3.
• TOUT: Clock del Time-Out del token.
• ANH: Clock para el tiempo de llegada del token a la siguiente cola.

La lógica para los eventos se da en las siguientes figuras.


El conjunto de todos los eventos posibles que pueden ocurrir en una simulación se conoce
como “Lista de Eventos”, y es la que se tiene que ir explorando para localizar el siguiente
evento.
9/16/19 TDS115 15
9/16/19 TDS115 16
9/16/19 TDS115 17
9/16/19 TDS115 18
VOLVER A MENÚ
9/16/19 TDS115 19
3. UN SISTEMA DE MANUFACTURA EN DOS ETAPAS.
Consideremos un sistema de manufactura que conste de dos etapas como se ilustra en la
siguiente figura:

La etapa 1 consiste de una cola con capacidad infinita, a la que llamaremos “cola 1”
atendida por un solo servidor, llamado “server 1”. La etapa 2 consiste de una cola de
capacidad finita, a la que llamaremos “cola 2” atendida por un solo servidor llamado
“server 2”. Cuando la cola 2 se llena el server 1 se detiene. Más específicamente, con la
finalización del servicio en el server 1, el server se bloquea si la cola 2 está llena. Es decir el
server 1 no puede atender a n ingún cliente más que se encuentre esperando en la cola 1.
El server 1 continuará bloqueado hasta que un cliente salga de la cola 2.
9/16/19 TDS115 20
Cuando un cliente abandona la cola 2, queda un espacio en la cola, y el cliente que recién se ha
terminado de atender en el cola 1, se podrá mover a la cola2. Liberando así al servidor 1 para
que pueda atender a otro cliente de la cola1.
Cada server también se puede arruinar, y se puede arruinar ya sea que esté ocupado o no. Un
server arruinado no puede dar servicio sino hasta que sea reparado. Si un cliente se encontraba
en el servidor, cuando éste se arruinó, entonces continuará su servicio a partir de donde se
quedó al momento de la ruptura del servicio cuando el server vuelva a dar servicio luego de su
reparación. Los siguientes eventos (y Clocks asociados) pueden ocurrir:
1. La llegada de un cliente a la cola 1 (clock AT)
2. La finalización de un servicio en el server 1 (clock DT1)
3. La finalización de un servicio en el server 2 (clock DT2)
4. La ruptura del servicio en el server 1 (clock BR1)
5. El server 1 se vuelve operacional luego de ser reparado (OP1)
6. La ruptura del servicio en el server 2 (clock BR2)
7. El server 2 se vuelve operacional luego de ser reparado (OP2)
A continuación se describe qué otros eventos pueden ocurrir cuando cada uno de los eventos
anteriores ocurre.
9/16/19 TDS115 21
1. Una llegada a la cola 1:
a) Llegada a la cola 1 (un nuevo valor para el clock AT) este evento siempre se programa
cada vez que ocurre una llegada.
b) La salida del server 1 (un nuevo valor para el clock DT1), este evento se lanzara si la
nueva llegada encuentra el server desocupado.
2. Finalización del servicio en el server 1:
a) La finalización del servicio en el server 1 (un nuevo valor para el clock DT1), este evento
ocurrirá si hay uno o más clientes en la cola 1.
b) Finalización del servicio en el server 2 (un nuevo valor para el clock DT2), ocurrirá si el
cliente que completa su servicio en el server 1 encuentra el server 2 desocupado.
La ocurrencia del evento “finalización del servicio en el server 1”, puede causar que el
server 1 quede bloqueado, si la cola 2 está llena.
3. Finalización del servicio en el server 2:
a) La finalización del servicio en el server 2 (un nuevo valor para el clock DT2), este evento
ocurrirá si hay uno o más clientes en la cola 2.
b) Finalización del servicio en el server 1 (un nuevo valor para el clock DT1), este evento
ocurrirá si el server 1 estaba bloqueado.
9/16/19 TDS115 22
4. Server 1 se arruina:
a) Server 1 se vuelve operacional (un nuevo valor para el clock OP1) este evento da el
tiempo en el futuro en el que el server 1 se reparará y se vuelva operacional. Si el
server 1 estaba ocupado cuando se arruinó, actualiza el clock de la finalización del
servicio en el server 1 para reflejar el retraso debido a la reparación.
5. El server 1 se vuelve operacional:
a) El server 1 se arruina (un nuevo valor para el clock BR1), este evento da el tiempo en el
futuro en el que el server 1 se arruinará. Durante este tiempo el server estará funcional
b) Finalización del servicio en el server 1 (un nuevo valor para el clock DT1): si el server
estaba desocupado cuando se arruinó, y la cola 1 no está vacía al momento en el que
vuelve operacional, entonces un nuevo servicio iniciará.
6. Server 2 se arruina:
a) Server 2 se vuelve operacional (un nuevo valor para el clock OP2) este evento da el
tiempo en el futuro en el que el server 2 se reparará y se vuelva operacional. Durante
ese tiempo el server estará no funcional.
Si el server 2 estaba ocupado cuando se arruinó, actualiza el clock de la finalización del
servicio en el server 2 para reflejar el retraso debido a la reparación.
9/16/19 TDS115 23
7. Server 2 se vuelve operacional:
a) El server 2 se arruina (un nuevo valor para el clock BR2), este evento da el tiempo en el
futuro en el que el server 2 se arruinará. Durante este tiempo el server estará funcional
b) Finalización del servicio en el server 2 (un nuevo valor para el clock DT2): si el server
estaba desocupado cuando se arruinó, y la cola 2 no está vacía al momento en el que
vuelve operacional, entonces un nuevo servicio iniciará.

En la siguiente tabla de simulación manual, se asume que la capacidad del buffer de la


segunda cola es 4 (esto incluye al cliente siendo atendido). Todos los tiempos de servicio,
tiempos entre llegadas, tiempos operacionales y de reparación son constantes con los
siguientes valores: Tiempo entre llegadas = 40, tiempo de servicio en el nodo 1 = 20, tiempo de
servicio en el nodo 2 = 30, Tiempo operacional para el server 1 = 200, tiempo operacional para
el server 2 = 300, tiempo de reparación para el server 1 = 50. Tiempo de reparación para el
server 2 = 150. Inicialmente se asume que el sistema está vacío. La primera llegada ocurre en
el tiempo 10, el server 1 se arruinará por primera vez en el tiempo 80, y el server 2 en el
tiempo 90.
9/16/19 TDS115 24
Dado que estamos trabajando con números enteros, es posible que más de algún clock
tengan el mismo valor. Es decir, que más de un evento pueda ocurrir al mismo tiempo. En
esta simulación en particular, eventos simultáneos se pueden considerar en cualquier orden.
Sin embargo, en general, el orden en que dichos eventos se toman en cuenta puede tener
una relevancia significativa y deberá tomarse en cuenta para la simulación. En una
simulación, típicamente, los Clocks se representan por números reales. Y por consiguiente, es
poco probable tener eventos que ocurran al mismo tiempo.

9/16/19 TDS115 25
9/16/19 TDS115 26
9/16/19 TDS115 27
9/16/19 TDS115 28
9/16/19 TDS115 VOLVER A MENÚ 29
SIGUE LA CLASE 5 EL MARTES

VOLVER
9/16/19 TDS115 30

Potrebbero piacerti anche