SlideShare ist ein Scribd-Unternehmen logo
1 von 17
1
Explotación de
Sistemas Informáticos
Luis de la Ossa
Departamento de Sistemas Informáticos - UCLM
Tema 6: Simulación de sistemas
informáticos
En este tema se hace una breve introducción a lo que
es la simulación de sistemas y el modo en que esta
puede utilizarse para estudios de evaluación del
rendimiento.
Los conceptos que se presentarán serán ampliados y
utilizados en el desarrollo de la práctica 2.
Tema 6: Simulación de sistemasESSII
2
Índice
6.1 Introducción
6.2 Conceptos en simulación de eventos discretos.
6.3 Simulación de sistemas informáticos.
6.4 Pasos y errores en la simulación.
Tema 6: Simulación de sistemasESSII
Tema 6:
Simulación de sistemas
6.1 Introducción
Tema 7: Simulación de sistemasESSII
3
6.1: Introducción
Tema 6: Simulación de sistemasESSII
¿Qué es la simulación?
La simulación reproduce el comportamiento de un sistema mediante el uso de
un programa informático y sirve para analizar su comportamiento y rendimiento.
Entradas: Un conjunto de parámetros.
Algunos fijos y otros generados a partir de distribuciones de probabilidad.
Con trazas de la carga de trabajo real.
Salidas:
Datos numéricos y de otros tipos recogidos.
Estos datos pueden ser considerados como muestras del rendimiento del
sistema.
6.1: Introducción
Tema 6: Simulación de sistemasESSII
¿Por qué usar simulación?
La simulación resulta útil para estimar el rendimiento de un sistema en distintos
casos:
El sistema es demasiado complejo como para modelarlo analíticamente.
Es demasiado costoso construir un prototipo para mediciones.
Se ha de estudiar un número importante de alternativas.
Proporciona un sistema virtual basado en qué aplicaciones pueden ser
diseñadas y testeadas.
Problema: Las simulaciones pueden fallar.
4
6.1: Introducción
Tema 6: Simulación de sistemasESSII
Sistemas y entornos
Un sistema se define como un grupo de objetos que se unen en una
interacción o interdependencia regular para un propósito determinado común.
Por ejemplo: En una línea de producción de automóviles las máquinas,
partes componentes y obreros operan de manera conjunta a lo largo de
luna línea de ensamblaje para producir un vehículo.
Entorno: El sistema es afectado por los cambios que ocurren en el exterior.
Estos cambios se dicen que ocurren en el entorno del sistema.
Hay una separación entre el sistema y el entorno.
6.1: Introducción
Tema 6: Simulación de sistemasESSII
Componentes de un sistema
Entidad: Es un objeto de interés en el sistema.
Atributo: Es una propiedad de una entidad.
Actividad: Es el periodo de tiempo de una longitud específica:
Por ejemplo: En un banco, los clientes serían una de las entidades, su
balance un atributo, y hacer un depósito es una actividad.
Estado: Es una colección de variables que son necesarias para escribir el
sistema en cualquier instante y que son relativas a los objetivos del estudio.
Evento: Es una ocurrencia instantánea que puede cambiar el estado del
sistema.
Dependiendo del propósito, el número de componentes (entidades,
atributos, actividades, estados y eventos) varía.
5
6.1: Introducción
Tema 6: Simulación de sistemasESSII
Modelo de un sistema
Un modelo se define como la representación de un sistema con el propósito
de estudiar el sistema.
Hay modelos matemáticos y físicos.
Un modelo matemático usa notación simbólica y ecuaciones matemáticas
para representar un sistema. Un modelo de simulación es un tipo particular de
modelado matemático de un sistema.
6.1: Introducción
Tema 6: Simulación de sistemasESSII
Modelos de simulación
Estáticos o dinámicos: En los modelos estáticos el sistema se comporta
igual durante toda la simulación, mientras que en el dinámico cambia a lo largo
del tiempo.
Deterministas o estocásticos: En los modelos deterministas siempre se
obtiene una misma salida ante las mismas entradas, mientras que los
estocásticos cuentan con una componente aleatoria.
Simulación de eventos o de sistemas continuos: Simulan sistemas
discretos o continuos.
Sistemas abiertos o cerrados: En los sistemas abiertos, la entrada es
externa e independiente del modelo, mientras que en los cerrados no hay
entrada externa.
6
6.1: Introducción
Tema 6: Simulación de sistemasESSII
Sistemas discretos y continuos.
En los sistemas discretos las variables de estado cambian solamente en un
conjunto discreto de puntos en el tiempo.
En los sistemas continuos los cambios de estado ocurren continuamente en
el tiempo.
1
2
3
time t time t
water
Tema 6:
Simulación de sistemas
6.2 Conceptos en simulación de eventos
discretos
Tema 6: Simulación de sistemasESSII
7
6.2: Conceptos en simulación de eventos discretos
Tema 6: Simulación de sistemasESSII
Existen una serie de componentes específicos en los sistemas de simulación basados
en eventos discretos:
Lista: Una colección de entidades asociadas o ordenadas con algún criterio lógico.
Notificación de un evento: El registro de un evento que ocurre en el instante actual o
en el futuro, junto con los datos asociados necesarios para ejecutar el evento. Como
mínimo, hay que registrar cuando se ejecutará y de qué tipo es.
Lista de eventos: Una lista de notificaciones de futuros eventos ordenados por
tiempo de ocurrencia. Esto se conoce también como lista futura de eventos (FEL).
Actividad: Una duración de tiempo de longitud específica, que es conocida cuando
comienza:
Por ejemplo: Tiempo de servicio o tiempo entre llegadas.
Retraso: Una duración de tiempo de longitud desconocida y que no se sabe hasta
que termina.
6.2: Conceptos en simulación de eventos discretos
Tema 6: Simulación de sistemasESSII
Una actividad representa típicamente un tiempo de servicio, un tiempo entre llegadas
o cualquier otro tiempo de proceso cuya duración haya sido caracterizada por el analista.
La duración de una actividad puede ser especificada de varios modos:
De modo determinista: con un valor.
Estadísticamente: Una variable aleatoria que se ajuste a una determinada
distribución.
Como una función que depende de variables del sistema y atributos de la
entidad.
La duración de una actividad es computable a partir de su especificación en el
instante que comienza.
Una notificación de evento se crea con un tiempo que es igual al de la completitud de
la actividad.
Por ejemplo si tenemos el reloj a 100 y la actividad dura 5 segundos, la
notificación de eventos se genera con otro tipo de evento en el instante 105.
En contraste con la actividad, la duración de un retardo no es especificada por el
analista, sino determinada por las condiciones del sistema.
Actividad
8
6.2: Conceptos en simulación de eventos discretos
Tema 6: Simulación de sistemasESSII
El mecanismo para avanzar el tiempo de simulación y garantizar que todos los
eventos ocurren en el orden cronológico correcto se basa en la lista de eventos futuros
(FEL).
La lista contiene todas las notificaciones de evento para los eventos que han sido
asignados a un tiempo futuro.
Asignar un evento futuro significa que en el instante que la actividad comienza, su
duración se computa en base a alguna distribución.
En el mundo real, la mayoría de los eventos futuros suceden meramente.
En el modelo, esos eventos se representan mediante el fin de alguna actividad.
En el instante t, la FEL contiene todos los eventos futuros previamente agenciados y
sus instantes asociados.
El FEL se ordena por tiempo de evento. Eso significa que los eventos se colocan
cronológicamente.
El algoritmo de asignación de eventos y avance de tiempo
6.2: Conceptos en simulación de eventos discretos
Tema 6: Simulación de sistemasESSII
El evento asociado con el instante t es llamado el evento inminente; esto significa que
será el siguiente evento en ocurrir.
Después de que el estado del sistema en el periodo t haya sido actualizado, el reloj
avanza hasta el periodo t1, y el evento inminente se borra de la FEL.
La ejecución de un evento inminente implica un nuevo estado.
Durante el instante ti pueden generarse nuevos eventos futuro. Si son generados, se
agendan creando nuevas notificaciones y colocándolas en el sitio adecuado de la fEL.
Entonces el reloj avanza hasta el siguiente evento inminente.
Este proceso se repite hasta que la simulación termina.
El algoritmo de asignación de eventos y avance de tiempo
9
6.2: Conceptos en simulación de eventos discretos
Tema 6: Simulación de sistemasESSII
Paso 1: Borrar la notificación de evento para el inminente.
Paso 2: Ejecutar el evento inminente y cambiar el estado del sistema.
Cambiar los atributos de las entidades si se necesita.
Paso 3: Generar los eventos futuros (si es necesario) y situar sus
notificaciones en la FEL ordenados por tiempo.
Paso 4: Avanzar el reloj hasta el siguiente evento inminente.
Paso 5: Refrescar las estadísticas y contadores.
Este proceso se repite hasta que la simulación termina.
El algoritmo de avance de tiempo
6.2: Conceptos en simulación de eventos discretos
Tema 6: Simulación de sistemasESSII
La longitud y el contenido de la FEL cambia constantemente mientras la
simulación progresa.
Eventos principales:
Borrado de un evento inminente.
Adición de un evento nuevo a la lista.
Borrado ocasional de un evento.
La adición o borrado de un evento requiere una operación de búsqueda.
El algoritmo de avance de tiempo
10
Tema 6:
Simulación de sistemas
6.3 Simulación de sistemas informáticos
Tema 6: Simulación de sistemasESSII
6.3: Simulación de sistemas informáticos.
Tema 6: Simulación de sistemasESSII
Como se comentó en el tema anterior, los sistemas informáticos suelen
modelarse como sistemas de colas. En ellos, determinados componentes
llamados servidores atienden peticiones de los distintos trabajos.
En el análisis operacional, se hacen una serie de asunciones que no tienen
por qué darse en el sistema real, como por ejemplo que todos los trabajos sean
iguales, o que la tasa de llegadas sea fija.
La simulación permite estudiar sistemas más complejos.
A continuación se describirán los componentes utilizados en la simulación
de sistemas.
11
6.3: Simulación de sistemas informáticos.
Tema 6: Simulación de sistemasESSII
La principal entidad en la simulación de un sistema informático es un servidor, ya que
cada una de las componentes del sistema que ha de realizar una parte del proceso se
modela mediante un objeto de este tipo.
Los servidores tienen asociada una cola, en la que se almacenarán trabajos a la espera
de ser atendidos, y estarán conectados a otras entidades del sistema.
Cuentan con una serie de propiedades de interés:
Política de servicio: que es el criterio que utilizan para escoger qué trabajo de la
cola atender (FCFS, prioridades, etc.).
Tiempo de servicio: Que es el tiempo que utilizan para atender una petición. Este
puede ser fijo o ajustarse a una distribución que, a su vez, dependerá del tipo de
trabajo, de la carga que tenga ese recurso, etc.
Política de enrutamiento: Los trabajos atendidos se dirigirán a otras partes del
sistema en función de este parámetro, que igualmente dependerá de factores como el
tipo de trabajo, la carga, etc.
Servidores
6.3: Simulación de sistemas informáticos.
Tema 6: Simulación de sistemasESSII
La llegada de un trabajo a un servidor constituye un cambio de estado en el sistema.
El fin del proceso de una petición, constituye un evento, que da lugar al inicio de otra
actividad (el comienzo de otra petición) que, a su vez, producirá un evento futuro (el fin de
esa actividad).
Un servidor puede representar desde un procesador a un disco o incluso una red.
Servidores
12
6.3: Simulación de sistemas informáticos.
Tema 6: Simulación de sistemasESSII
Los trabajos son las entidades que serán procesadas por los servidores.
Se dividen en clases, y cada una de ellas contará con una serie de atributos:
En los sistemas abiertos, cada clase llegará al sistema con una frecuencia que irá
determinada por una distribución de probabilidad.
En los sistemas cerrados, en los que el número de trabajos permanece constante,
existirá un número determinados de trabajos de cada clase.
Cada clase tendrá un tratamiento en los servidores, tanto en lo relativo al tiempo de
proceso por petición como en lo relativo al encaminamiento del trabajo.
En los sistemas abiertos, las clases van relacionadas con un tipo de objeto especial, una
fuente, que genera los trabajos con las distribuciones especificadas y los envía a los
distintos recursos según sea la política que se ha establecido.
La generación de un trabajo es también un evento.
Trabajos
6.3: Simulación de sistemas informáticos.
Tema 6: Simulación de sistemasESSII
Es un componente que simula un número infinito de servidores, por tanto no dispone de
cola y los trabajos son atendidos de manera inmediata.
El resto de parámetros (tiempos de servicio y política de encaminamiento) se establecen
del mismo modo que en un servidor.
Un trabajo desaparece al llegar a esta entidad.
Estaciones de retardo
Sumidero
13
6.3: Simulación de sistemas informáticos.
Tema 6: Simulación de sistemasESSII
Tiene como único objetivo el encaminar los trabajos. Se configura igual que la política de
enrutamiento de un servidor o de una fuente.
El Fork sirve para crear peticiones similares a la que llega, mientras que Join sirve para
avanzar si todas esas peticiones han acabado.
Divisor de carga
Fork y Join
7.1: Introducción
Tema 7: Simulación de sistemasESSII
Ejemplo de un sistema
14
Tema 6:
Simulación de sistemas
6.4 Pasos y errores en la simulación
Tema 7: Simulación de sistemasESSII
6.4: Pasos y errores en la simulación
Tema 6: Simulación de sistemasESSII
Pasos en un estudio de simulación
Formulación del problema:
Descripción del problema
Este debe ser comprendido con claridad.
Fijar los objetivos y el plan general:
Los objetivos indican las cuestiones que deben ser respondidas por la
simulación.
Se debe determinar donde es apropiada la simulación y donde no.
Conceptualización del modelo:
Abstraer las características esenciales del problema.
Seleccionar y modificar las asunciones básicas que caracterizan el
sistema.
Enriquecer y elaborar el modelo hasta obtener una aproximación útil.
Es mejor empezar por un modelo simple y enriquecerlo.
No es necesario plasmar el sistema de manera completa.
Solamente se necesita la esencia de un sistema real.
15
6.4: Pasos y errores en la simulación
Tema 6: Simulación de sistemasESSII
Pasos en un estudio de simulación
Colección de datos:
Se deben identificar y recoger diferentes tipos de datos cuando se
construye el modelo.
Plasmación del modelo:
El modelo debe ser plasmado en un programa.
Verificación:
¿Funciona el programa de manera correcta?
Es difícil con modelos complejos.
Validación
Comprobación de la fidelidad del modelo.
Diseño experimental
Longitud del periodo de inicialización.
Duración de las simulaciones.
El número de repeticiones que debe hacerse para cada ejecución.
6.4: Pasos y errores en la simulación
Tema 6: Simulación de sistemasESSII
Pasos en un estudio de simulación
Documentación
Dos tipos: programa y proceso.
Implementación.
16
6.4: Pasos y errores en la simulación
Tema 6: Simulación de sistemasESSII
Errores comunes en simulación
Usar un nivel de detalle inapropiado:
Se puede simular un sistema con distinto nivel de detalle. Un nivel de
detalle bajo puede hacer que se pierda mucha información mientras que un
nivel alto supone un aumento de coste y de probabilidad de error.
Elección del lenguaje inapropiada:
Los lenguajes de propósito general son flexibles, de ejecución rápida,
pero requieren implementar un número considerable de funciones de
simulación generales.
Los lenguajes de simulación son más utilizados. El problema que
conllevan, además de la eficiencia, es que hay que aprenderlos.
Modelos no verificados:
Los programas pueden tener errores.
6.4: Pasos y errores en la simulación
Tema 6: Simulación de sistemasESSII
Errores comunes en simulación
Modelos inválidos
El modelo simulado puede no ser representativo del sistema real.
Manejo no adecuado de las condiciones iniciales:
El sistema puede estar en un estado determinado al principio de la
simulación.
Simulaciones demasiado cortas.
17
Tema 6:
Simulación de sistemas
FIN
Tema 6: Simulación de sistemasESSII

