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