Está en la página 1de 25

Capitulo 1: Introduccin a la Simulacin de Sistemas

Preparado por Charly Leiva y Sergio Yaksic


1. Evaluacin de Rendimiento de un Sistema
1.1. Concepto de Sistema, Rendimiento y Evaluacin
1.2. Concepto integrado de evaluacin de rendimiento de sistemas y su importancia
1.3. Diferentes tcnicas de evaluacin del rendimiento de un sistema
1.4. Ejemplos de Evaluacin de Rendimiento de Sistemas
2. Simulacin
2.1. Concepto de Simulacin
2.2. Tipos de simuladores
2.3. Comparativa de simuladores de redes disponibles en Internet (preparado por Paulina
Gonzlez y Carlos Villarreal)

2.4. Resumen

Captulo 2: Simulacin Orientada a Eventos


Preparado por Paulina Gonzlez y Carlos Villarreal
3. Simulacin Orientada a Eventos
3.1. Conceptos de Evento y Estado.
3.2. Definicin Sistemas Discreto y Continuo
3.3. Diferencias entre Simulacin de Tiempo Continuo y Simulacin Orientada a Eventos
3.4 Ejemplo Fila de un Banco

Captulo 1: Introduccin a la Simulacin de Sistemas


1. Evaluacin de Rendimiento de un Sistema
En este documento se describen los conceptos bsicos relacionados con la evaluacin de
rendimiento de un sistema (sub-secciones 1.1 y 1.2), las tcnicas disponibles para evaluar el
rendimiento de un sistema y algunos ejemplos que ilustran las ventajas y desventajas de
utilizar las distintas tcnicas en situaciones particulares.
1.1

Conceptos de Sistemas, Rendimiento y Evaluacin


En esta seccin se definirn los conceptos de sistema, rendimiento y evaluacin, para
facilitar la comprensin del concepto integrado de Evaluacin de rendimiento de un
sistema.
En la pgina web de la Real Academia Espaola (RAE) se encuentra la siguiente definicin
para la palabra sistema: Conjunto de cosas que relacionadas entre s ordenadamente
contribuyen a determinado objeto.. Analizando esta definicin, se puede concluir que casi
todo es un sistema ya que todo est compuesto por un conjunto de cosas ms pequeas que,
al agruparse, contribuyen a un determinado objetivo.
Por ejemplo, una red es un sistema ya que consiste de varios componentes (cables, routers,
switches, terminales, etc.), que se relacionan entre s (por ejemplo, los cables se conectan a
los routers de modo que la informacin que se transmite por los cables es enrutada
correctamente por los routers) contribuyendo al objetivo de proveer comunicacin entre
terminales. Un televisor tambin es un sistema: se compone de transistores, diodos y otros
componentes electrnicos que se relacionan entre s para conseguir el objetivo de entregar
informacin visual al usuario. Existen muy pocas cosas que no corresponden a la definicin
de sistemas. Probablemente, lo nico que no podra ser clasificado como un sistema serian
los elementos bsicos de la materia, es decir aquellos que no estn compuestos por subpartculas ya que incluso un tomo puede considerarse como un sistema de protones,
neutrones y electrones que interactan entre s para conseguir ciertas propiedades fsicoqumicas.
Nuevamente en la pgina web de la Real Academia Espaola (RAE), se puede encontrar el
siguiente significado para la palabra rendimiento: Producto o utilidad que rinde o da alguien o
algo. Es decir, una combinacin de medidas que permiten representar la capacidad de
trabajo de un sistema. Por ejemplo: el rendimiento de Internet puede medirse en trminos del
retardo de un paquete o en trminos del nmero de paquetes correctamente transmitidos por
unidad de tiempo,el rendimiento de un motor de un automvil puede medirse en el nmero
de kilmetros que puede viajar el auto por cada litro de bencina que consume. Por lo tanto,
es importante encontrar una unidad de medida que represente de mejor manera el
rendimiento del sistema.
Finalmente, en la pgina web de la Real Academia Espaola (RAE) se encuentra la siguiente
definicin para la palabra evaluacin: Accin y efecto de evaluar. y el verbo evaluar
como Estimar, apreciar, calcular el valor de algo.. Por lo tanto, la evaluacin sera la

accin de calcular el valor de algo. Por ejemplo: la Prueba de Seleccin Universitaria (PSU)
es una herramienta de evaluacin de las aptitudes matemticas, de lenguaje, ciencias e
historia de un alumno.
Estas definiciones permitirn definir en la siguiente sub-seccin el concepto de evaluacin
de rendimiento de sistemas. A partir de dicho concepto, ser posible entender en qu
consiste evaluar el rendimiento de un sistema y su importancia.

1.2 Concepto de evaluacin de rendimiento de sistemas