Weitere ähnliche Inhalte

Ähnlich wie Simulacion sistemas tema6pr-2

Manual simulacion h._caselli_g
Manual simulacion h._caselli_gManual simulacion h._caselli_g
Manual simulacion h._caselli_geliianiitta12
 
Manual simulacion h._caselli_g
Manual simulacion h._caselli_gManual simulacion h._caselli_g
Manual simulacion h._caselli_geliianiitta12
 
Manual simulacion para compartir en la nube
Manual simulacion para compartir en la nubeManual simulacion para compartir en la nube
Manual simulacion para compartir en la nubephyeni
 
Manual simulacion h._caselli_g
Manual simulacion h._caselli_gManual simulacion h._caselli_g
Manual simulacion h._caselli_gJosé Pedro Avila
 
Simulacion de sistemas discretos
Simulacion de sistemas discretosSimulacion de sistemas discretos
Simulacion de sistemas discretosMP4R
 
Introducción a la Simulación2.pptx
Introducción a la Simulación2.pptxIntroducción a la Simulación2.pptx
Introducción a la Simulación2.pptxJearvaviVzquez
 
Introducción a la Simulación
Introducción a la SimulaciónIntroducción a la Simulación
Introducción a la Simulaciónjgonza2326
 
Sistemas de servicio.pdf
Sistemas de servicio.pdfSistemas de servicio.pdf
Sistemas de servicio.pdfaracelik
 
