Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Rodrigo Ap. Morbach 1,2, Tatiana Annoni Pazeto2 Universidade Federal de Mato Grosso Campus Universitrio de Rondonpolis rodrigo_mtroo@hotmail.com, tpazeto@gmail.com
Resumo
O escalonamento de pacotes em redes de computadores uma tarefa de suma importncia para o bom funcionamento das redes. Porm, mesmo sendo to importante, no conhecido software que seja de uso especfico 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 grfica baseada no estilo de aprendizagem VAK. O REDESIM apresenta tambm uma animao com os resultados da simulao e permite anlises estatsticas dos simuladores atravs de planilhas de texto. Porm, o REDESIM no chegou a ser desenvolvido por completo, contemplando apenas a anlise de fontes geradoras de trfego. Alm disso, do modo como foi criado, no poderia ser facilmente disponibilizado. Deste modo, com a interface do simulador validada, este trabalho tem por objetivo concluir a criao do REDESIM, possibilitando a utilizao na WEB, uma vez que est sendo implementado em linguagem HTML e Javascript. Com isso foram aproveitados os cdigos desenvolvidos em C++ Builder, melhorando o layout e contribuindo com o aprendizado de um nmero maior de estudantes. Palavras chave: Redes, Simulao, 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. Introduo
Segundo Cholvi e Echague (2007), um nmero crescente de aplicaes de rede tem restries em termos de atraso na transmisso dos dados, taxa de perda de pacotes, largura de banda, disponibilidade, entre outros. Para lidar com isto, uma alternativa o uso de escalonadores de trfego. Stialidis e Varma (1998) corroboram a afirmao mencionando que para oferecer Qualidade de Servio (QoS) em uma rede de pacotes necessrio o uso de escalonamento de trfego. A funo do escalonamento selecionar, para cada link de sada, o pacote a ser transmitido dentre os que aguardam na fila. Diante disso, a maior preocupao em relao qualidade dos servios oferecidos, pois um congestionamento pode ocasionar atraso ou perda de pacotes, principalmente quando no existe uma boa estratgia de gerenciamento para atender a todas as aplicaes.
1
A Figura 1 mostra o funcionamento genrico de um escalonador FIFO. So oito filas de onde chegam os pacotes para serem processados, e estes esto 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 sada. Aps 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 nmero seis (6), que foi o ltimo a chegar. Pelo fato de no priorizar os pacotes que devem ser processados, o algoritmo de escalonamento FIFO no recomendado para tarefas que exijam QoS. 2.2. Dficit Round Robin (DRR) O DRR um algoritmo de escalonamento que permite a priorizao do trfego, sendo que esta feita utilizando os seguintes parmetros para tratar as filas de pacotes: o peso, que usado para determinar o tamanho da banda disponvel para a fila; o contador dficit 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 diferena entre os escalonamentos FIFO e DRR, pois ele que determina a prioridade dos pacotes. Segundo Shreedhar e Varghese (1996) para cada fila atribudo um quantum. Assim quando o pacote no pode ser enviado na rodada anterior porque o tamanho do pacote maior que o quantum disponvel no ciclo, o quantum restante atribudo para a prxima rodada.
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 srie de parmetros que precisam ser conhecidos e configurados antes de sua utilizao, o que torna seu uso bastante restrito. medida que estes parmetros vo sendo preenchidos, novos campos de entrada vo surgindo, conforme a sequncia mostrada na Figura 3, atravs da notao 1, 2 e 3. De acordo com a Figura 3, a interface dos programas muito parecida, sendo a principal diferena o funcionamento do algoritmo implementado, que no caso do DRR requer alguns parmetros adicionais, os quais constam na terceira parte de configurao do simulador. Analisando a Figuras 3, na primeira caixa de texto o usurio deve escolher o local onde o arquivo de texto (.txt) ser salvo, onde ir constar as estatsticas das fontes e do desempenho do escalonador em execuo. Mais abaixo deve ser informada a quantidade de usurios de Voz, Vdeo e Dados que iro gerar trfego no sistema. Aps esta informao, deve ser pressionado o boto inserir parmetros, o que resultar na abertura da segunda parte do programa. No entanto, caso o usurio desista, ele deve clicar no boto cancelar e cadastrar novamente o nmero de usurios de cada trfego. J o boto
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 servio, tempo de sistema, tempo de sada, e finalmente pelo seu status, ou seja, se o pacote foi tratado ou se foi descartado. Esse ltimo parmetro 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 trs ltimos pacotes gerados constam no arquivo mostrado na Figura 4. Logo em seguida, o arquivo apresenta quais foram as fontes geradoras de trfego utilizadas, mencionando se foi utilizada a fonte Fixa, Varivel 1.0 ou Varivel 2.0, bem como os parmetros usados para a configurao dos pacotes que foram gerados. Aps menciona-se o nmero de pacotes gerados para cada tipo de trfego, sendo este no valor de 1000 pacotes para cada tipo de trfego usando a fonte On/Off Fixa. Tambm consta, abaixo, o tamanho da fila para cada um dos trfegos, sendo que na simulao apresentada na Figura 4 foram configuradas filas de 17 posies para cada um dos trfegos. A capacidade do canal usada foi de 1MB. Na sequencia apresentado o quantum indicado pelo usurio para cada tipo de trfego, os valores da mdia do tempo de fila, do tempo de servio, do tempo de sistema, da quantidade de pacotes transmitidos e da quantidade de pacotes descartados, em relao simulao em geral e tambm especficos para cada tipo de trfego. Estas mdias so contabilizadas desconsiderando a quantidade inicial de pacotes indicada pelo usurio na tela inicial do simulador, mais precisamente na caixa de texto Descarte estatstico. As estatsticas presentes no arquivo estatsticas_DRR.txt geradas pelo escalonador DRR, so basicamente as mesmas presentes no arquivo gerado pelo escalonador FIFO. Os dois somente diferem, como dito anteriormente, no parmetro quantum, existente somente no escalonador DRR. As mdias apresentadas na Figura 4 tambm existem no escalonador FIFO. Elas apresentam o tempo de fila, que corresponde ao tempo que o pacote levou para
7
4. O simulador REDESIM
A primeira verso do REDESIM, desenvolvida por Santana (2010), foi implementada em linguagem de programao C usando o Dev C, programa gratuito, diferentemente do programa inicial que foi criado atravs do C++ Builder, software pago. Essa verso contava com uma interface grfica criada com a utilizao do programa Alegro, apresentando tambm uma simulao com os resultados gerados referentes as fontes de trfego. O principal diferencial do REDESIM, que este possuia uma interface grfica, onde os tipos de trfego poderiam ser facilmente visualizados atravs das imagens. Alm disso, o REDESIM contava tambm com legendas, com informaes sobre os parmetros existentes na tela do simulador. Porm, o REDESIM ainda no contemplava todas as funes existentes no trabalho desenvolvido por Renato Silva (2009), ficando restrito para anlise das fontes de trfego. Portanto, os escalonadores no 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 verso do REDESIM conta basicamente com o mesmo layout, com algumas pequenas alteraes. A principal diferena encontra-se nas ferramentas utilizadas para o seu desenvolvimento. Da maneira como foi criado o software de Santana (2010), o mesmo no poderia ser disponibilizado facilmente. Pensou-se ento em um meio para a disponibilizao 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 utilizao na Web. A implementao 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 programao C, podero ser facilmente incorporados ao REDESIM, visto que o mesmo servir como entrada para os dados, com textos e imagens para melhor explicao do processo de escalonamento, enquanto o escalonador em si far o tratamento desses dados. Assim, conforme supracitado, a nova verso do REDESIM utiliza o layout desenvolvido por Santana (2010), e passa os parmetros inseridos pelo usurio para que o software de Renato Silva (2009) faa o processamento dos dados e retorne um arquivo com todas as estatsticas, tanto referente as fontes de trfego, quanto ao escalonador utilizado. A tela principal do REDESIM apresentada na Figura 5.
No exemplo da Figura 6, o usurio do simulador deve informar quantos usurios de vdeo estaro transmitindo pacotes durante a simulao. Para cada tipo de trfego selecionado na Figura 5b, o usurio do simulador deve informar a quantidade de usurios que estaro transmitindo dados durante a simulao. Sendo assim, se todos os trfegos forem selecionados na Figura 5b, a tela apresentada na Figura 6 aparecer trs vezes, sendo uma para cada tipo de trfego. Informada a quantidade de usurios, o simulador direciona para a pgina de insero dos parmetros referentes as fontes de trfego, sendo as opes Fixa, Varivel 1.0 e Varivel 2.0, conforme apresentado na Figura 7a.
Na Figura 7a, abaixo da imagem que representa o tipo de trfego de vdeo, o qual est sendo configurado, apresentado um ndice referente ao usurio que est sendo configurado. Para cada usurio deve ser escolhido um tipo de fonte de trfego entre as opes Fixa, Varivel 1.0 e Varivel 2.0. Ao passar o mouse sobre as imagens dos botes que representam as fontes, a legenda apresenta uma breve explicao sobre cada tipo de fonte geradora. Caso o usurio opte pela fonte Fixa dever informar os seguintes parmetros: quantidade de pacotes, taxa de transmisso, o intervalo de Off e o tamanho do pacote. Optando pela fonte Varivel 2.0, alm desses parmetros deve-se informar tambm a quantidade de pacotes que devem ser gerados no intervalo On. Para a fonte Varivel 1.0, alm dessa informao deve ser preenchido se a quantidade de pacotes por intervalo On Fixa ou Mdia. Vale salientar que o usurio do simulador deve informar os parmetros para todos os usurios definidos na tela de quantidade de usurios, bem como para todos os tipos de trfego de Dados, Vdeo ou Voz. Pode tambm a qualquer momento cancelar a operao, voltando assim para a tela inicial do simulador. Terminada a insero para todos os usurios informados, o simulador direciona para a tela das configuraes finais, apresentada na Figura 7b, onde se deve informar a capacidade do canal, ou seja, o tamanho da banda disponvel, o mximo de pacotes na fila, que equivale a quantidade de pacotes que podem aguardar at que o pacote atual seja processado, e o descarte estatstico. Concluda esta etapa, o simulador estar totalmente configurado e ir processar os dados, gerando as estatsticas. importante frisar que a principal diferena entre o simulador FIFO e DRR, como mencionado anteriormente, est justamente na insero dos parmetros finais, pois no DRR deve ser informado o quantum para cada tipo de trfego, alm de existir uma fila para cada um dos trfegos. Vale ressaltar que o quantum que permite a priorizao dos pacotes. Uma representao da tela de parmetros finais do DRR demonstrada na Figura 8.
10
A tela de parmetros finais do simulador DRR apresenta alguns valores pr-definidos pelo simulador. O usurio pode optar por manter as configuraes ou pode inserir novos valores manualmente. Feita a insero de todos os parmetros pertinentes ao simulador utilizado, as informaes so passadas via JavaScript para o software de Renato Silva (2009), o qual ir processar as informaes e gerar um arquivo em formato .txt com os resultados da simulao. Porm, para melhor visualizao do processo de escalonamento, apresentada ao usurio uma animao com as informaes que ele inseriu durante a configurao do simulador. A Figura 9 representa a animao gerada pelo simulador FIFO.
No canto esquerdo da Figura 9, os computadores representam os tipos de trfego selecionados pelos usurios durante a simulao. Os pacotes referentes a cada tipo de trfego so representados com cores diferentes para que fique mais fcil a identificao dos mesmos. Os pacotes seguem na fila de acordo com o ndice presente no cabealho. Esse ndice representa a ordem em que os pacotes foram gerados durante a simulao. O
11
5. Concluses
Atravs das pesquisas realizadas foi possvel desenvolver uma ferramenta de auxlio 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 princpios de aprendizagem VAK, visto que o usurio pode identificar os tipos de dados tratados atravs das imagens inseridas no programa, bem como da animao. Atende tambm ao princpio sinestsico, uma vez que todos os parmetros so definidos pelo usurio, gerando impacto nos resultados, possibilitando comparaes e visualizao da fonte que mais se adqua a determinada situao. Embora no estar contemplado no artigo, um resultado importante do REDESIM a gerao de formas de anlise dos resultados baseada em grficos, os quais permitem visualizar o impacto causado pelos parmetros digitados pelo usurio. Futuramente pretende-se acrescentar ao simulador REDESIM um tutorial com udio e vdeo para que se possa atender de maneira completa o princpio de aprendizagem VAK, aprimorando ainda mais o ensino de escalonamento de redes. Tambm pretende-se incorporar uma srie de exerccios baseados nos dados gerados pelo simulador para verificao do grau de conhecimento adquirido pelo aluno com a utilizao do simulador.
6. Referncias
[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. Disponvel 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 Castellon (Spain), 2007. Disponvel 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. Prottipo para gerenciar um escalonador de trfego no sistema operacional Linux para priorizao de determinados servios em redes de computadores. 2007. 88 f. Monografia (Bacharel em Cincias da Computao) Universidade Unochapec, Chapec, 2007. [Mata, 2002] Mata, Ren Souza da (2002). Dimensionamento de enlaces em redes com integrao de servios. 2002. 81 f. Dissertao (Mestrado) - Universidade Estadual de
12
13