III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
Proposta de um Simulador para o Ensino de Escalonamento FIFO e DRR
1,2
Rodrigo Ap. Morbach1,2, Tatiana Annoni Pazeto2
Universidade Federal de Mato Grosso – Campus Universitário de Rondonópolis
[email protected], [email protected]
Resumo
O escalonamento de pacotes em redes de computadores é uma tarefa de suma importância
para o bom funcionamento das redes. Porém, mesmo sendo tão importante, não é conhecido
software que seja de uso específico para o ensino de escalonamento. Assim, com base no
simulador de escalonamento FIFO e DRR desenvolvido por Renato Silva (2009), Santana
(2010) construiu o REDESIM, um simulador que conta com interface gráfica baseada no estilo
de aprendizagem VAK. O REDESIM apresenta também uma animação com os resultados da
simulação e permite análises estatísticas dos simuladores através de planilhas de texto.
Porém, o REDESIM não chegou a ser desenvolvido por completo, contemplando apenas a
análise de fontes geradoras de tráfego. Além disso, do modo como foi criado, não poderia ser
facilmente disponibilizado. Deste modo, com a interface do simulador validada, este trabalho
tem por objetivo concluir a criação do REDESIM, possibilitando a utilização na WEB, uma vez
que está sendo implementado em linguagem HTML e Javascript. Com isso foram
aproveitados os códigos desenvolvidos em C++ Builder, melhorando o layout e contribuindo
com o aprendizado de um número maior de estudantes.
Palavras chave: Redes, Simulação, Ferramentas Educacionais
Abstract
The packets scheduling in computer networks is a task of utmost importance to the smooth
operation of networks. But even being as important, there is no known software that is of
particular use for teaching the scheduling. Thus, based on FIFO and DRR scheduling
simulators developed by Renato Silva (2009), Santana (2010) built the REDESIM, a simulator
that has graphic interface based in the learning VAK style. The REDESIM also features an
animation of the results and statistics analysis of the simulators through spreadsheets of text.
However, the REDESIM was never fully developed, comprising only the analysis of traffic
sources. Moreover, as it was created, could not be readily available. Thus, with the interface
the simulator validated, this work aids to complete the creation of REDESIM, allowing the use
on by the web, because it is being implemented in HTML and JavaScript. This was taken
advantage of the developed code in C++ Builder, improving layout and contributing to the
learning of a larger number of students.
Keywords: Networks, Simulation, Educational tools
1. Introdução
Segundo Cholvi e Echague (2007), um número crescente de aplicações de rede tem
restrições em termos de atraso na transmissão dos dados, taxa de perda de pacotes, largura
de banda, disponibilidade, entre outros. Para lidar com isto, uma alternativa é o uso de
escalonadores de tráfego. Stialidis e Varma (1998) corroboram a afirmação mencionando que
para oferecer Qualidade de Serviço (QoS) em uma rede de pacotes é necessário o uso de
escalonamento de tráfego. A função do escalonamento é selecionar, para cada link de saída,
o pacote a ser transmitido dentre os que aguardam na fila. Diante disso, a maior preocupação
é em relação à qualidade dos serviços oferecidos, pois um congestionamento pode ocasionar
atraso ou perda de pacotes, principalmente quando não existe uma boa estratégia de
gerenciamento para atender a todas as aplicações.
1
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
Com base nos simuladores de escalonamento de tráfego FIFO e DRR para avaliação de
desempenho das fontes On/Off, criados por Renato Silva (2009), Santana (2010) propôs uma
ferramenta para o ensino de escalonamento FIFO, com implementação de uma interface que
contribuísse para esse processo, e representação do mesmo através de uma animação. A
ideia surgiu considerando a complexidade do conteúdo e tendo em vista que a maioria das
aulas a respeito desse assunto ocorre de maneira expositiva, sendo que o aluno não
consegue verificar na prática como funciona o que está sendo discutido em sala de aula,
dificultando a aprendizagem. Contudo, em função da amplitude do trabalho e do tempo
disponível para a sua realização, apenas as fontes de tráfego foram implementadas, bem
como um comparativo entre elas.
Neste sentido, o presente trabalho visa dar continuidade ao trabalho iniciado por Santana
(2010), apresentando o desenvolvimento da ferramenta REDESIM, que tem como propósito
auxiliar no processo de ensino/aprendizagem sobre escalonamento de tráfego, com ênfase
nos algoritmos FIFO e DRR. Para tanto, este artigo se baseia nos simuladores FIFO e DRR
desenvolvidos por Renato Silva (2009), os quais não tinham a pretensão de atender ao
ensino de escalonamento. Assim, para fazer uso dos simuladores era necessário um
conhecimento avançado sobre o assunto.
O trabalho encontra-se organizado em cinco seções. A seção 2 versa sobre escalonadores
de tráfego e fontes geradoras. A interface de Renato Silva (2009) e a de Santana (2010) são
apresentadas na seção 3. A seção 4 justifica a escolha para as novas ferramentas usadas
para o desenvolvimento do REDESIM, bem como apresenta a interface proposta para
escalonamento FIFO e DRR visando à aprendizagem. Por fim, na seção 5 são mencionadas
as principais conclusões do trabalho seguido das referências.
2. Escalonadores de Tráfego e Fontes Geradoras
O escalonamento de pacotes é um processo realizado por um algoritmo implementado em
dispositivos de rede. Seu intuito, em alguns escalonadores, é criar uma fila de prioridades
para o atendimento de pacotes de tal modo que evite congestionamentos e
consequentemente atrasos, além da perda de pacotes. A perda de pacotes acarreta na
necessidade de reenvio das informações, ocasionando prejuízos ao sistema. Deste modo, o
objetivo do escalonamento é maximizar, a longo prazo, a taxa de rendimento médio da rede,
que corresponde ao número de partidas por cliente por unidade de tempo (CHEVALIER e
WEIN, 1990, p. 05).
Nas próximas seções são apresentados os algoritmos de escalonamento FIFO e DRR,
objetos de estudo desse trabalho, bem como as fontes geradoras de tráfego.
2.1. First In First Out (FIFO)
Segundo Wrege Liebeherr (1997), um escalonador de pacotes para atender uma qualidade
de serviço (QoS) de rede deve ser sofisticado o suficiente para suportar rigorosas restrições
de QoS em situações de cargas elevadas. Contudo, deve ser também de aplicação simples,
para que os pacotes possam ser tratados sem perdas significativas. O FIFO não fornece
qualquer tipo de priorização entre os pacotes, o que é necessário para garantir QoS
(STILIADIS e VARMA, 1998). Contudo, sua simplicidade computacional faz com que ele seja
um dos mais implementados nos equipamentos de interconexão (DUAN, ZHENHAI e ZHI-LI,
2005).
O escalonador FIFO consiste em permitir a saída na mesma ordem de entrada, ou seja, o
primeiro a entrar é o primeiro a sair (MATA, 2002). Um exemplo de enfileiramento FIFO é
apresentado na Figura 1.
2
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
Figura 1: Enfileiramento FIFO. (Adaptada de Semeria, 2001)
A Figura 1 mostra o funcionamento genérico de um escalonador FIFO. São oito filas de onde
chegam os pacotes para serem processados, e estes estão enumerados de acordo com a
sua ordem de chegada. No exemplo da Figura 1, o pacote que está na fila oito (8) foi o
primeiro a chegar, logo ele será o primeiro a ser processado e colocado na fila FIFO de saída.
Após o seu processamento, o pacote presente na fila dois (2) será inserido na fila, e assim
por diante, até chegar ao pacote da fila quatro (4), o número seis (6), que foi o último a
chegar.
Pelo fato de não priorizar os pacotes que devem ser processados, o algoritmo de
escalonamento FIFO não é recomendado para tarefas que exijam QoS.
2.2. Déficit Round Robin (DRR)
O DRR é um algoritmo de escalonamento que permite a priorização do tráfego, sendo que
esta é feita utilizando os seguintes parâmetros para tratar as filas de pacotes: o peso, que é
usado para determinar o tamanho da banda disponível para a fila; o contador déficit é o que
define quantos bytes podem ser transmitidos por ciclo; o quantum, expresso em bytes, que é
proporcional ao peso (SEMERIA, 2001, p.18). O quantum é a principal diferença entre os
escalonamentos FIFO e DRR, pois é ele que determina a prioridade dos pacotes. Segundo
Shreedhar e Varghese (1996) para cada fila é atribuído um quantum. Assim quando o pacote
não pode ser enviado na rodada anterior porque o tamanho do pacote é maior que o quantum
disponível no ciclo, o quantum restante é atribuído para a próxima rodada.
Figura 2: Exemplo do Déficit Round Robin (Rezende, 2000)
3
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
A Figura 2 possui três pacotes de tamanhos 200, 600 e 20, respectivamente, em uma única
fila de espera. O quantum da fila, apresentado no início da figura tem peso 500 bytes e o
déficit inicial é zero, o que mostra que o escalonador irá enviar o primeiro pacote, o de
tamanho 200 bytes. Porém, quando for enviar o segundo pacote, o de 600 bytes, não terá
quantum suficiente na fila. Isso ocasionará um déficit de 300 bytes, o qual será somado ao
quantum da próxima rodada. Assim, na segunda rodada o somatório do déficit com o
quantum possibilitará o envio do pacote de tamanho 600 bytes, assim como os demais
pacotes de 20 e 100 bytes (REZENDE, 2000).
2.3. Fontes Geradoras de Tráfego
As fontes de tráfego são um dos fatores que influenciam na avaliação de desempenho de
uma rede, pois, de acordo com Veríssimo (2005, p.35), para “avaliar a competência de um
sistema de redes é necessário analisar o comportamento de seus usuários e de suas
aplicações”.
A caracterização da fonte é necessária para a precisa definição do comportamento de cada
tráfego específico, que também oferece gerenciamento de rede com a capacidade de
manipular vários serviços de forma flexível em termos de aceitação de conexão, negociação
da Qualidade de Serviço, controle de congestionamento, controle de tráfego e alocação de
recursos (STAMOULIS, ANAGNOSTOU e GEORGANTAS, 1993).
As fontes serão usadas como parâmetro de entrada para testes do funcionamento dos
simuladores de escalonamento FIFO e DRR, gerando a quantidade de pacotes por usuários
ou dispositivos em uma rede, previamente configurados.
Existem vários modelos de fontes de tráfego propostos na literatura, como por exemplo, o
modelo de Poisson, modelo On/Off de Pareto, dentre outros. Porém, para esse trabalho é
considerado o modelo de fonte On/Off Exponencial, visto que esse foi o modelo utilizado no
desenvolvimento do trabalho de Renato Silva (2009).
2.3.1. Fontes de Tráfego On/Off Exponencial
De acordo com Stamoulis, Anagnostou e Georgantas (1993), esse modelo é uma sucessão
de períodos de atividade, onde são gerados pacotes, e períodos de silêncio, onde não há
geração. Veríssimo (2005) complementa mencionando que os períodos de tempo nos
estados On e Off obedecem distribuição exponencial, em tempo contínuo, e geométrica, em
tempo discreto. O modelo On/Off exponencial é o mais popular por ser simples e genérico
para gerar tanto voz, quanto vídeo e dados (VERÍSSIMO, 2005). Tendo em vista essa
afirmação, Renato Silva (2009) utilizou esse modelo para implementar as fontes utilizadas em
seu trabalho.
Assim, Renato Silva (2009) desenvolveu três tipos de fontes de tráfego: Fixa, Variável 1.0 e
Variável 2.0. A fonte fixa possui como parâmetros de entrada o tamanho do pacote, que é
fixo, a taxa de transmissão, o intervalo de Off e o número de pacotes que serão gerados.
Além disso, nesta fonte é gerado um pacote a cada intervalo de On, sendo o seu tamanho
obtido dividindo-se o tamanho do pacote pela taxa de transmissão.
A fonte On/Off variável 1.0 possui alguns parâmetros de entrada em comum com a fonte fixa.
No total, os parâmetros usados são: número de pacotes a serem gerados; tamanho do
pacote, que neste caso tem seu tamanho gerado com distribuição exponencial; taxa de
transmissão; intervalo de Off; quantidade de pacotes que devem ser gerados por intervalo; e
a opção de gerar intervalos com quantidade de pacotes fixa ou média.
A fonte On/Off variável 2.0 possui todos os parâmetros de entrada da fonte On/Off variável
1.0. Contudo, ela difere do modelo anterior que gerava uma quantidade de pacotes e a partir
disso calculava o tempo de On necessário para transmitir esses pacotes gerados. Assim,
4
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
nesta fonte é gerado o intervalo de On seguido da geração de um pacote. Então é verificada
a possibilidade de enviá-lo no intervalo ativo corrente. Caso seja possível, o pacote é enviado.
Se não, o pacote é armazenado para ser enviado no próximo intervalo.
3. Versões Anteriores dos Simuladores
Como já havia sido mencionado anteriormente, este trabalho tem como base os simuladores
de escalonamento FIFO e DRR proposto por Renato Silva (2009), o qual também foi objeto
de estudo de Santana (2010). Diante disso, a primeira etapa elaborada foi o levantamento de
requisito baseando-se primeiramente no trabalho criado por Renato Silva (2009) e
posteriormente no trabalho de Santana (2010).
As telas principais dos simuladores de escalonamento DRR e FIFO criados por Renato Silva
(2009) são apresentadas na Figura 3.
Figura 3: Simuladores de escalonamento de tráfego FIFO e DRR de Renato Silva (2009)
A Figura 3 a representa o escalonador DRR e a 3b o FIFO. Como pode ser visto na Figura 3,
os simuladores desenvolvidos possuem uma série de parâmetros que precisam ser
conhecidos e configurados antes de sua utilização, o que torna seu uso bastante restrito. À
medida que estes parâmetros vão sendo preenchidos, novos campos de entrada vão
surgindo, conforme a sequência mostrada na Figura 3, através da notação 1º, 2º e 3º.
De acordo com a Figura 3, a interface dos programas é muito parecida, sendo a principal
diferença o funcionamento do algoritmo implementado, que no caso do DRR requer alguns
parâmetros adicionais, os quais constam na terceira parte de configuração do simulador.
Analisando a Figuras 3, na primeira caixa de texto o usuário deve escolher o local onde o
arquivo de texto (.txt) será salvo, onde irá constar as estatísticas das fontes e do desempenho
do escalonador em execução. Mais abaixo deve ser informada a quantidade de usuários de
Voz, Vídeo e Dados que irão gerar tráfego no sistema.
Após esta informação, deve ser pressionado o botão inserir parâmetros, o que resultará na
abertura da segunda parte do programa. No entanto, caso o usuário desista, ele deve clicar
no botão cancelar e cadastrar novamente o número de usuários de cada tráfego. Já o botão
5
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
abrir arquivo só poderá ser pressionado após executar a simulação. É importante mencionar
que esta primeira etapa é igual para os dois escalonadores, ou seja, o FIFO e o DRR.
Posteriormente, na segunda parte de configuração da aplicação, o usuário deve definir os
parâmetros das fontes utilizados para cada usuário. A primeira configuração refere-se ao
primeiro usuário do tipo de tráfego escolhido na parte superior do programa, ou seja, Voz,
Vídeo ou Dados. Caso a quantidade de usuários tenha permanecido, um (1), um (1) e um (1),
respectivamente para os tráfegos de Voz, Vídeo e Dados essa será a ordem em que os
parâmetros serão configurados. Ao selecionar o tipo de fonte que será utilizada, sendo as
opções Fixa, Variável 1.0 e Variável 2.0, os parâmetros como tamanho do pacote, em bits,
taxa de transmissão, definida em bits por segundo (bps), intervalo de Off, em segundos, e
quantidade de pacotes recebem valores default, ficando a critério do usuário alterá-los ou
não. Após preencher os parâmetros referentes ao primeiro tipo de tráfego, o usuário deve
pressionar o botão Gravar parâmetros do 1º tráfego, que pode ser de Voz, Vídeo ou Dados.
Vale salientar que essa legenda muda de acordo com o tipo de tráfego parametrizado. Caso o
usuário escolha a fonte Variável 1.0 ele deve configurar também a quantidade média de
pacotes por intervalo e informar com qual quantidade será gerado o tráfego, Fixa ou Média.
Se for escolhida a segunda opção a quantidade de pacotes por intervalo será determinada de
acordo com uma distribuição exponencial negativa. Essa opção surge assim que o tipo de
fonte é selecionado. Para a fonte Variável 2.0 deve ser informada apenas a quantidade de
pacotes gerados por intervalo, sendo que os demais parâmetros a serem configurados são
iguais a fonte Variável 1.0.
Preenchidas as informações da segunda parte do escalonador DRR surgirá uma nova tela
com outros parâmetros para serem configurados. Esses, assim como os outros presentes nas
duas primeiras telas, surgem com alguns valores pré-definidos, ficando a critério do usuário,
alterá-los ou não. Os parâmetros existentes nessa tela são: máximo de pacotes na fila de voz,
vídeo e dados; o quantum de cada um dos tráfegos de voz, vídeo e dados. Vale mencionar
que o quantum é uma das principais diferenças entre os escalonadores FIFO e DRR. Além
disso, há a necessidade de configurar a capacidade do canal e descarte estatístico, sendo
estes parâmetros presentes em ambos os escalonadores.
Quando o usuário pressionar o botão Iniciar Fonte ON/OFF, o simulador chama a função que
executa a fonte On/Off Fixa, a fonte On/Off Variável 1.0 e/ou a fonte On/Off Variavel 2.0 para
cada tipo de tráfego, de acordo com o que foi selecionado pelo usuário. O usuário pode abrir
o arquivo com as informações das fontes executadas e do desempenho do escalonador
clicando sobre o botão Abrir Arquivo. Neste arquivo constam informações referentes ao
escalonador utilizado, bem como dados sobre os tráfegos gerados. Na Figura 4 é
apresentado o arquivo gerado após a simulação pelo escalonador DRR.
6
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
Figura 4: Estatísticas do escalonador DRR
A primeira coluna na parte superior da Figura 4 apresenta o índice do pacote, acompanhado
respectivamente pelos valores do tamanho do pacote, tempo de chegada, tempo de fila,
tempo de serviço, tempo de sistema, tempo de saída, e finalmente pelo seu status, ou seja,
se o pacote foi tratado ou se foi descartado. Esse último parâmetro deve conter o valor um (1)
caso o pacote tenha sido transmitido, ou o valor quatro (4) caso tenha sido descartado. Tendo
em vista que o arquivo é relativamente grande, apenas os três últimos pacotes gerados
constam no arquivo mostrado na Figura 4.
Logo em seguida, o arquivo apresenta quais foram as fontes geradoras de tráfego utilizadas,
mencionando se foi utilizada a fonte Fixa, Variável 1.0 ou Variável 2.0, bem como os
parâmetros usados para a configuração dos pacotes que foram gerados.
Após menciona-se o número de pacotes gerados para cada tipo de tráfego, sendo este no
valor de 1000 pacotes para cada tipo de tráfego usando a fonte On/Off Fixa. Também consta,
abaixo, o tamanho da fila para cada um dos tráfegos, sendo que na simulação apresentada
na Figura 4 foram configuradas filas de 17 posições para cada um dos tráfegos. A capacidade
do canal usada foi de 1MB.
Na sequencia é apresentado o quantum indicado pelo usuário para cada tipo de tráfego, os
valores da média do tempo de fila, do tempo de serviço, do tempo de sistema, da quantidade
de pacotes transmitidos e da quantidade de pacotes descartados, em relação à simulação em
geral e também específicos para cada tipo de tráfego. Estas médias são contabilizadas
desconsiderando a quantidade inicial de pacotes indicada pelo usuário na tela inicial do
simulador, mais precisamente na caixa de texto Descarte estatístico.
As estatísticas presentes no arquivo estatísticas_DRR.txt geradas pelo escalonador DRR, são
basicamente as mesmas presentes no arquivo gerado pelo escalonador FIFO. Os dois
somente diferem, como dito anteriormente, no parâmetro quantum, existente somente no
escalonador DRR. As médias apresentadas na Figura 4 também existem no escalonador
FIFO. Elas apresentam o tempo de fila, que corresponde ao tempo que o pacote levou para
7
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
ser processado, o tempo de serviço, que equivale ao tempo que demorou para o pacote ser
processado, e o tempo de sistema, que é o somatório do tempo de serviço com o tempo de
fila. É importante mencionar que o tempo de serviço é obtido dividindo o tamanho do pacote
pela capacidade do enlace de saída. Essas estatísticas são de extrema importância para se
verificar qual tipo de escalonador é mais adequado para qual tipo de tráfego. Além dessas
informações, o protótipo também conta com estatísticas referentes aos pacotes descartados e
transmitidos de cada tipo de tráfego.
4. O simulador REDESIM
A primeira versão do REDESIM, desenvolvida por Santana (2010), foi implementada em
linguagem de programação C usando o Dev C, programa gratuito, diferentemente do
programa inicial que foi criado através do C++ Builder, software pago. Essa versão contava
com uma interface gráfica criada com a utilização do programa Alegro, apresentando também
uma simulação com os resultados gerados referentes as fontes de tráfego. O principal
diferencial do REDESIM, é que este possuia uma interface gráfica, onde os tipos de tráfego
poderiam ser facilmente visualizados através das imagens. Além disso, o REDESIM contava
também com legendas, com informações sobre os parâmetros existentes na tela do
simulador. Porém, o REDESIM ainda não contemplava todas as funções existentes no
trabalho desenvolvido por Renato Silva (2009), ficando restrito para análise das fontes de
tráfego. Portanto, os escalonadores não haviam sido incorporados.
Para concluir o REDESIM teve-se a ideia de implementá-lo em HTML e JavaScript e, como a
interface do simulador desenvolvido por Santana (2010) já estava validada, a nova versão do
REDESIM conta basicamente com o mesmo layout, com algumas pequenas alterações. A
principal diferença encontra-se nas ferramentas utilizadas para o seu desenvolvimento. Da
maneira como foi criado o software de Santana (2010), o mesmo não poderia ser
disponibilizado facilmente. Pensou-se então em um meio para a disponibilização do software
em larga escala, e nada melhor do que a Internet para isso. Assim, o REDESIM foi todo
implementado em linguagem HyperText Markup Language (HTML) e JavaScript para
utilização na Web. A implementação em HTML com JavaScript deixou o simulador muito mais
interativo. Outra grande vantagem de se elaborar o projeto com essas ferramentas é que,
escalonadores que forem desenvolvidos em linguagem de programação C, poderão ser
facilmente incorporados ao REDESIM, visto que o mesmo servirá como entrada para os
dados, com textos e imagens para melhor explicação do processo de escalonamento,
enquanto o escalonador em si fará o tratamento desses dados.
Assim, conforme supracitado, a nova versão do REDESIM utiliza o layout desenvolvido por
Santana (2010), e passa os parâmetros inseridos pelo usuário para que o software de Renato
Silva (2009) faça o processamento dos dados e retorne um arquivo com todas as estatísticas,
tanto referente as fontes de tráfego, quanto ao escalonador utilizado. A tela principal do
REDESIM é apresentada na Figura 5.
Figura 5: Tela inicial do REDESIM
8
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
Na tela inicial do REDESIM apresentada na Figura 5a, o usuário pode optar por utilizar o
simulador, caso já tenha conhecimento do software, ou pode optar pela opção de tutorial,
onde uma pequena explicação sobre as fontes e sobre o escalonador é apresentada. De
acordo com a movimentação do mouse sobre as imagens presentes na tela, a legenda na
parte inferior é alterada, apresentando conteúdos sobre o que cada figura representa.
Feita a escolha por Simulador, o usuário é direcionado para a tela de escolha dos tráfegos
que serão simulados, ou seja, Dados, Vídeo ou Voz, conforme apresentado na Figura 5b. À
medida que o usuário passa o mouse sobre as imagens, a legenda apresenta uma breve
descrição de como proceder para realizar determinada tarefa. O usuário deve marcar a
checkbox correspondente ao tipo de tráfego desejado, de acordo com a descrição na
legenda. Assim o usuário será direcionado para a tela de inserção da quantidade de usuários
que estarão transmitindo pacotes referentes a este tipo de tráfego. A tela de inserção
referente a quantidade de usuários de vídeo é apresentada na Figura 6.
Figura 6: Inserção de usuários
No exemplo da Figura 6, o usuário do simulador deve informar quantos usuários de vídeo
estarão transmitindo pacotes durante a simulação. Para cada tipo de tráfego selecionado na
Figura 5b, o usuário do simulador deve informar a quantidade de usuários que estarão
transmitindo dados durante a simulação. Sendo assim, se todos os tráfegos forem
selecionados na Figura 5b, a tela apresentada na Figura 6 aparecerá três vezes, sendo uma
para cada tipo de tráfego.
Informada a quantidade de usuários, o simulador direciona para a página de inserção dos
parâmetros referentes as fontes de tráfego, sendo as opções Fixa, Variável 1.0 e Variável 2.0,
conforme é apresentado na Figura 7a.
9
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
Figura 7: Parâmetros dos tráfegos e configurações finais
Na Figura 7a, abaixo da imagem que representa o tipo de tráfego de vídeo, o qual está sendo
configurado, é apresentado um índice referente ao usuário que está sendo configurado. Para
cada usuário deve ser escolhido um tipo de fonte de tráfego entre as opções Fixa, Variável
1.0 e Variável 2.0. Ao passar o mouse sobre as imagens dos botões que representam as
fontes, a legenda apresenta uma breve explicação sobre cada tipo de fonte geradora. Caso o
usuário opte pela fonte Fixa deverá informar os seguintes parâmetros: quantidade de pacotes,
taxa de transmissão, o intervalo de Off e o tamanho do pacote. Optando pela fonte Variável
2.0, além desses parâmetros deve-se informar também a quantidade de pacotes que devem
ser gerados no intervalo On. Para a fonte Variável 1.0, além dessa informação deve ser
preenchido se a quantidade de pacotes por intervalo On é Fixa ou Média.
Vale salientar que o usuário do simulador deve informar os parâmetros para todos os
usuários definidos na tela de quantidade de usuários, bem como para todos os tipos de
tráfego de Dados, Vídeo ou Voz. Pode também a qualquer momento cancelar a operação,
voltando assim para a tela inicial do simulador.
Terminada a inserção para todos os usuários informados, o simulador direciona para a tela
das configurações finais, apresentada na Figura 7b, onde se deve informar a capacidade do
canal, ou seja, o tamanho da banda disponível, o máximo de pacotes na fila, que equivale a
quantidade de pacotes que podem aguardar até que o pacote atual seja processado, e o
descarte estatístico. Concluída esta etapa, o simulador estará totalmente configurado e irá
processar os dados, gerando as estatísticas.
É importante frisar que a principal diferença entre o simulador FIFO e DRR, como
mencionado anteriormente, está justamente na inserção dos parâmetros finais, pois no DRR
deve ser informado o quantum para cada tipo de tráfego, além de existir uma fila para cada
um dos tráfegos. Vale ressaltar que o quantum é que permite a priorização dos pacotes.
Uma representação da tela de parâmetros finais do DRR é demonstrada na Figura 8.
10
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
Figura 8: Parâmetros Finais do Escalonador DRR
A tela de parâmetros finais do simulador DRR apresenta alguns valores pré-definidos pelo
simulador. O usuário pode optar por manter as configurações ou pode inserir novos valores
manualmente.
Feita a inserção de todos os parâmetros pertinentes ao simulador utilizado, as informações
são passadas via JavaScript para o software de Renato Silva (2009), o qual irá processar as
informações e gerar um arquivo em formato .txt com os resultados da simulação. Porém, para
melhor visualização do processo de escalonamento, é apresentada ao usuário uma animação
com as informações que ele inseriu durante a configuração do simulador. A Figura 9
representa a animação gerada pelo simulador FIFO.
Figura 9: Animação utilizando o escalonador FIFO
No canto esquerdo da Figura 9, os computadores representam os tipos de tráfego
selecionados pelos usuários durante a simulação. Os pacotes referentes a cada tipo de
tráfego são representados com cores diferentes para que fique mais fácil a identificação dos
mesmos. Os pacotes seguem na fila de acordo com o índice presente no cabeçalho. Esse
índice representa a ordem em que os pacotes foram gerados durante a simulação. O
11
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
tamanho do pacote também muda de acordo com o tamanho especificado na inserção dos
parâmetros.
Os relógios no canto superior direito da animação representam o tempo de sistema de cada
pacote por tipo de tráfego. Esse relógio muda de acordo com o pacote que está sendo
processado. Por fim, no canto inferior direito estão as informações gerais de tempo de
sistema de cada tráfego, ou seja, quanto tempo cada tipo de tráfego levou para ser
processado.
5. Conclusões
Através das pesquisas realizadas foi possível desenvolver uma ferramenta de auxílio ao
ensino de escalonamento, o REDESIM, baseado nos simuladores de escalonamento FIFO e
DRR desenvolvidos por Renato Silva (2009).
Desta forma, o REDESIM atende aos princípios de aprendizagem VAK, visto que o usuário
pode identificar os tipos de dados tratados através das imagens inseridas no programa, bem
como da animação. Atende também ao princípio sinestésico, uma vez que todos os
parâmetros são definidos pelo usuário, gerando impacto nos resultados, possibilitando
comparações e visualização da fonte que mais se adéqua a determinada situação.
Embora não estar contemplado no artigo, um resultado importante do REDESIM é a geração
de formas de análise dos resultados baseada em gráficos, os quais permitem visualizar o
impacto causado pelos parâmetros digitados pelo usuário.
Futuramente pretende-se acrescentar ao simulador REDESIM um tutorial com áudio e vídeo
para que se possa atender de maneira completa o princípio de aprendizagem VAK,
aprimorando ainda mais o ensino de escalonamento de redes. Também pretende-se
incorporar uma série de exercícios baseados nos dados gerados pelo simulador para
verificação do grau de conhecimento adquirido pelo aluno com a utilização do simulador.
6. Referências
[Chevalier e Wein, 1990] Chevalier, Philippe B; Wein, Lawrence M. (1990). Scheduling
Networks of Queues: Heavy Traffic Analysis of a Multistation Closed Network.
Massachusetts Institute of Techonology, Cambridge, Massachusetts. Disponível em:
http://faculty-gsb.stanford.edu/wein/personal/SchedulingNetwork.pdf, acesso dia 23-032011.
[Chovi e Echague, 2007] Chovi, Vicent; Echague, Juan (2007). Stability of FIFO: Networks
under Adversarial Models: State of the Art. Universitat Jaume I, Campus de Riu sec, 12071
Castell´on
(Spain),
2007.
Disponível
em:
http://www3.uji.es/~echague/page5/files/page5_2.pdf, acesso dia 29-05-2011.
[Duan, Zhang e Hou, 2005] Duan, Zhenhai; Zhang, Zhi-Li; Hou, Yimei Thomas (2005).
Fundamental Trade-Offs in Aggregate Packet Scheduling. IEEE Transaction On Parallel
and Distributed Systems, Vol. 16, NO. 12, 2005.
[Junior, 2007] Junior, Antonio (2007). K. Protótipo para gerenciar um escalonador de tráfego
no sistema operacional Linux para priorização de determinados serviços em redes de
computadores. 2007. 88 f. Monografia (Bacharel em Ciências da Computação) –
Universidade Unochapecó, Chapecó, 2007.
[Mata, 2002] Mata, Renê Souza da (2002). Dimensionamento de enlaces em redes com
integração de serviços. 2002. 81 f. Dissertação (Mestrado) - Universidade Estadual de
12
III CONGRESO INTERNACIONAL DE COMPUTACIÓN Y TELECOMUNICACIONES
Campinas - Faculdade de Engenharia Elétrica e de Computação, Campinas, 2002.
Disponível em: http://libdigi.unicamp.br/document/?code=vtls000252448. Acesso em: 23
de abril de 2011.
[Rezende, 2000]Rezende, José (2000). Escalonamento (Scheduling). 2000. Disponível em:
http://www.gta.ufrj.br/~rezende/cursos/coe889/aulas/aula3/index.htm. Acesso em: 26 de
abril de 2011
[Santana, 2010] Santana (2010), Gustavo Xavier. Protótipo de um Simulador Multimídia para
o Ensino de Escalonamento FIFO. Monografia (Licenciatura Plena em Informática).
Universidade Federal de Mato Grosso, Rondonópolis, 2010.
[Semeria, 2001] Semeria, Chuck (2001). Supporting Differentiated Service Classes: Queue
Scheduling Disciplines - White Paper, tech. report, Juniper Networks, 2001
[Silva, 2009] Silva, Renato Moraes (2009). Avaliação de Desempenho de Fontes On/Off
Através do Desenvolvimento de um Simulador para Escalonamento FIFO E DRR.
Monografia (Licenciatura Plena em Informática). Universidade Federal de Mato Grosso,
Rondonópolis, 2009.
[Stamoulis, Anagnostou e Georgantas, 1993] Stamoulis, GD; Anagnostou, ME; Georgantas,
AD (1993). “Traffic Source models for ATM networks: a survey”. National Technical
University of Athens, Department of Electrical and Computer Engineering, Division of
Computer Science, 157 73 Zographou, Athens, Greece Received 5 February 1993;
revised 20 May 1993.
[Stialidis e Varma, 1998] Stialidis, Dimitrios; Varma, Anujan (1998). Latency-Rate Servers: A
General Model for Analysis of Traffic Scheduling Algorithms. IEEE/ACM Transactions On
Networking, Vol. 6, No. 5, October 1998.
[Shreedhar e Varghese, 1996] Shreedhar, M; Varghese, George (1996). Efficient Fair Queuing
Using Deficit Round-Robin. IEEE/ACM Transactions On Networking, Vol. 4, No. 3, June
1996.
[Veríssimo, 2005] Veríssimo, Fernando. C. A (2005). Propostas e Avaliações de Protocolos de
Acesso Alternativos ao Padrão IEEE 802.11e. 2005. 124 f. Tese (Doutorado em
Engenharia de Sistemas e Computação) – Tese, Universidade Federal do Rio de Janeiro,
COPPE, Rio de Janeiro, 2005.
[Wrege e Liebeherr, 1997] Wrege, Dallas E; Liebeherr, Jorg (1997). A Near-Optimal Packet
Scheduler for QoS Networks. Proceedings of the IEEE. Departament of Computer Science,
University of Virginia, Charlottesville, 1997.
13
Download

Baixar Paper - DECOM