Fases de diseño del modelo de simulación.
Fases de diseño del modelo de simulación.Fases de diseño del modelo de simulación.
Fases de diseño del modelo de simulación.Roberto Dominguez
 
Class 01Modelos en Simulacion
Class 01Modelos en SimulacionClass 01Modelos en Simulacion
Class 01Modelos en SimulacionJose Sosa
 
Conceptos básicos de Simulación. Software Arena. Por Jesús Corobo
Conceptos básicos de Simulación. Software Arena. Por Jesús CoroboConceptos básicos de Simulación. Software Arena. Por Jesús Corobo
Conceptos básicos de Simulación. Software Arena. Por Jesús CoroboAngelaRivas120
 
1. Fundamentación General de la simulación de sistemas.pdf
1. Fundamentación General de la simulación de sistemas.pdf1. Fundamentación General de la simulación de sistemas.pdf
1. Fundamentación General de la simulación de sistemas.pdfhectorrosales52
 
Teoria general de sistemas e informacion
Teoria general de sistemas e informacionTeoria general de sistemas e informacion
Teoria general de sistemas e informacionasanchez7
 

Ähnlich wie Simulacion sistemas tema6pr-2 (20)

Manual simulacion h._caselli_g
Manual simulacion h._caselli_gManual simulacion h._caselli_g
Manual simulacion h._caselli_g
 