Basndose en las definiciones de la sub-seccin 1.1, es posible deducir que la evaluacin de
rendimiento de un sistema consiste en el clculo del valor de una o ms medidas de
rendimiento del sistema. Por ejemplo, para evaluar el rendimiento de un computador se
puede calcular cuantas operaciones por unidad de tiempo ejecuta, pero, porque podra una
persona querer evaluar el rendimiento de un sistema?
En el da a da es ms comn que se necesite evaluar el rendimiento de un sistema, por
ejemplo: la relacin precio/calidad que tiene un computador, ya que los computadores tienen
un precio que depende de los costes de diseo y de fabricacin, sin embargo se puede estar
seguro de que un computador que cuesta el doble que otro es el doble de rpido?, o cuando
un diseador toma una decisin de diseo que incrementa el precio de fabricacin,
incrementa la calidad y velocidad del producto en la misma o mayor proporcin?. Para
responder estas preguntas, es fundamental poder evaluar el rendimiento de un sistema.
En la siguiente sub-seccin se detallaran algunas tcnicas de evaluacin de sistemas y se
comparar su funcionalidad con el objetivo de dar a entender que tcnica es mejor aplicar
dependiendo del sistema y la medida a evaluar.
1.3 Tcnicas de evaluacin del rendimiento de un sistema
Esta sub-seccin tiene por objetivo exponer distintas tcnicas de evaluacin de rendimiento
de un sistema. Especficamente, se detallaran 3 tcnicas para la evaluacin de rendimiento
de sistemas: la tcnica emprica, la tcnica matemtica y la tcnica por simulacin.
La tcnica emprica se basa en obtener el valor exacto de la medida de rendimiento de un
sistema evaluando el sistema real de manera directa. Para esto es necesario, al menos, que el
sistema exista, que al medir su rendimiento no se altere su funcionamiento y que la medicin
no sea riesgosa, extremadamente costosa o atente contra normas ticas. Por ejemplo, calcular
el retardo que experimenta un paquete en Internet usando el comando ping.
Sin embargo la tcnica emprica tiene desventajas tales como: tener que esperar el periodo
de tiempo que demora en responder el sistema para obtener los resultados, el hecho de que
los resultados puedan cambiar dependiendo el periodo en el que se obtuvieron la primera
vez, lo cual hace que los resultados no sean fiables al ser reutilizados en un escenario
distinto al cual en el que se realiz la medicin. La ventaja de esta tcnica es que su
resultado para un preciso sistema en el preciso momento es totalmente fiable.
Una alternativa que elimina las desventajas de lentitud e imposibilidad de realizar
predicciones de comportamiento en situaciones nuevas de la tcnica emprica es la tcnica

de anlisis matemtico. Mediante esta tcnica se utilizan modelos matemticos que


representan el sistema a evaluar. Por ejemplo, el mismo caso anterior de calcular el retardo
que experimenta un paquete en Internet puede ser resuelto usando conceptos de Fsica para
calcular el retardo de propagacin de la seal en un determinado tipo y largo de cable, se usa
la teora de probabilidades para calcular el retardo en las filas de los routers y finalmente se
usa algebra para relacionar todo en una forma matemtica.
La desventaja de este mtodo es que generalmente se necesitan hacer simplificaciones en el
modelo matemtico y por lo tanto se obtiene resultados aproximados. Esto puede llevar a
grandes diferencias con la realidad. An as esta tcnica puede ser muy til ya que permite
tener una idea de cmo se comportar el sistema sin necesidad de medir en el sistema real y
en un tiempo que depende solo de la complejidad de las matemticas que se usen.
La evaluacin de rendimiento utilizando el mtodo matemtico depende de la utilizacin de
buenos datos y de modelos que representen fielmente la realidad. Por lo tanto, es vlida la
pregunta Qu hacer si el sistema no existe, o si se est innovando en algunas mejoras?,
Qu hacer si no es posible generar un modelo matemtico que represente fielmente el
sistema?. En estos casos es posible usar la tcnica por simulacin, es decir, representar el
sistema mediante un modelo de software y evaluar su rendimiento mediante el uso de ese
modelo. Por ejemplo, suponga que se desea calcular el retardo que experimenta un paquete
en una nueva arquitectura de red (inexistente). Al simular esta nueva arquitectura se
obtienen resultados que se espera sean semejantes a como se comportar la nueva
arquitectura al ser implementada.
Esta tcnica tiene la desventaja (al igual que la tcnica matemtica), de que no se obtiene un
resultado real, sino una aproximacin. Pero existe la ventaja de no tener que invertir en crear
el sistema o tener que esperar a que este arroje los resultados.
La Tabla 1 compara las 3 tcnicas presentadas en esta sub-seccin, exponiendo sus ventajas
y desventajas.
Tcnica

Ventajas

Desventajas

Cuando Usarlo

Emprica

Realista
Simple
Completitud de
datos

Lento
Poca sensibilidad a los
cambios de
perodo/escenarios

Si el sistema existe, es
seguro/tico realizar la
evaluacin en el sistema
real y con un costo
razonable.

Matemtica

Se puede usar
modelos
matemticos ya
existentes
Rpido
Existen
herramientas de
software para
realizar los
clculos

Cuando no es posible
Los resultados obtenidos
realizar una evaluacin
pueden ser
en el sistema real.
aproximaciones
Sistemas muy complejos
podran no tener una
representacin
matemtica, y por lo
tanto, no se puede calcular
El clculo puede ser muy
complejo

Por
Simulacin

Bastante realista
Rpido
Seguro

Los resultados son


aproximaciones

Si el sistema no existe o
es caro
implementarlo

Tabla 1. Resumen comparativo de las diferentes tcnicas de evaluacin de rendimiento de un


