Vous êtes sur la page 1sur 25

Minicurso

Simulao de um Buffer de Pacotes usando


Eventos Discretos em C++

Prof. Antnio Marcos Alberti
alberti@inatel.br
http://www.inatel.br/docentes/alberti/

Tpicos
Processo de Nascimento e Morte e Diagrama de Estado
Equaes de Equilbrio
Teorema de Little
Sistema de Fila com Servidor nico e Buffer Infinito
Arquitetura de um Simulador a Eventos Discretos
Simulando um Buffer de Pacotes por Eventos Discretos
Comparao de Resultados


Processo de Nascimento e Morte e Diagrama de Estado
uma classe especial de processos estocsticos em que
so permitidas somente transies aos estados vizinhos.






As probabilidades de transio so determinadas em
funo do estado atual e das mdias das distribuies dos
processos de chegada e de atendimento.


K+1

K-1

K

Estado do
Sistema
Processo de Nascimento e Morte e Diagrama de Estado
Assim, para um sistema em equilbrio tem-se:




Onde:

k
Mdia de chegada de elementos no estado K.

k
Mdia de sada de elementos no estado K.

{ }
k
nascimento P = 1


{ }
k
morte P = 1
Equaes de Equilbrio
Em equilbrio, a soma dos fluxos que saem de um
determinado estado (
k
), deve ser igual a soma dos fluxos
que chegam a este mesmo estado (
k+1
).

Ou seja:



= Sada de Fluxo Entrada de Fluxo


K+1

0

1

K

1

0

K-1

K

K+1

1
K-1

......

K-2

K-1

K+1

K+2
......
( )
1 1 1 1
. .
+ +
+ = +
K K K K K K K
P P P
Equaes de Equilbrio
Lembre-se que:



Considerando-se esta equao, o sistema de equaes
pode ser resolvido como:



1
0
=

= K
K
P
0
1
0
1
.P P

=
0
2
0
1
1
2
. P P