Manual 2 Software Arena
Manual 2 Software ArenaManual 2 Software Arena
Manual 2 Software Arena
 
Manual simulacion h._caselli_g
Manual simulacion h._caselli_gManual simulacion h._caselli_g
Manual simulacion h._caselli_g
 
Manual unidad4
Manual  unidad4Manual  unidad4
Manual unidad4
 
Manual simulacion para compartir en la nube
Manual simulacion para compartir en la nubeManual simulacion para compartir en la nube
Manual simulacion para compartir en la nube
 
Manual simulacion h._caselli_g
Manual simulacion h._caselli_gManual simulacion h._caselli_g
Manual simulacion h._caselli_g
 
Simulacion de sistemas discretos
Simulacion de sistemas discretosSimulacion de sistemas discretos
Simulacion de sistemas discretos
 
Simulacion
SimulacionSimulacion
Simulacion
 
337 lectura6.3.1
337 lectura6.3.1337 lectura6.3.1
337 lectura6.3.1
 
Introducción a la Simulación2.pptx
Introducción a la Simulación2.pptxIntroducción a la Simulación2.pptx
Introducción a la Simulación2.pptx
 
Introducción a la Simulación
Introducción a la SimulaciónIntroducción a la Simulación
Introducción a la Simulación
 
Sistemas de servicio.pdf
Sistemas de servicio.pdfSistemas de servicio.pdf
Sistemas de servicio.pdf
 
