Discrete Time Event Simulation
Nesta etapa, acrescentaremos ao simulador do roteador, a possibilidade de que os usuários realizem chamadas em tempo real. Além da simulação da navegação web realizada anteriormente, uniremos a simulação das chamadas web, o que implica que o roteador atenderá a dois tipos de requisição: pacotes web e pacotes de chamadas. A simulação de chamadas ocorre de maneira similar com a simulação anterior, pois envolve a chegada de pacotes que seguem uma distribuição exponencial. Entretanto, para esse caso, as chamadas em tempo possuem um comportamento distinto, uma vez que podem ocorrer de forma simultânea.
Neste novo cenário, os pacotes de navegação web seguem o mesmo comportamento anterior. No entanto, com a adição deste novo evento, é necessário lidar com pacotes de chamadas em tempo real, que possuem características diferentes e principalmente, podem ocorrer de forma simultânea. Para realizarmos as simulações, é necessário controlar algumas variáveis. Com a adição deste evento, temos três variáveis aleatórias adicionais:
Para este cenário, assumimos que:
Foi estabelecido que as chamadas utilizam o CODEC G.711, cujas características são:
Com o cenário definido, podemos prosseguir com os cálculos.
Restrição imposta:
A ocupação do link deve obedecer os seguintes cenários:
Assim, devemos calcular o tamanho do link (\(R\)) previamente para que ao final da execução esses cenários sejam satisfeitos.
Utilizaremos a fórmula derivada no artigo anterior para calcular a capacidade de atendimento do link em bytes/s, garantindo que as utilizações desejadas sejam alcançadas:
$$R = \frac{L \cdot \lambda}{\rho}$$
A taxa de chegada de pacotes no sistema será a soma da taxa de chegada de pacotes de navegação web e da taxa de chegada de pacotes de chamadas em tempo real. Porém, conforme apontado anteriormente, múltiplas chamadas podem ocorrer simultaneamente. Assim, a taxa de chegada de pacotes de chamadas em tempo real deve ser multiplicada pelo número de chamadas simultâneas no sistema \((N)\).
$$\lambda = \lambda_{web} + (\lambda_{call} * N)$$
Como possuímos dois tipos de pacotes sendo atendidos neste sistema, o tamanho médio do pacote, do sistema como todo, deve ser calculado com base na probabilidade de chegada de cada um dos dois tipos:
$$L = L_{web} * P_{web} +L_{call} * P_{call}$$
O tamanho médio dos pacotes de navegação web pode ser calculado com base nas proporções fornecidas: $$L_{web} = (0.5 \times 550) + (0.4 \times 40) + (0.1 \times 1500)$$ $$L_{web} = 441 \ \text{bytes}$$
Já o tamanho médio dos pacotes de chamada em tempo real pode ser calculado com base em suas particularidades: Temos que a taxa de geração é de 64 Kbps: $$ 64 \, \text{Kbps} = \frac{64 \times 1000 }{8} = 8000 \, \text{bytes/s} $$ Como cada pacote é gerado a uma taxa de 20 ms: $$ 8000 \times 0,02 = 160 \, \text{bytes} $$ $$L_{call} = 160 \ \text{bytes}$$
O próximo passo é calcular a probabilidade de chegada de cada pacote, para isso precisamos ter conhecimento da taxa de chagada de pacotes no sistema \((\lambda)\). $$P_{web} = \frac{\lambda_{web}}{\lambda} = \frac{100}{200} = 0.5$$ $$P_{call} = \frac{\lambda_{call}}{\lambda} = \frac{100}{200} = 0.5$$
Com isso. podemos finalizar o cálculo do tamanho médio do pacote no sistema: $$L = L_{web} * P_{web} +L_{call} * P_{call}$$ Substituindo os valores: $$L = 441 * 0.5 + 160 * 0.5$$ $$L = 300.5 \, \text{bytes}$$
Com a fórmula obtida, podemos calcular a capacidade do link previamente para diferentes ocupações.
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:
Calcule \(\rho\) através da equação obtida:
$$\rho = \frac{\lambda \cdot L}{R}$$
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}$$
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}$$
Lei de Little: $$E[N] = \lambda \cdot E[W]$$
$$\text{Erro de Little} = \left| E[N] - \lambda \cdot E[W] \right|$$
ROSS, S. M., Simulation. 4ª ed. San Diego: Academic Press, 2006.
ALLEN, Arnold O. Probability, statistics, and queueing theory: with computer science applications. 2. ed. San Diego: Academic Press, 1990.