aula simulação por eventos discretos

25
Minicurso Simulação de um Buffer de Pacotes usando Eventos Discretos em C++ Prof. Antônio Marcos Alberti [email protected] http://www.inatel.br/docentes/alberti/

Upload: antonio-alberti

Post on 28-Nov-2014

3.490 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Aula Simulação por Eventos Discretos

Minicurso

Simulação de um Buffer de Pacotes usando Eventos Discretos em C++

Prof. Antônio Marcos [email protected]

http://www.inatel.br/docentes/alberti/

Page 2: Aula Simulação por Eventos Discretos

Tópicos Processo de Nascimento e Morte e Diagrama de Estado Equações de Equilíbrio 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 Comparação de Resultados

Page 3: Aula Simulação por Eventos Discretos

Processo de Nascimento e Morte e Diagrama de Estado É uma classe especial de processos estocásticos em que

são permitidas somente transições aos estados vizinhos.

As probabilidades de transição são determinadas em função do estado atual e das médias das distribuições dos processos de chegada e de atendimento.

K+1K-1 KEstado do Sistema

Page 4: Aula Simulação por Eventos Discretos

Processo de Nascimento e Morte e Diagrama de Estado Assim, para um sistema em equilíbrio tem-se:

Onde: k – Média de chegada de elementos no estado K.

k – Média de saída de elementos no estado K.

knascimentoP 1

kmorteP 1

Page 5: Aula Simulação por Eventos Discretos

Equações de Equilíbrio Em equilíbrio, 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: Saída de Fluxo Entrada de Fluxo

K+10 1 K

10 K-1 K

K+1K21

K-1......

K-2

K-1

K+1

K+2

......

1111 .. KKKKKKK PPP

Page 6: Aula Simulação por Eventos Discretos

Equações de Equilíbrio Lembre-se que:

Considerando-se esta equação, o sistema de equações pode ser resolvido como:

10

KKP

01

01 .PP

02

0

1

12 . PP

1

0 10.K

i i

iK PP

......

1. 01

1

0 10

PPK

K

i i

i

1

1

1

1

0 1

0

K

K

i i

i

P

Page 7: Aula Simulação por Eventos Discretos

Teorema de Little Diz que o número médio de elementos no sistema é igual

a taxa média efetiva de chegadas no sistema multiplicada pelo tempo médio de permanência no sistema.

Também é válido para as demais médias de elementos no sistema:

qtEqE . qE

tE q

wE

tE w sE

tE s

Page 8: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito Este sistema é conhecido como M/M/1, ou na notação

expandida M/M/1////FCFS.

S1

Fila (W) Servidor (S)

......

K+10 1 K

10 K-1 K

K+1K21

K-1......

K-2

K-1

K+1

K+2

......

Page 9: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito No sistema M/M/1, todas as transições de nascimento tem

valor igual a , e como existe somente um servidor, todas as transições de morte são iguais a . Ou seja:

K+10 1 K

K-1......

......

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

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

Page 10: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito As equações de equilíbrio, neste caso, são:

01 .PP

0

2

12 PPP

0

3

23 PPP

0PPK

K

Resolvendo, tem-se:

0

10

11

1

0K .

1K ..

KK

KKK

P

PP

PPP

Page 11: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito Podemos encontrar P0 fazendo-se:

10P

11

0

KKPP 1. 0

10

PPK

K

111

0

K

K

P

K

K

P

1

0

1

1

Sabendo-se que:

1

1

0

K

KTem-se:

Page 12: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito As equações anteriores podem ser reescritas em função

da variável , que é conhecida como utilização:

Assim, a utilização do sistema é igual a probabilidade de que o sistema não esteja vazio.

Observando a expressão , vemos que não pode ser maior que , senão a utilização do sistema seria maior que 1.

Uni

dade

3

Intr

oduç

ão à

Teo

ria d

e Fi

las

0PP KK

10P

01 P 1KKP

/

Page 13: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito Número Médio de Elementos no Sistema

Vamos agora calcular, o número médio de elementos no sistema, .

Pela definição de média para um V.A. discreta temos:

qE

0

.K

KPKqE

0

)1(.K

KKqE

Page 14: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito Número Médio de Elementos no Sistema

Sabendo-se que:

Tem-se:

02)1(

).1(.)1(K

KKqE

20 1

K

KK

1

qE

Page 15: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito Número Médio de Elementos no Sistema

()

1

qE

Page 16: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito Tempo Médio de Permanência no Sistema

Pode ser obtido utilizando-se o Teorema de Little:

qE

tE q

1

1

1

1

)1(qtE

1

qtE

Page 17: Aula Simulação por Eventos Discretos

Sistema de Fila com Servidor Único e Buffer Infinito Tempo Médio de Permanência no Sistema

()

1

qtE

Page 18: Aula Simulação por Eventos Discretos

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.

2Armazenamento dos eventos na fila com prioridades.

3 Retirada do evento de maior prioridade.

4 Interpretação e execução do evento retirado da fila.

Nota: Os valores entre parênteses indicam tempo de execução em segundos.

Page 19: Aula Simulação por Eventos Discretos

Arquitetura de um Simulador a Eventos Discretos Os blocos agendam execuções de processos, que são

armazenadas em uma fila com prioridades na forma de eventos.

Cada evento possui um tempo de execução.

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

Page 20: Aula Simulação por Eventos Discretos

Arquitetura de um Simulador a Eventos Discretos Vários eventos podem ser agendados para o mesmo

tempo de execução.

Neste caso, o núcleo de simulação 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 simulação é avançado para o tempo de execução deste evento.

Page 21: Aula Simulação por Eventos Discretos

Arquitetura de um Simulador a Eventos Discretos Observe que se o tempo de execução for igual ao tempo

global de simulação, não há avanço de relógio.

Assim, tipicamente, apenas alguns blocos são chamados a cada avanço no tempo global de simulação.

Quando um bloco é acionado, procedimentos específicos localizados em funções chamadas processos são executados.

Page 22: Aula Simulação por Eventos Discretos

Arquitetura de um Simulador a Eventos Discretos Por exemplo, um bloco que modela um equipamento

terminal pode executar um processo que representa a transmissão de um pacote através de um enlace até o próximo 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 término da execução desse processo, o fluxo da simulação é retornado para o núcleo, que retira e interpreta outro evento da fila.

Page 23: Aula Simulação por Eventos Discretos

Arquitetura de um Simulador a Eventos Discretos A simulação prossegue até que não hajam mais eventos

para serem executados, ou até que o tempo final de simulação seja alcançado.

Observe que não é interessante o agendamento de eventos para o passado, pois eles geram inconsistências na simulação.

Sempre é necessário o agendamento de eventos iniciais, que disparam a execução dos demais processos.

Page 24: Aula Simulação por Eventos Discretos

Arquitetura de um Simulador a Eventos Discretos Tipicamente, os blocos contém os modelos da tecnologia

a ser simulada.

Assim, as redes e sistemas de comunicações são modelados a partir da interconexão de blocos, que representam subsistemas, protocolos, algoritmos, etc.

Geralmente, os blocos disponíveis fazem parte de uma biblioteca de modelos, que é fornecida junto com as ferramentas de simulação.

Page 25: Aula Simulação por Eventos Discretos

Arquitetura de um Simulador a Eventos Discretos A utilização de bibliotecas de modelos permite a fácil

substituição dos blocos durante a fase de configuração do sistema ou rede a ser simulada.

A biblioteca de modelos pode ser implementada de duas formas: Junto do Núcleo 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 núcleo do simulador.