Fases de diseño del modelo de simulación.
Fases de diseño del modelo de simulación.Fases de diseño del modelo de simulación.
Fases de diseño del modelo de simulación.
 
Class 01Modelos en Simulacion
Class 01Modelos en SimulacionClass 01Modelos en Simulacion
Class 01Modelos en Simulacion
 
Conceptos básicos de Simulación. Software Arena. Por Jesús Corobo
Conceptos básicos de Simulación. Software Arena. Por Jesús CoroboConceptos básicos de Simulación. Software Arena. Por Jesús Corobo
Conceptos básicos de Simulación. Software Arena. Por Jesús Corobo
 
Simulaunoitrm
SimulaunoitrmSimulaunoitrm
Simulaunoitrm
 
Teoria de Cola
Teoria de ColaTeoria de Cola
Teoria de Cola
 
1. Fundamentación General de la simulación de sistemas.pdf
1. Fundamentación General de la simulación de sistemas.pdf1. Fundamentación General de la simulación de sistemas.pdf
1. Fundamentación General de la simulación de sistemas.pdf
 
Etapas simulacion
Etapas simulacionEtapas simulacion
Etapas simulacion
 
Teoria general de sistemas e informacion
Teoria general de sistemas e informacionTeoria general de sistemas e informacion
Teoria general de sistemas e informacion
 

Mehr von Xavier Davias

Mehr von Xavier Davias (20)

Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9
 
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoidFourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
Fourier transforms & fft algorithm (paul heckbert, 1998) by tantanoid
 
03.problemas
03.problemas03.problemas
03.problemas
 
Systems interfacesanddeployment
Systems interfacesanddeploymentSystems interfacesanddeployment
Systems interfacesanddeployment
 
Oracle b tree index internals - rebuilding the thruth
Oracle b tree index internals - rebuilding the thruthOracle b tree index internals - rebuilding the thruth
Oracle b tree index internals - rebuilding the thruth
 
Sistemas temaii 5
Sistemas temaii 5Sistemas temaii 5
Sistemas temaii 5
 
El hombre anumerico john allen paulos
El hombre anumerico  john allen paulosEl hombre anumerico  john allen paulos
El hombre anumerico john allen paulos
 
Clase3
Clase3Clase3
Clase3
 
Cap04
Cap04Cap04
Cap04
 
Cap2
Cap2Cap2
Cap2
 
Cap1
Cap1Cap1
Cap1
 
Aic multiproc
Aic multiprocAic multiproc
Aic multiproc
 
Aa
AaAa
Aa
 
08 0300 cs
08 0300 cs08 0300 cs
08 0300 cs
 
Cp223
Cp223Cp223
Cp223
 
Cap04
Cap04Cap04
Cap04
 
Ejercicios tema7
Ejercicios tema7Ejercicios tema7
Ejercicios tema7
 
Ejercicios tema6
Ejercicios tema6Ejercicios tema6
Ejercicios tema6
 
Ejercicios tema5
Ejercicios tema5Ejercicios tema5
Ejercicios tema5
 
Ejercicios tema3
Ejercicios tema3Ejercicios tema3
Ejercicios tema3
 