sistema.
Como se pudo ver en esta sub-seccin, dependiendo del sistema, puede ser conveniente usar
una u otra tcnica. En la siguiente sub-seccin se presentarn ejemplos que ilustran el uso de
las diferentes tcnicas de evaluacin de rendimiento.
1.4 Ejemplos de Evaluacin de Rendimiento de Sistemas
Los siguientes 4 problemas sern resueltos a modo de ejemplo evalundose su complejidad
dependiendo de la tcnica de evaluacin que se utilice. Adems se revisaron las ventajas y
desventajas del mtodo escogido. Los ejercicios fueron los siguientes:
Problemas:
Calculo de la velocidad de un mvil que avanza en lnea recta cuya posicin, p(t)
est dada por la ecuacin p(t)=4t^2+3t
Calculo de la probabilidad de que deba esperar ms de 10 minutos para ser
atendido en el banco
Calculo del retardo que experimenta un paquete en Internet
Calculo del retardo que experimenta un paquete en una nueva arquitectura de red
Resultados:
Calculo de la velocidad de un mvil que avanza en lnea recta cuya posicin, p(t) est dada
por la ecuacin p(t)=4t^2+3t
Sistema Medida de
Tcnica de Nivel de Ventajas
Desventajas
Rendimiento Evaluacin dificultad
-Mvil -Velocidad
-Calculo
-Fcil
-Rpido
-Se necesita el
Diferencial
-Existen SW conocimiento
-Es una
aproximacin
ya que no se
consideran
todas las
variables

Calculo de la probabilidad de que deba esperar ms de 10 minutos para ser atendido en el


banco
Sistema Medida de
Tcnica de
Nivel de Ventajas
Desventajas
Rendimiento Evaluacin
dificultad
-Banco -Tiempo
-Teora de
-Media
-Existencia -Necesidad de
Probabilidad
del modelo ms datos
matemtico -Es una

-Banco

-Tiempo

-Cronometrar -Fcil
durante 1 mes
a los clientes

-Rpido
-Solucin
existente
-Realista
-Simple
-Completitud
de datos

Calculo del retardo que experimenta un paquete en Internet


Sistema Medida de
Tcnica de
Nivel de Ventajas
Rendimiento Evaluacin
dificultad
-Internet -Retardo
(Tiempo)

-Mtodo Ping -Fcil

-Internet -Retardo
(Tiempo)

-Media
-Algebra +
Fsica+ Teora
de
Probabilidad

-Existe
-Simple
-Datos Reales
-Con tiempo
genera una
gran Base de
Datos
-Existencia
del modelo
matemtico
-Rpido

aproximacin
-Complejo
-Lento
-Nula
sensibilidad a
distintos
periodos

Desventajas

-Lento
-Poca
sensibilidad a
distintos
periodos

-Necesidad
de ms datos
-Es una
aproximacin
-Complejo

Calculo del retardo que experimenta un paquete en una nueva arquitectura de red
Sistema Medida de
Tcnica de
Nivel de Ventajas
Desventajas
Rendimiento Evaluacin
dificultad
-Necesidad de
-Nueva -Retardo
-Teora de
-Alta
-Existencia
ms datos
Red
(Tiempo)
Probabilidad
del modelo
-Gran
matemtico
aproximacin
-Rpido
-Complejo
-Sujeta a
Imprevistos
-Poco realista
-Alta
-Mtodo ms -Necesidad de
-Nueva -Retardo
-Simular
realista
ms datos
Red
(Tiempo)
con SW o
-Aproximacin
HW
-Parcialmente
Complejo
-Sujeta a
Imprevistos
-Poco realista

2 Simulacin
En esta seccin se describen los conceptos bsicos relacionados con la evaluacin de
rendimiento de un sistema utilizando la tcnica de simulacin. Inicialmente se definir el
concepto de simulacin (sub-seccin 2.1), detallando motivos de su uso, luego, en la subseccin 2.2 se detallaran los distintos tipos de simuladores, cada uno con sus respectivos
ejemplos.
2.1 Concepto de Simulacin
En la pgina web de la Real Academia Espaola (RAE), podemos encontrar la siguiente
definicin para simular: Representar algo, fingiendo o imitando lo que no es, es decir, la
simulacin es la imitacin de algo real, de alguna situacin, proceso o sistema (como lo son
las maquetas de edificios, automviles a escala o incluso un actor interpretando un
personaje). Sin embargo, esta definicin de simular no habla de motivos o razones para
simular.
Wikipedia, en cambio, propone que la definicin ms acertada de simulacin es la formulada
por R.E. Shannon (1) , la cual dice La simulacin es el proceso de disear un modelo de un
sistema real y llevar a trmino experiencias con l, con la finalidad de comprender el
comportamiento del sistema o evaluar nuevas estrategia -dentro de los lmites impuestos por
un cierto criterio o un conjunto de ellos- para el funcionamiento del sistema, esta
definicin presenta al lector la existencia de una finalidad para simular, luego es vlido hacer
la pregunta Por qu simular?
Existen diversas razones para simular. Una de ellas es que permite evitar los problemas
ticos, legales o de seguridad que conlleva la experimentacin de algn proceso, situacin,
proceso o sistema. Por ejemplo, los simuladores utilizados en el campo de la medicina, que
permiten a los estudiantes obtener conocimientos sin la necesidad de daar personas o
animales en el proceso. Tambin existen simuladores para entrenar a los soldados en
situaciones que podran enfrentar en una guerra, que si bien son ticamente cuestionables,
estos permiten evitar riegos que puedan daar la seguridad de la gente. Otro ejemplo de
utilizacin de simulacin por motivos ticos ocurre en las pruebas de seguridad de
automviles en situaciones de impacto frontal, donde se simula el dao causado en humanos
mediante la utilizacin de maquetas.
Otra razn importante para usar simulacin es la disminucin de costos. Por ejemplo,
mediante simulacin se evita construir una red de comunicaciones que, una vez terminada,
podra no cumplir con los requerimientos de los usuarios. Es decir, se evita el gasto de
produccin de algo solo para testearlo y analizar su comportamiento ante situaciones
crticas.

