Simulação via Eventos Discretos

Discrete Time Event Simulation

Simulação de Rede Pt. 1 (Navegação na Web)

Para simular um roteador recebendo pacotes de navegação web, a simulação envolve a chegada de pacotes seguindo uma distribuição exponencial, semelhante à fila M/M/1. No entanto, o tempo médio de atendimento é calculado com base nos tamanhos dos pacotes que chegam (\(L\)) em bytes e na capacidade de atendimento do link (\(R\)) em bytes/s, seguindo a fórmula: $$t_{atendimento} =\frac{L}{R}$$.


Cenário

No cenário simulado, utilizou-se a taxa de chegada dos pacotes (\(\lambda\)) como 100 pacotes/segundo, e a geração dos pacotes teve o objetivo de simular um comportamento de navegação na web, seguindo as seguintes proporções:

Foi utilizado uma função aleatória ponderada para a geração dos pacotes conforme as proporções descritas:

Tamanho Médio dos Pacotes (\(L\))

O tamanho médio dos pacotes pode ser calculado com base nas proporções fornecidas: $$L = (0.5 \times 550) + (0.4 \times 40) + (0.1 \times 1500)$$ $$L = 441 \ \text{bytes}$$

Ocupação

Restrição imposta:
A ocupação do link deve obedecer os seguintes cenários:

  • \(\rho_1\) = 60%
  • \(\rho_2\) = 80%
  • \(\rho_3\) = 95%
  • \(\rho_4\) = 99%

Assim, devemos calcular o tamanho do link (\(R\)) previamente para que ao final da execução esses cenários sejam satisfeitos.

Tamanho do Link (\(R\))

A fórmula da utilização é dada por: $$\rho = \frac{\lambda}{\mu}$$ $$\text{Tempo médio de atendimento} = \frac{1}{\mu} = \frac{L}{R}$$ Manipulando a fórmula da utilização: $$\mu = \frac{\lambda}{\rho}$$ $$\frac{1}{\mu} = \frac{\rho}{\lambda}$$ Substituindo \(1/\mu\) por \(L/R\): $$\frac{\rho}{\lambda}= \frac{L}{R}$$ Portanto, o tamanho do link em bytes/segundo pode ser calculado como:

$$R = \frac{L \cdot \lambda}{\rho}$$

Cálculo da Capacidade do Link para as Diversas Ocupações

Com a fórmula obtida, podemos calcular a capacidade do link previamente para diferentes ocupações.

Temos que:
  • \(\lambda = 100 \ \text{pcts/s}\)
  • \(L_{médio} = 441\ \text{bytes}\)
  • \(\rho = \{0.6, 0.8, 0.95, 0.99\}\)
  1. 60% de ocupação: $$R_{60\%} = \frac{441 \cdot 100}{0.6} = 73500 \ \text{bytes/s}$$
  2. 80% de ocupação: $$R_{80\%} = \frac{441 \cdot 100}{0.8} = 55125 \ \text{bytes/s}$$
  3. 95% de ocupação: $$R_{95\%} = \frac{441 \cdot 100}{0.95} \approx 46421 \ \text{bytes/s}$$
  4. 99% de ocupação: $$R_{99\%} = \frac{441 \cdot 100}{0.99} \approx 44545 \ \text{bytes/s}$$

Resultado das Simulações


Medidas de Desempenho

A seguir foram calculadas medidas de desempenho com base em cada simulação realizada, cada gráfico conta com uma legenda onde estão classificadas as simulações e seus respectivos parâmetros de execução:

Em algumas medidas, existem campos que podem ser utilzados para validar o desempenho do sistema. *Clique nas legendas para ocultar os gráficos para uma melhor visualização

1. Utilização/Ocupação (\(\rho\))

Validação da utilização

A utilização é dada por: $$\rho = \frac{\lambda}{\mu} $$ Sabendo que o tempo médio de serviço(atraso de transmissão do roteador) é definido por \(L/R\), podemos substituir \(1/\mu\): $$\frac{1}{\mu}= \frac{L}{R} $$ Desse modo, a fórmula da utilização pode ser representada da seguinte maneira:

$$\rho = \frac{\lambda \cdot L}{R}$$

Calcule \(\rho\) através da equação obtida:

$$\rho = \frac{\lambda \cdot L}{R}$$


3. Média de elementos no sistema (\(E[N]\)) & Tempo médio de espera (\(E[W]\))

Validação \(E[N]\) e \(E[W]\)

Como discutido no artigo anterior, sabemos que \(E[N]\) e \(E[W]\) pode ser representada por: $$E[N] = \frac{\rho}{1-\rho} \ \ \ \ \ E[W] = \frac{1}{\mu - \lambda}$$

Vamos calcular \(E[W]\) tendo como base a taxa de chegada dos pacotes \((\lambda)\), o tamanho médio do pacote \((L)\) e o tamanho do link\((R)\).

Substituindo \(\mu\) por \(R/L\) em \(E[W]\): $$E[W] = \frac{1}{\frac{R}{L} - \lambda}$$ $$E[W] = \frac{1}{\frac{R - L \cdot \lambda}{L}}$$ Portanto, o tempo médio de espera pode ser representado por:

$$E[W] = \frac{L}{R - L \cdot \lambda}$$

Calcule \(E[N]\) e \(E[W]\) através das fórmulas:

$$E[N] = \frac{\rho}{1-\rho}$$

$$E[W] = \frac{L}{R - L \cdot \lambda}$$


4. Taxa de chegada de elementos no sistema \(\left(\lambda\right)\) & Taxa de atendimento \(\left(\mu\right)\)

A taxa de chegada de elementos no sistema \((\lambda)\) é passada como parâmetro inicial e representa o inverso do tempo médio entre as chegadas dos pacotes. Já a taxa de atendimento (\(\mu\)) pode ser calculada como o inverso do tempo médio da atendimento ( ou atraso de transmissão - \(L/R)\).

$$\lambda = \frac{1}{\text{Tempo médio entre as chegadas}}$$

$$\mu = \frac{R}{L}$$

Calcule \(\mu\) através da equação obtida:

$$\mu = \frac{R}{L}$$


5. Erro de Little

Lei de Little: $$E[N] = \lambda \cdot E[W]$$

$$\text{Erro de Little} = \left| E[N] - \lambda \cdot E[W] \right|$$


Referências

  1. ROSS, S. M., Simulation. 4ª ed. San Diego: Academic Press, 2006.

  2. ALLEN, Arnold O. Probability, statistics, and queueing theory: with computer science applications. 2. ed. San Diego: Academic Press, 1990.