Simulacion sistemas tema6pr-2

  • 1. 1 Explotación de Sistemas Informáticos Luis de la Ossa Departamento de Sistemas Informáticos - UCLM Tema 6: Simulación de sistemas informáticos En este tema se hace una breve introducción a lo que es la simulación de sistemas y el modo en que esta puede utilizarse para estudios de evaluación del rendimiento. Los conceptos que se presentarán serán ampliados y utilizados en el desarrollo de la práctica 2. Tema 6: Simulación de sistemasESSII
  • 2. 2 Índice 6.1 Introducción 6.2 Conceptos en simulación de eventos discretos. 6.3 Simulación de sistemas informáticos. 6.4 Pasos y errores en la simulación. Tema 6: Simulación de sistemasESSII Tema 6: Simulación de sistemas 6.1 Introducción Tema 7: Simulación de sistemasESSII
  • 3. 3 6.1: Introducción Tema 6: Simulación de sistemasESSII ¿Qué es la simulación? La simulación reproduce el comportamiento de un sistema mediante el uso de un programa informático y sirve para analizar su comportamiento y rendimiento. Entradas: Un conjunto de parámetros. Algunos fijos y otros generados a partir de distribuciones de probabilidad. Con trazas de la carga de trabajo real. Salidas: Datos numéricos y de otros tipos recogidos. Estos datos pueden ser considerados como muestras del rendimiento del sistema. 6.1: Introducción Tema 6: Simulación de sistemasESSII ¿Por qué usar simulación? La simulación resulta útil para estimar el rendimiento de un sistema en distintos casos: El sistema es demasiado complejo como para modelarlo analíticamente. Es demasiado costoso construir un prototipo para mediciones. Se ha de estudiar un número importante de alternativas. Proporciona un sistema virtual basado en qué aplicaciones pueden ser diseñadas y testeadas. Problema: Las simulaciones pueden fallar.
  • 4. 4 6.1: Introducción Tema 6: Simulación de sistemasESSII Sistemas y entornos Un sistema se define como un grupo de objetos que se unen en una interacción o interdependencia regular para un propósito determinado común. Por ejemplo: En una línea de producción de automóviles las máquinas, partes componentes y obreros operan de manera conjunta a lo largo de luna línea de ensamblaje para producir un vehículo. Entorno: El sistema es afectado por los cambios que ocurren en el exterior. Estos cambios se dicen que ocurren en el entorno del sistema. Hay una separación entre el sistema y el entorno. 6.1: Introducción Tema 6: Simulación de sistemasESSII Componentes de un sistema Entidad: Es un objeto de interés en el sistema. Atributo: Es una propiedad de una entidad. Actividad: Es el periodo de tiempo de una longitud específica: Por ejemplo: En un banco, los clientes serían una de las entidades, su balance un atributo, y hacer un depósito es una actividad. Estado: Es una colección de variables que son necesarias para escribir el sistema en cualquier instante y que son relativas a los objetivos del estudio. Evento: Es una ocurrencia instantánea que puede cambiar el estado del sistema. Dependiendo del propósito, el número de componentes (entidades, atributos, actividades, estados y eventos) varía.
  • 5. 5 6.1: Introducción Tema 6: Simulación de sistemasESSII Modelo de un sistema Un modelo se define como la representación de un sistema con el propósito de estudiar el sistema. Hay modelos matemáticos y físicos. Un modelo matemático usa notación simbólica y ecuaciones matemáticas para representar un sistema. Un modelo de simulación es un tipo particular de modelado matemático de un sistema. 6.1: Introducción Tema 6: Simulación de sistemasESSII Modelos de simulación Estáticos o dinámicos: En los modelos estáticos el sistema se comporta igual durante toda la simulación, mientras que en el dinámico cambia a lo largo del tiempo. Deterministas o estocásticos: En los modelos deterministas siempre se obtiene una misma salida ante las mismas entradas, mientras que los estocásticos cuentan con una componente aleatoria. Simulación de eventos o de sistemas continuos: Simulan sistemas discretos o continuos. Sistemas abiertos o cerrados: En los sistemas abiertos, la entrada es externa e independiente del modelo, mientras que en los cerrados no hay entrada externa.
  • 6. 6 6.1: Introducción Tema 6: Simulación de sistemasESSII Sistemas discretos y continuos. En los sistemas discretos las variables de estado cambian solamente en un conjunto discreto de puntos en el tiempo. En los sistemas continuos los cambios de estado ocurren continuamente en el tiempo. 1 2 3 time t time t water Tema 6: Simulación de sistemas 6.2 Conceptos en simulación de eventos discretos Tema 6: Simulación de sistemasESSII
  • 7. 7 6.2: Conceptos en simulación de eventos discretos Tema 6: Simulación de sistemasESSII Existen una serie de componentes específicos en los sistemas de simulación basados en eventos discretos: Lista: Una colección de entidades asociadas o ordenadas con algún criterio lógico. Notificación de un evento: El registro de un evento que ocurre en el instante actual o en el futuro, junto con los datos asociados necesarios para ejecutar el evento. Como mínimo, hay que registrar cuando se ejecutará y de qué tipo es. Lista de eventos: Una lista de notificaciones de futuros eventos ordenados por tiempo de ocurrencia. Esto se conoce también como lista futura de eventos (FEL). Actividad: Una duración de tiempo de longitud específica, que es conocida cuando comienza: Por ejemplo: Tiempo de servicio o tiempo entre llegadas. Retraso: Una duración de tiempo de longitud desconocida y que no se sabe hasta que termina. 6.2: Conceptos en simulación de eventos discretos Tema 6: Simulación de sistemasESSII Una actividad representa típicamente un tiempo de servicio, un tiempo entre llegadas o cualquier otro tiempo de proceso cuya duración haya sido caracterizada por el analista. La duración de una actividad puede ser especificada de varios modos: De modo determinista: con un valor. Estadísticamente: Una variable aleatoria que se ajuste a una determinada distribución. Como una función que depende de variables del sistema y atributos de la entidad. La duración de una actividad es computable a partir de su especificación en el instante que comienza. Una notificación de evento se crea con un tiempo que es igual al de la completitud de la actividad. Por ejemplo si tenemos el reloj a 100 y la actividad dura 5 segundos, la notificación de eventos se genera con otro tipo de evento en el instante 105. En contraste con la actividad, la duración de un retardo no es especificada por el analista, sino determinada por las condiciones del sistema. Actividad
  • 8. 8 6.2: Conceptos en simulación de eventos discretos Tema 6: Simulación de sistemasESSII El mecanismo para avanzar el tiempo de simulación y garantizar que todos los eventos ocurren en el orden cronológico correcto se basa en la lista de eventos futuros (FEL). La lista contiene todas las notificaciones de evento para los eventos que han sido asignados a un tiempo futuro. Asignar un evento futuro significa que en el instante que la actividad comienza, su duración se computa en base a alguna distribución. En el mundo real, la mayoría de los eventos futuros suceden meramente. En el modelo, esos eventos se representan mediante el fin de alguna actividad. En el instante t, la FEL contiene todos los eventos futuros previamente agenciados y sus instantes asociados. El FEL se ordena por tiempo de evento. Eso significa que los eventos se colocan cronológicamente. El algoritmo de asignación de eventos y avance de tiempo 6.2: Conceptos en simulación de eventos discretos Tema 6: Simulación de sistemasESSII El evento asociado con el instante t es llamado el evento inminente; esto significa que será el siguiente evento en ocurrir. Después de que el estado del sistema en el periodo t haya sido actualizado, el reloj avanza hasta el periodo t1, y el evento inminente se borra de la FEL. La ejecución de un evento inminente implica un nuevo estado. Durante el instante ti pueden generarse nuevos eventos futuro. Si son generados, se agendan creando nuevas notificaciones y colocándolas en el sitio adecuado de la fEL. Entonces el reloj avanza hasta el siguiente evento inminente. Este proceso se repite hasta que la simulación termina. El algoritmo de asignación de eventos y avance de tiempo
  • 9. 9 6.2: Conceptos en simulación de eventos discretos Tema 6: Simulación de sistemasESSII Paso 1: Borrar la notificación de evento para el inminente. Paso 2: Ejecutar el evento inminente y cambiar el estado del sistema. Cambiar los atributos de las entidades si se necesita. Paso 3: Generar los eventos futuros (si es necesario) y situar sus notificaciones en la FEL ordenados por tiempo. Paso 4: Avanzar el reloj hasta el siguiente evento inminente. Paso 5: Refrescar las estadísticas y contadores. Este proceso se repite hasta que la simulación termina. El algoritmo de avance de tiempo 6.2: Conceptos en simulación de eventos discretos Tema 6: Simulación de sistemasESSII La longitud y el contenido de la FEL cambia constantemente mientras la simulación progresa. Eventos principales: Borrado de un evento inminente. Adición de un evento nuevo a la lista. Borrado ocasional de un evento. La adición o borrado de un evento requiere una operación de búsqueda. El algoritmo de avance de tiempo
  • 10. 10 Tema 6: Simulación de sistemas 6.3 Simulación de sistemas informáticos Tema 6: Simulación de sistemasESSII 6.3: Simulación de sistemas informáticos. Tema 6: Simulación de sistemasESSII Como se comentó en el tema anterior, los sistemas informáticos suelen modelarse como sistemas de colas. En ellos, determinados componentes llamados servidores atienden peticiones de los distintos trabajos. En el análisis operacional, se hacen una serie de asunciones que no tienen por qué darse en el sistema real, como por ejemplo que todos los trabajos sean iguales, o que la tasa de llegadas sea fija. La simulación permite estudiar sistemas más complejos. A continuación se describirán los componentes utilizados en la simulación de sistemas.
  • 11. 11 6.3: Simulación de sistemas informáticos. Tema 6: Simulación de sistemasESSII La principal entidad en la simulación de un sistema informático es un servidor, ya que cada una de las componentes del sistema que ha de realizar una parte del proceso se modela mediante un objeto de este tipo. Los servidores tienen asociada una cola, en la que se almacenarán trabajos a la espera de ser atendidos, y estarán conectados a otras entidades del sistema. Cuentan con una serie de propiedades de interés: Política de servicio: que es el criterio que utilizan para escoger qué trabajo de la cola atender (FCFS, prioridades, etc.). Tiempo de servicio: Que es el tiempo que utilizan para atender una petición. Este puede ser fijo o ajustarse a una distribución que, a su vez, dependerá del tipo de trabajo, de la carga que tenga ese recurso, etc. Política de enrutamiento: Los trabajos atendidos se dirigirán a otras partes del sistema en función de este parámetro, que igualmente dependerá de factores como el tipo de trabajo, la carga, etc. Servidores 6.3: Simulación de sistemas informáticos. Tema 6: Simulación de sistemasESSII La llegada de un trabajo a un servidor constituye un cambio de estado en el sistema. El fin del proceso de una petición, constituye un evento, que da lugar al inicio de otra actividad (el comienzo de otra petición) que, a su vez, producirá un evento futuro (el fin de esa actividad). Un servidor puede representar desde un procesador a un disco o incluso una red. Servidores
  • 12. 12 6.3: Simulación de sistemas informáticos. Tema 6: Simulación de sistemasESSII Los trabajos son las entidades que serán procesadas por los servidores. Se dividen en clases, y cada una de ellas contará con una serie de atributos: En los sistemas abiertos, cada clase llegará al sistema con una frecuencia que irá determinada por una distribución de probabilidad. En los sistemas cerrados, en los que el número de trabajos permanece constante, existirá un número determinados de trabajos de cada clase. Cada clase tendrá un tratamiento en los servidores, tanto en lo relativo al tiempo de proceso por petición como en lo relativo al encaminamiento del trabajo. En los sistemas abiertos, las clases van relacionadas con un tipo de objeto especial, una fuente, que genera los trabajos con las distribuciones especificadas y los envía a los distintos recursos según sea la política que se ha establecido. La generación de un trabajo es también un evento. Trabajos 6.3: Simulación de sistemas informáticos. Tema 6: Simulación de sistemasESSII Es un componente que simula un número infinito de servidores, por tanto no dispone de cola y los trabajos son atendidos de manera inmediata. El resto de parámetros (tiempos de servicio y política de encaminamiento) se establecen del mismo modo que en un servidor. Un trabajo desaparece al llegar a esta entidad. Estaciones de retardo Sumidero
  • 13. 13 6.3: Simulación de sistemas informáticos. Tema 6: Simulación de sistemasESSII Tiene como único objetivo el encaminar los trabajos. Se configura igual que la política de enrutamiento de un servidor o de una fuente. El Fork sirve para crear peticiones similares a la que llega, mientras que Join sirve para avanzar si todas esas peticiones han acabado. Divisor de carga Fork y Join 7.1: Introducción Tema 7: Simulación de sistemasESSII Ejemplo de un sistema
  • 14. 14 Tema 6: Simulación de sistemas 6.4 Pasos y errores en la simulación Tema 7: Simulación de sistemasESSII 6.4: Pasos y errores en la simulación Tema 6: Simulación de sistemasESSII Pasos en un estudio de simulación Formulación del problema: Descripción del problema Este debe ser comprendido con claridad. Fijar los objetivos y el plan general: Los objetivos indican las cuestiones que deben ser respondidas por la simulación. Se debe determinar donde es apropiada la simulación y donde no. Conceptualización del modelo: Abstraer las características esenciales del problema. Seleccionar y modificar las asunciones básicas que caracterizan el sistema. Enriquecer y elaborar el modelo hasta obtener una aproximación útil. Es mejor empezar por un modelo simple y enriquecerlo. No es necesario plasmar el sistema de manera completa. Solamente se necesita la esencia de un sistema real.
  • 15. 15 6.4: Pasos y errores en la simulación Tema 6: Simulación de sistemasESSII Pasos en un estudio de simulación Colección de datos: Se deben identificar y recoger diferentes tipos de datos cuando se construye el modelo. Plasmación del modelo: El modelo debe ser plasmado en un programa. Verificación: ¿Funciona el programa de manera correcta? Es difícil con modelos complejos. Validación Comprobación de la fidelidad del modelo. Diseño experimental Longitud del periodo de inicialización. Duración de las simulaciones. El número de repeticiones que debe hacerse para cada ejecución. 6.4: Pasos y errores en la simulación Tema 6: Simulación de sistemasESSII Pasos en un estudio de simulación Documentación Dos tipos: programa y proceso. Implementación.
  • 16. 16 6.4: Pasos y errores en la simulación Tema 6: Simulación de sistemasESSII Errores comunes en simulación Usar un nivel de detalle inapropiado: Se puede simular un sistema con distinto nivel de detalle. Un nivel de detalle bajo puede hacer que se pierda mucha información mientras que un nivel alto supone un aumento de coste y de probabilidad de error. Elección del lenguaje inapropiada: Los lenguajes de propósito general son flexibles, de ejecución rápida, pero requieren implementar un número considerable de funciones de simulación generales. Los lenguajes de simulación son más utilizados. El problema que conllevan, además de la eficiencia, es que hay que aprenderlos. Modelos no verificados: Los programas pueden tener errores. 6.4: Pasos y errores en la simulación Tema 6: Simulación de sistemasESSII Errores comunes en simulación Modelos inválidos El modelo simulado puede no ser representativo del sistema real. Manejo no adecuado de las condiciones iniciales: El sistema puede estar en un estado determinado al principio de la simulación. Simulaciones demasiado cortas.
  • 17. 17 Tema 6: Simulación de sistemas FIN Tema 6: Simulación de sistemasESSII