(1)

Robert. E. Shannon: Profesor Emrito de la Oklahoma State University, sus reas de investigacin son la aplicacin de la simulacin a
problemas de logstica, distribucin, fabricacin y diseo de sistemas y en la combinacin de metodologas de simulacin. Es el autor de
varios libros y artculos en relacin a la simulacin.
Referencias: http://ise.tamu.edu/people/faculty/Shannon/default.htm
http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/s/Shannon:Robert_E=.html

En resumen, como motivadores de la simulacin se encuentran la enseanza, el


entrenamiento, la evaluacin de rendimiento de sistemas, la disminucin de costos y el
cumplimiento de normas de seguridad, de tica y legales en experimentaciones reales. Por
estas razones la simulacin se transforma en un actor principal en el desarrollo de los
sistemas hoy en da.
2.2 Tipos de Simuladores
Debido a la diversidad de sistemas que existen, deben existir distintos tipos de simuladores
para poder adecuarse al tipo de sistema a simular. En esta sub-seccin se describen 3 tipos
de simuladores: maquetas reales, simuladores de software y simuladores que usan una
combinacin de maquetas y software.
Maquetas
Segn la RAE la palabra maqueta significa la reproduccin fsica a escala, en tres
dimensiones, por lo general, en tamao reducido, de algo real o ficticio. Ejemplos de
simuladores basados en el uso de maquetas son:
-Maquetas militares: Reproducen el ambiente, personajes, vehculos y escenas para el
entrenamiento de soldados.
-Maquetas arquitectnicas: Reproducen edificios y son exigidos a fin de analizar su
respuesta a excitaciones. Por ejemplo, movimientos en su base para simular un terremoto.
-Maquetas en medicina: Reproducen cuerpos enteros o slo partes de stos para permitir a
los estudiantes practicar tcnicas y procedimientos en ellos.
Ventajas:
-Permite no tener que armar el sistema completo, si no que una
representacin de este, usualmente a escala, por lo que permite
costos.
Desventajas: -Es difcil hacer cambios significativos en el modelo
-Se desgasta con el tiempo.

disminuir

Simuladores de software
La RAE define palabra software como Conjunto de programas, instrucciones y reglas
informticas para ejecutar ciertas tareas en una computadora. En este documento se
entender que una simulacin por software es la utilizacin de herramientas informticas
para la estimar o evaluar el rendimiento de algn sistema Algunos ejemplos de este tipo de
simuladores son:
-Simuladores de redes: Estos permiten al usuario simular una red y comprobar que esta
cumple con las especificaciones tcnicas requeridas (por ejemplo, en trminos de retardo o
probabilidad de bloqueo para una red de comunicaciones). Tambin pueden usarse para la
enseanza y entrenamiento. Los simuladores Packet Tracer
(www.cisco.com/web/learning/netacad/course_catalog/PacketTracer.html) y
Simulink ( www.mathworks.com/products/simulink) son ejemplos de simuladores de
software para redes de comunicaciones y redes elctricas, respectivamente.

-Simuladores arquitectnicos: Al igual que las maquetas arquitectnicas, existen


simuladores de software que permiten hacer cambios al modelo de manera ms rpida (sin la

necesidad de rehacerlo). Adicionalmente, es posible, simular los efectos de ondas


producidas debido a terremotos y evaluar el impacto de dichas ondas en una edificacin en
trminos de daos estructurales. El software AllPlan (www.nemetschek.es) es un ejemplo de un
simulador de software arquitectnico.

-Simuladores climatolgicos: Utilizados principalmente para la proyeccin de efectos del