=
[

=
+
=
1
0
1
0
.
K
i
i
i
K
P P

......
1 .
0
1
1
0
1
0
= +
[

=
+
P P
K
K
i
i
i

1
1
1
1
0
1
0
+
|
|
.
|

\
|
=
[

=
+
K
K
i
i
i
P

Teorema de Little
Diz que o nmero mdio de elementos no sistema igual
a taxa mdia efetiva de chegadas no sistema multiplicada
pelo tempo mdio de permanncia no sistema.



Tambm vlido para as demais mdias de elementos no
sistema:


{ } { }
q
t E q E . = { }
{ }

q E
t E
q
=

{ }
{ }

w E
t E
w
= { }
{ }

s E
t E
s
=
Sistema de Fila com Servidor nico e Buffer Infinito
Este sistema conhecido como M/M/1, ou na notao
expandida M/M/1////FCFS.


S
1


Fila (W) Servidor (S)
......

K+1

0

1

K

1

0

K-1

K

K+1

1
K-1

......

K-2

K-1

K+1

K+2
......

Sistema de Fila com Servidor nico e Buffer Infinito
No sistema M/M/1, todas as transies de nascimento tem
valor igual a , e como existe somente um servidor, todas
as transies de morte so iguais a . Ou seja:


K+1

0

1

K


K-1

......


......

K
= , para K=0,1,...,

K
= , para K=1,...,

Sistema de Fila com Servidor nico e Buffer Infinito
As equaes de equilbrio, neste caso, so:


0 1
.P P

=
0
2
1 2
P P P
|
|
.
|

\
|
= =

0
3
2 3
P P P
|
|
.
|

\
|
= =

0
P P
K
K
|
|
.
|

\
|
=

Resolvendo, tem-se:
( )

=
+
=
= =
> + = +
0
1 0
1 1
1
0 K .
1 K . .
K
K
K K K
P
P P
P P P


Sistema de Fila com Servidor nico e Buffer Infinito
Podemos encontrar P
0
fazendo-se:

=1
0
P
1
1
0
= +

= K
K
P P
1 .
0
1
0
=
|
|
.
|

\
|
+

=
P P
K
K

1 1
1
0
=
|
|
.
|

\
|
|
|
.
|

\
|
+

=
K
K
P

|
|
.
|

\
|
|
|
.
|

\
|
+
=

=
K
K
P
1
0
1
1

Sabendo-se que:

=
|
|
.
|

\
|

=
1
1
0
K
K
Tem-se:
Sistema de Fila com Servidor nico e Buffer Infinito
As equaes anteriores podem ser reescritas em funo
da varivel , que conhecida como utilizao:




Assim, a utilizao do sistema igual a probabilidade de
que o sistema no esteja vazio.

Observando a expresso , vemos que no
pode ser maior que , seno a utilizao do sistema seria
maior que 1.


U
n
i
d
a
d
e

3















I
n
t
r
o
d
u


T
e
o
r
i
a

d
e

F
i
l
a
s

0
P P
K
K
=

= =1
0
P
0
1 P =
( ) = 1
K
K
P
/ =
Sistema de Fila com Servidor nico e Buffer Infinito
Nmero Mdio de Elementos no Sistema
Vamos agora calcular, o nmero mdio de elementos no
sistema, .

Pela definio de mdia para um V.A. discreta temos:




{ } q E
{ }

=
=
0
.
K
K
P K q E
{ }

=
=
0
) 1 ( .
K
K
K q E
Sistema de Fila com Servidor nico e Buffer Infinito
Nmero Mdio de Elementos no Sistema
Sabendo-se que:



Tem-se:




{ }

=

= =
0
2
) 1 (
). 1 ( . ) 1 (
K
K
K q E


( )
2
0
1

= K
K
K
{ }

=
1
q E
Sistema de Fila com Servidor nico e Buffer Infinito
Nmero Mdio de Elementos no Sistema


()
{ }

=
1
q E
Sistema de Fila com Servidor nico e Buffer Infinito
Tempo Mdio de Permanncia no Sistema
Pode ser obtido utilizando-se o Teorema de Little:






{ }
{ }

q E
t E
q
=
{ }

=
|
|
.
|

\
|

=

=
1
1
1
1
) 1 (
q
t E
{ }

=
1
q
t E
Sistema de Fila com Servidor nico e Buffer Infinito
Tempo Mdio de Permanncia no Sistema


()
{ }

=
1
q
t E
Arquitetura de um Simulador a Eventos Discretos



Bloco A Bloco B Bloco C
Evento (1)
Evento (1)
Evento (1)
Evento (0)
Gerenciador de
Eventos
Fila de
Eventos
Evento (2) Evento (1) Evento (2)
Executa o
Bloco B
(0,1,2)
Executa o
Bloco A
(1,1)
Executa o
Bloco C
(1,2)
1
2
4
3
1 Agendamento de eventos pelos blocos.
2
Armazenamento dos eventos na fila com
prioridades.
3 Retirada do evento de maior prioridade.
4 Interpretao e execuo do evento retirado da fila.
Nota: Os valores entre parnteses indicam tempo de execuo em
segundos.
Arquitetura de um Simulador a Eventos Discretos
Os blocos agendam execues de processos, que so
armazenadas em uma fila com prioridades na forma de
eventos.

Cada evento possui um tempo de execuo.

Um gerenciador de eventos (presente no gerente de
simulao) retira o evento de maior prioridade (menor
tempo de execuo) que se encontra na fila e executa o
processo desejado no bloco para o qual o evento se
destina.


Arquitetura de um Simulador a Eventos Discretos
Vrios eventos podem ser agendados para o mesmo
tempo de execuo.

Neste caso, o ncleo de simulao deve executar os
eventos na ordem em que eles foram agendados, ou seja,
segundo a disciplina FIFO (First-in first-out).

Toda vez que um evento retirado da fila, o tempo global
de simulao avanado para o tempo de execuo
deste evento.


Arquitetura de um Simulador a Eventos Discretos
Observe que se o tempo de execuo for igual ao tempo
global de simulao, no h avano de relgio.

Assim, tipicamente, apenas alguns blocos so chamados
a cada avano no tempo global de simulao.

Quando um bloco acionado, procedimentos especficos
localizados em funes chamadas processos so
executados.



Arquitetura de um Simulador a Eventos Discretos
Por exemplo, um bloco que modela um equipamento
terminal pode executar um processo que representa a
transmisso de um pacote atravs de um enlace at o
prximo equipamento da rede.

Quando um processo em um bloco executado, ele pode
agendar novos eventos na fila para instantes de tempo
superiores ou iguais ao tempo atual.

Ao trmino da execuo desse processo, o fluxo da
simulao retornado para o ncleo, que retira e
interpreta outro evento da fila.


Arquitetura de um Simulador a Eventos Discretos
A simulao prossegue at que no hajam mais eventos
para serem executados, ou at que o tempo final de
simulao seja alcanado.

Observe que no interessante o agendamento de
eventos para o passado, pois eles geram inconsistncias
na simulao.

Sempre necessrio o agendamento de eventos iniciais,
que disparam a execuo dos demais processos.


Arquitetura de um Simulador a Eventos Discretos
Tipicamente, os blocos contm os modelos da tecnologia
a ser simulada.

Assim, as redes e sistemas de comunicaes so
modelados a partir da interconexo de blocos, que
representam subsistemas, protocolos, algoritmos, etc.

Geralmente, os blocos disponveis fazem parte de uma
biblioteca de modelos, que fornecida junto com as
ferramentas de simulao.


Arquitetura de um Simulador a Eventos Discretos
A utilizao de bibliotecas de modelos permite a fcil
substituio dos blocos durante a fase de configurao do
sistema ou rede a ser simulada.

A biblioteca de modelos pode ser implementada de duas
formas:
Junto do Ncleo do Simulador
Neste caso, s pode ser expandida se toda a ferramenta for
recompilada.

Separadamente
Novos modelos podem ser incorporados ferramenta sem a
necessidade de recompilar o ncleo do simulador.

Vous aimerez peut-être aussi