calentamiento global o simular las dinmicas climatolgicas que ocurren en la tierra. Earth
Simulator (http://www.jamstec.go.jp/esc/index.en.html) es un ejemplo de este tipo de
simulador.
Ventajas:
-Son rpidos, lo que permite proyectar resultados de quizs
centenas de aos
-Se pueden hacer muchas simulaciones sin que el modelo de
deteriore.
Desventajas: -Su calidad en la simulacin est sujeta a la fiabilidad de los datos
y ecuaciones que modelan el sistema.
Combinacin de Maquetas y Software
Un tercer tipo de simulador corresponde a la mezcla de los dos tipos de simuladores
anteriores: una maqueta cuyas funciones se potencian gracias al uso de software. De esta
manera, se logra una simulacin ms cercana a lo real. Ejemplos de este tipo de simulador
son:
-Simuladores de vuelo: Son maquetas de cabinas de aviones en tamao real a las que se le
agrega un simulador de ambiente que -a travs de una interfaz grfica da al piloto la
sensacin de encontrarse una verdadera cabina de avin.
-Simulador de guitarra: Son guitarras de seis cuerdas que, a travs de una consola de
videojuegos, permiten al usuario aprender a tocar guitarra. Un ejemplo de este tipo de
simulador es PowerGig: Rise of the Sixstring (www.powergig.com).
-Simulador de cuerpos humanos para entrenamiento mdico: Es una maqueta de cuerpo
humano que tiene la funcionalidad de poder simular distintas enfermedades, a travs de un
software que controla su nivel sanguineo, ademas de respuestas en audio, entre otras
funciones.
El simulador iStan (www.meti.com/products_ps_istan.htm) es un ejemplo de este tipo de
simulador
Ventajas:

-Al ser la combinacin maquetas mas software, su simulacin se


acerca mas a lo real.
-Conlleva las ventajas de las simulaciones por software y por
maquetas explicadas en esta sub-seccin.
Desventajas: -Se desgasta con el tiempo.
-Conlleva las desventajas de la simulaciones por software y por
maquetas explicadas en esta sub-seccin.

2.3 Cuadro comparativo sobre Simuladores de Redes


Simulador

Empresa/Pas

Tipo de Sistema

Network
Simulator N-2

DARPA / USA

Redes de
comunicaciones

Medida
Rendimiento
Retardo, Tasa de
prdidas

GNS-3

EPITECH /
FRANCIA

Ethernet, equipos Cisco

KivaNs

Aurova / U
Alicante

Capa 2 y 3

Retardo

Ventaja
Soporte para mltiples
protocolos y capacidad de
detallar grficamente el
trfico
Simulacin instrumentos
CYSCO

- SW Multiplataforma.
- Orientado en el manejo de
protocolo TCP/IP

NS 3

FLAN

Esfuerzo
colaborativo
auspiciado por
google

En desarrollo, hasta
ahora WiFi, WiMax,
Ethernet

Retardo, Tasa de
prdidas

British Telecom /
UK

Redes de
comunicaciones basado

Retardo

- SW Multiplataforma.
- Uso de gran cantidad de
protocolos de capa aplicacin
y transporte
Software multiplataforma, es
decir, se puede implementar

Desventaja
La simulacin se escribe en
lenguaje Otcl, que es lenguaje
orientado a objetos de tipo
intrprete.
El consumo de recursos del
procesador, ya que utiliza
muchos programas para
completar la simulacin
(Dynamips, Dynagen y
Pemu).
-Demora en carga del
programa.
- Descarga de muchos
archivos para el
funcionamiento
-Requiere de varios
componentes para el uso.

Simula solo para redes de


tamao chico (100 nodos

en protocolo IP.

bajo cualquier sistema


operativo.

Jimsim

Jim Bonev / USA

Redes routers Cisco con


3 nodos

OPNET

OPNet

Redes de
comunicaciones

Retardo

Packet Tracer

Cisco / USA

Solo equipos Cisco

Simple de usar, ideal para


alguien que est empezando
a usar equipos Cisco.

como mximo). Adems,


independiente del uso de la
interfaz grfica, es necesario
tener conocimientos sobre el
lenguaje de programacin
Java.
Tiene capacidad para
conectarse solamente hasta 3
routers, lo cual hace al
simulador muy limitado.
Al momento de simular, es
muy lento.

Posee interfaz para visualizar


modelos en 3D. Permite
mostrar el trfico por la red
mediante animacin, los
resultados se muestran
mediante grficos
estadsticos. Como punto
fuerte, el programa posee
libreras para acceder a un
extenso grupo de protocolos y
tecnologas como: HTTP, IP,
OSPF, Ethernet, IP,
Multicast, IP Mvil, etc.
- Fcil uso
No permite crear topologas
de red que involucren
tecnologas que no sea

-Uso de programas CYSCO

Ethernet

- Simulacin de protocolos
IP, STP, SMP.

OMNET ++

Simulcraft Inc

Redes de
comunicaciones

Retardo

- Enrutamiento RIP V2
-Multiplataforma.
- Simulacin de procesos
paralelos y distribuidos.

NetSim

Bosom / USA

Redes de
comunicaciones

Retardo

AdventNet 6

AdventNet Inc

Redes de
comunicaciones

Retardo

GloMosim

UCLA / USA

En desarrollo, wireless

Retardo,
Throughput

Posee una amplia gama de


routers, switch Cisco (47
aproximadamente), a la vez
realiza conmutacin tablas
del puente y las tablas de
enrutamiento de protocolos.
Posee una interfaz para el
usuario muy fcil de usar para
el testeo, entrenamiento y
demostracin de aplicaciones
de gestin de redes
Requiere de recursos de
memoria bajos.

Es necesario saber el lenguaje


NED, ya que el trabajo con el
editor grfico no permite
disear redes ms reales.
No posee todos los esquemas
de direccionamiento actuales,
es un programa con licencia.

Es programa con licencia, con


una versin de prueba de 30
das.

La interfaz grfica no es de
ayuda para el usuario, l
necesita leer el manual de
usuario. Para realizar alguna
simulacin es necesario de

Cnet

U. West /
Australia

Ethernet (Capa enlace)

Throughput

SimuRed

U de Valencia /
Espaa

Capa 3 ( Enrutamiento)

Retardo

Monitoreo amplio en el envo


de frames (se indica la
cantidad, tiempo promedio,
velocidad de transmisin,
ancho de banda, eficiencia),
puede simular red a nivel
nacional (en este caso
Australia).
Permite tener saber los
resultados de la simulacin de
manera grfica (estadstica),
permite modificar el
encaminamiento de paquetes
(tamao del paquete, de la
cola, del buffer, etc).

mucha programacin.
Solo existe versin para
Ubuntu, Debian.

Solamente simula la capa 3,


lo cual lo hace poco
completo.

Ranking de Simuladores de Red


Para lograr realizar un anlisis ms equitativo entre los simuladores estudiados, se adopt lo siguiente estretegia: Para que un simulador fuera lo
suficientemente completo, debe cumplir con las siguientes especificaciones:
1234-

Simular el encaminamiento de paquetes.


Uso del protocolo TCP / IP
Simular el funcionamiento de tecnologas de enlace bsicas como: Ethernet.
Soportar redes inalmbricas, Fast-Ethernet, Gigabit-Ethernet.

5- Uso de tablas de enrutamiento, RIP, OSPF.


6- Conexin a red externa.

Simulador

Completitud

Facilidad de Uso

Network Simulator N2

1,2,3,4

GNS-3

2,3,6

KivaNs

1,2,3,

NS 3

2,3,4,6

Dificil, por que el usuario debe de introducir las


especificaciones mediante el lenguaje OTcl,
versin extendida de Tcl. Implementacin de los
protocolos se realizan en C++.
Dificil, requiere de la instalacin de muchos
programas adicionales como lo son: Dynamips,
Qt, Python, Pemuwrapper. En algunos S.O como
Windows vienen un instalador all-in-one, pero en
ambiente Linux no.
Es de fcil uso. Ya que no se requiere de
conocimientos de algn lenguaje de
programacin, ya que la interfaz grfica facilita la
configuracin de los dispositivos.
Es fcil su manipulacin, pero tiene sus
dificultades en el momento de instalacin. Solo
funciona en ambiente Linux, si se usa en
Windows, es necesario utilizar cygwin.
Demasiado complicado la instalacin del
programa (en el manual de la pgina sale el paso a
paso, pero es demasiado extenso).

Rankin
g
9

Link del Programa


www.isi.edu/nsnam/ns

13

www.gns3.net

http://www.disclab.ua.es/kiva

www.nsnam.org

FLAN

1,2,3,5

Jimsim

2,3

OPNET

1,3,5

Packet Tracer

1,2,3,4,5

OMNET ++

1,2,3,4,5

NetSim

1,2,3,4,5

AdventNet 6
GloMosim

2,3
2,3,4

Se requiere de conocimientos bsicos de Java, y su


vez, funciona para modelar pequeas redes.
Es de fcil uso, pero es demasiado simple, a futuro
se piensa implementar mayores funciones, pero
actualmente es muy pobre.
Posee un editor grfico que facilita el diseo de
topologa de red, eso s para simular una red,
requiere de un proceso extenso, ya que se tiene
que configurar la red, los nodos y los procesos por
separado.

Fcil, ya que la interfaz grfica es de fcil uso, no


es necesario manejo en lenguaje.
Difcil, es necesario saber el lenguaje NED
(derivado de C++), adems que la interfaz grfica
es complicada para el usuario.
Fcil, ya que utiliza comandos propios de Cysco,
la consola es de fcil uso, la interfaz grfico del
usuario es simple pero con la informacin
necesario para que el usuario pueda llevar a cabo
su simulacin.
Medio
Si se le exige mucho al simulador (instanciar una
cantidad considerable de nodos) provocar un
ralentizacin del simulador, se debe utilizar un

http://freshmeat.net/projects/flan/

www.jimboney.com

10

http://www.opnet.com

www.cisco.com

www.omnetpp.org

www.bosom.com

12
11

www.adventnet.com
http://pcl.cs.ucla.edu/projects/glomosim
/

Cnet

1,2,3,4

SimuRed

1,3

input file, el cual debe poseer unos parmetros


especificados en el manual, pero que no deja de
ser tedioso para el usuario. Dificultad: Media-alta.
Si uno se maneja en el uso de Linux, no se le har
difcil la utilizacin del SW. La consola del
simulador opera bajo el lenguaje de C++, lo cual
provoca una dificultad para el usuario que use el
programa por primera vez (desconoce las clases y
los mtodos que posee el SW).
Difcil, ya que la interfaz grfica es poco intuitiva
y se necesita una lectura intensiva del manual de
usuario para saber qu comandos son modificables
y cules no, adems de las opciones de red

www.csse.uwa.edu.au/cnet

14

http://simured.uv.es/

2.4 Resumen.
La simulacin es una herramienta til para la evaluacin de rendimiento de
sistemas cuando las tcnicas empricas y matemticas no son una solucin
factible.
La evaluacin de rendimiento puede realizarse con fines de anlisis de
comportamiento, diseo o ajuste de sistemas o entrenamiento y enseanza.
Dependiendo del sistema a evaluar y el objetivo de la evaluacin, se puede optar
por diversos tipos de simuladores.
Referencias:
RAE:
Ramo Simulacin de Redes:
Wikipedia:

http://www.rae.es/rae.html
http://www.ramos.utfsm.cl/index.php?id=936
http://www.wikipedia.org/

Captulo 2: simulacin Orientada a Eventos


3.- Simulacin Orientada a Eventos
En esta seccin se presentan los conceptos bsicos sobre los que fundamenta la
Simulacin Orientada a Eventos: Estado, Variable de Estado y Evento (Sub-Seccin
3.1). Luego, en base a estos conceptos se definen los Sistemas Discretos y Continuos
(Sub-Seccin 3.2). Los primeros son el tipo de sistema que se modela con una
Simulacin Orientada a Eventos. Finalmente, se establecen las diferencias entre este
tipo de Simulacin con aquella de Tiempo Continuo (Sub-Seccin 3.3). Anexo a esto se
presentar un ejemplo de una Fila de un Banco (Sub-Seccin 3.4).
3.1. -Conceptos de Evento y Estado
El concepto de estado se define como Situacin en que se encuentra alguien o algo, y
en especial cada uno de sus sucesivos modos de ser o estar1. En el contexto de
simulacin, la situacin en que se encuentra el sistema se define segn la medida de
rendimiento que se quiere evaluar. Por ejemplo, si se desea evaluar el porcentaje de
ocupacin de un servidor, el estado del sistema debe incluir el estado del servidor
(ocupado, desocupado).. En cambio, si se desea medir el tiempo promedio de espera de
un cliente antes de ser atendido por el servidor, el estado debe incluir el nmero de
usuarios en el sistema.
La Tabla 3.1 muestra ejemplos de definiciones de estado de distintos sistemas, segn la
medida de rendimiento que se desea evaluar.

RAEwww.rae.es

Sistema
Banco : 1 caja con una fila

Medida de rendimiento
Tiempo promedio de
espera en la fila de un
Banco

Estado del Sistema


Estado bi-dimensional: (N, E)

Cantidad promedio de
personas en una
estacin

Estado hexa-dimensional: (F1,


F 2 , N1 , N 2 , N3 , N4 )

Ferrocarril: Sistema de
transporte de pasajeros
2 Ferrocarriles con 4
Estaciones

N: cantidad de personas en la fila


E: Estado de la caja (ocupada,
vaca)

Fi: Estado ferrocarril i-simo


(en movimiento / detenido en la
estacin / detenido en la va)
Nj: Nmero de personas en
estacin j-sima

Tabla 3.1 Ejemplos de sistema, medidas de rendimiento y definicin de estados

El estado de un sistema se define mediante un conjunto de variables. Por ejemplo, en el


Sistema de Cajas visto anteriormente las variables son N (nmero de personas en la fila)
y E (estado de la Caja), las cuales pueden tomar diferentes valores dependiendo del
sistema. Estas variables se conocen como variables de estado.
La tabla 3.2 muestra las variables de estado de los ejemplos descritos en la Tabla 3.1.

Sistema

Medida de rendimiento

Variable de Estado

Banco : 1 caja con una fila

- Nmero de personas en
la fila (N)

Tiempo de espera en
la fila de un Banco

- Estado de la Caja (E)

Ferrocarril: Sistema de
transporte de pasajeros
2 Ferrocarriles con 4
Estaciones

Cantidad promedio de personas en una


estacin
-

Estado del Ferrocarril


i-simo (Fi)
Nmero de personas en
estacin j-sima (Nj)

Tabla 3.2 Ejemplos de Sistemas y Variables de Estado

El concepto de evento se define como una ocurrencia que ha ocurrido y que ha sido
registrada2. En el contexto de simulacin, un evento sucede instantneamente y puede
provocar un cambio en las variables de estado del sistema. Por ejemplo, la llegada de un
nuevo cliente a un banco es un evento que cambia la variable de estado N (nmero de

Wikipediawww.wikipedia.org

clientes en fila). La llegada de una persona a la estacin j-sima de ferrocarriles cambia


la variable de estado Nj y la aumenta en uno.
La Tabla 3.3 muestra, para los mismos ejemplos de la Tabla 3.2 posibles eventos. Para
cada evento, se identifica la variable de estado que puede modificar.
Sistema

Medida de
rendimiento

Eventos posibles

Variable de
estado que puede
alterarse

Banco : 1 caja con


una fila

- N (si el cajero
est ocupado
cuando llega el
cliente)

Tiempo de
espera en la fila
de un Banco

Llegada de
cliente

- E (si la caja
est vaca
cuando llega el
cliente)

Ferrocarril: Sistema
de transporte de
pasajeros
2 Ferrocarriles con 4
Estaciones

Cantidad
promedio de
personas en una
estacin

Termino de
atencin del
cajero

- E (pasa de
estado
ocupado a
desocupado)

Llegada del
tren i-simo a
la estacin

Estado del
Ferrocarril isimo (pasa de
estado en
movimiento a
detenido en la
estacin)

Llegada de un
pasajero a la
estacin isima

Nmero de
personas en
estacin jsima
(Aumenta en
uno su estado)

Tabla 3.3 Ejemplos de Sistemas, Estado y Eventos Posibles

Existen dos tipos de eventos:


-

Evento Independiente: Aquel que ocurre sin necesidad de que ocurra un evento
previo. Por ejemplo, en el caso del Ferrocarril, el evento de Llegada de un tren

a la estacin es totalmente independiente del evento Llegada de un pasajero.


El evento se produce sin necesitar que el segundo ocurra.
-

Evento Dependiente: Aquel que ocurre como resultado de la ocurrencia de un


evento anterior. Por ejemplo, un evento dependiente es que el primero de la fila
pase al cajero; ese evento es el resultado de antes se produjera el evento
independiente Termino de atencin del Cajero

En simulacin orientada a eventos, se trabaja con los eventos independientes.


3.3.- Diferencias entre Simulacin de Tiempo Continuo y Orientada a Eventos
La sucesin de estados de un sistema a lo largo del tiempo define su comportamiento, lo
que constituye el objeto del estudio de simulacin.
Atendiendo a la relacin entre la evolucin de las propiedades de inters y los instantes
de tiempo en que esto ocurre, los sistemas se pueden separar en aquellos en los que la(s)
variable(s) de estado cambian forma continua (sistemas continuos) y en los que la(s)
variable(s) de estado cambian de manera discreta (en instantes de tiempo definidos,
sistemas discretos). Ejemplos de sistemas de tiempo continuo son el caudal de un rio o
la temperatura de un lugar. Ejemplo de sistemas de tiempo discreto es una fbrica que
ensambla componentes. Las entidades individuales (partes) son ensambladas basadas
en eventos (recibo o anticipacin de rdenes). Existen simuladores para ambos tipos de
sistemas.
En los simuladores de tiempo continuo, el tiempo avanza de manera continua. Cada vez
que el tiempo avanza, se revisa si ha ocurrido algn evento para actualizar las variables
de estado correspondientes. En cambio, en un simulador de tiempo discreto (tambin
conocido como simulador orientado a eventos), el tiempo avanza slo en los instantes
en que ocurren los eventos. Los periodos entre eventos suelen ser de distinta duracin
y por lo tanto los incrementos al reloj de simulacin (variable que lleva el registro del
tiempo simulado) son de tamao desigual.
Las Figuras 3.1 y 3.2 muestran diagramas de flujo generales de un simulador de tiempo
continuo y uno orientado a eventos, respectivamente.

Figura 3.1. Diagrama de Flujo Simulacin de Tiempo Continuo

Como se observa en la figura, en la simulacin de tiempo continuo la variable que


representa el avance del tiempo se incrementa de manera continua. Los eventos se
generan slo cuando la variable del tiempo llega al instante de ocurrencia del evento. En
el diagrama de flujo se muestra, a modo de ejemplo, que como condicin de trmino de
la simulacin se haya cumplido un cierto perodo de tiempo. Pueden existir otros
criterios.

Figura 3.2 Diagrama de Flujo Simulacin Orientada a Eventos (Modeling).

En el caso de simulacin orientada a eventos, el avance de la simulacin depende


solamente de los eventos producidos durante su ejecucin. Ahora es el tiempo el que
depende de la generacin de estos eventos y la variable que lleva el total de tiempo de
simulacin es actualizada slo cuando existe un cambio en alguna variable de estado.
La simulacin concluye cuando se cumple con la condicin definida en el inicio del
programa, ya sea cantidad de eventos o tiempo trascurrido, y es cuando se calcula la
medida de rendimiento.
La Tabla 3.4 muestra las principales diferencias entre ambos tipos de simuladores.

Caracterstica

Tiempo Continuo

Orientada a Eventos

Instantes en los que se


actualiza la variable

Cada t unidades de tiempo

Cada vez que ocurre un evento

que representa el
tiempo
Ruteo de simulacin

Realizado cada t unidades


de tiempo, algunos estados
no se actualizan, se realizan
instrucciones innecesarias

Realizado por cada llegada de


evento, estados se actualizan
en todo instante de evaluacin.

Tiempo total de
simulacin

Puede ser demasiado largo


(depende de los intervalos
entre eventos y la cantidad
de eventos).

Tiempo menor comparado con


la simulacin a tiempo
continuo (dependencia
exclusiva de los eventos).

Tabla 3.4 Diferencias entre Simulacin de Tiempo Continuo y Orientado a Eventos.

3.4 Ejemplo Fila de un Banco


En esta seccin se realizar el ruteo de los dos tipos de simulador presentados (de
tiempo continuo y orientado a eventos). Considerando el sistema de una fila con un
cajero en un banco, suponga la siguiente secuencia de eventos:
Tiempo
Evento
[S]

1,2

1,4

1,7

2,1

2,2

2,5

2,6

Tipo
Evento

Llegada
cliente

Llegada
cliente

Salida
cliente.

Llegada
cliente

Salida
cliente

Llegada
cliente

Llegada
cliente

Tabla 3.5 Eventos del Ejemplo Fila de un Banco

El estado inicial es (N,E)=(0, Vaca). Es decir, no hay clientes en el banco.


Consideraremos rutear la simulacin de dos formas: el primero con un tiempo continuo
y el segundo orientado a eventos.
Primer Caso: Simulador tiempo continuo
Para rutear el simulador, consideraremos que la variable que registra el avance del
tiempo del sistema vara cada 0,1 segundos. Entonces la tabla de ruteo es como sigue:
Tiempo

Tipo Evento

# Fila

Caja

Tiempo
Espera
acumulado

# Clientes

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

1,1

1,2

Llegada
Cliente

LL

1,3

LL

1,4

Llegada
Cliente

LL

1,5

LL

0,1

1,6

LL

0,2

1,7

Salida
Cliente

LL

0,3

1,8

LL

0,3

1,9

LL

0,3

2,0

LL

0,3

2,1

Llegada
Cliente

LL

0,3

2,2

Salida
Cliente

LL

0,4

2,3

LL

0,4

2,4

LL

0,4

2,5

Llegada
Cliente

LL

0,4

2,6

Llegada
Cliente

LL

0,5

Tabla 3.6 Ruteo Ejemplo Fila de un Banco. Tiempo continuo

Es posible observar que en algunos intervalos no sucedieron cambios en las variables de


estado del sistema (N, E), provocando gasto innecesario de procesamiento en el
computador y avance innecesariamente lento del simulador.

Caso 2: Ruteo orientado a eventos.


Tiempo

Tipo evento # Fila

Caja

Tiempo
espera
acumulado

# Clientes

1,2

Llegada
Cliente

LL

1,4

Llegada
Cliente

LL

1,7

Salida
Cliente

LL

0,3

2,1

Llegada
Cliente

LL

0,3

2,2

Salida
Cliente

LL

0,4

2,5

Llegada
Cliente

LL

0,4

2,6

Llegada
Cliente

LL

0,5

Tabla 3.7 Ruteo Ejemplo Fila de un Banco. Orientado a Eventos

Es posible apreciar que el ruteo orientado a evento involucra menos procesamiento y un


tiempo de ejecucin ms corto que el de tiempo continuo.

También podría gustarte