SELEC ¸ ˜ AO DE NODOS PARA A EXECUC ¸ ˜ AO DE EXPERIMENTOS NO PLANETLAB BASEADA NO
MONITORAMENTO DE ESTABILIDADE DAS INTERAC ¸ ˜ OES FIM-A-FIM
Disserta¸c˜ao apresentada como requisito par- cial `a obten¸c˜ao do grau de Mestre. Pro- grama de P´os-Gradua¸c˜ao em Inform´atica, Setor de Ciˆencias Exatas, Universidade Fe- deral do Paran´a.
Orientador: Prof. Dr. Elias P. Duarte Jr.
Co-Orientador: Prof. Dr. Luis C. E. Bona
CURITIBA 2011
SUM ´ ARIO
RESUMO iii
ABSTRACT iv
LISTA DE FIGURAS vi
LISTA DE TABELAS vii
LISTA DE ABREVIATURAS E SIGLAS viii
1 INTRODUC¸ ˜AO 1
2 TRABALHOS RELACIONADOS 5
2.1 CoMon . . . 5
2.2 PlanetFlow2 . . . 6
2.3 netEmbed . . . 7
2.4 Vivaldi . . . 8
2.5 Ganglia . . . 8
2.6 MON . . . 9
2.7 SWORD . . . 10
3 MONITORAMENTO OFFLINE DO PLANETLAB 11 3.1 Estrat´egia de Monitoramento Offline . . . 11
3.2 Resultados . . . 14
4 MONITORAMENTO ONLINE DO PLANETLAB 19 4.1 Estrat´egia de Monitoramento Online . . . 19
4.2 Estrat´egias de Sele¸c˜ao de Nodos . . . 20
4.2.1 Grau M´ınimo . . . 20
4.2.2 Maior Grau M´ınimo . . . 22
4.2.3 Subgrafo com Grau M´ınimo . . . 23
4.2.4 Subgrafo com Maior Grau M´ınimo . . . 24
4.2.5 Clique Est´avel . . . 25
4.3 Implementa¸c˜ao da Ferramenta . . . 27
4.3.1 M´odulo de Monitoramento . . . 28
4.3.2 M´odulo Servidor . . . 28
4.3.3 M´odulo Cliente . . . 29
5 RESULTADOS EXPERIMENTAIS 32 5.1 An´alise dos Grafos Obtidos e Estrat´egias de Sele¸c˜ao . . . 33
5.2 Qualidade dos Nodos Selecionados . . . 44
5.3 Sumariza¸c˜ao das Amostras . . . 54
6 CONCLUS ˜AO 58
REFERˆENCIAS BIBLIOGR ´AFICAS 60
A NODOS DO PLANETLAB UTILIZADOS NOS EXPERIMENTOS 63
RESUMO
O PlanetLab ´e umtestbed global de pesquisa que suporta a experimenta¸c˜ao de protocolos e sistemas distribu´ıdos. Usu´arios de testbeds dinˆamicos de larga escala frequentemente executam experimentos que necessitam de um conjunto de nodos com um n´ıvel razo´avel de estabilidade. Existem ferramentas que auxiliam na sele¸c˜ao de nodos, monitorando-os e filtrando-os segundo crit´erios estabelecidos pelo usu´ario. Por´em, nenhuma delas monitora intera¸c˜oes fim-a-fim entre pares de nodos. Neste trabalho descrevemos uma estrat´egia online de monitoramento e v´arias estrat´egias de sele¸c˜ao de nodos focadas na comunica¸c˜ao entre cada par de nodos no PlanetLab. Uma das estrat´egias de sele¸c˜ao consiste em encon- trar um conjunto de nodos em que todos comunicam-se entre si de forma est´avel, o que chamamos de uma Clique Est´avel, considerando o PlanetLab como um grafo em que uma aresta entre dois nodos representa uma boa comunica¸c˜ao entre eles. Outras estrat´egias de sele¸c˜ao de nodos, menos restritivas que a Clique Est´avel, tamb´em foram definidas, baseadas nos graus dos nodos. ´E poss´ıvel selecionar nodos com um grau m´ınimo no grafo, ou com um grau m´ınimo entre si. Uma estrat´egia de monitoramentooffline para detec¸c˜ao de Cliques Est´aveis no PlanetLab foi implementada e ´e descrita. A partir da estrat´egia online, uma ferramenta foi implementada. V´arios experimentos foram executados com a ferramenta criada e s˜ao descritos neste trabalho. Os experimentos incluem a sele¸c˜ao de nodos com diferentes estrat´egias e em diferentes per´ıodos de tempo, a fim de compar´a-las e verificar seu comportamento no decorrer do tempo. Foi tamb´em realizado um experi- mento para comparar o desempenho dos nodos selecionados pela ferramenta criada com o desempenho de nodos selecionados por outra ferramenta de sele¸c˜ao de nodos, o SWORD.
Esta compara¸c˜ao foi feita por meio da execu¸c˜ao de uma aplica¸c˜ao MapReduce nos nodos selecionados com ambas as ferramentas. Estes experimentos mostraram que os nodos selecionados pela ferramenta proposta executaram o programa, na maioria dos casos, em tempo significativamente menor do que os nodos selecionados pela outra ferramenta.
ABSTRACT
PlanetLab is a global research testbed used to run experiments with new protocols and distributed applications under realistic conditions. Users of dynamic large-scale testbeds often execute experiments which must be run on a group of nodes with a reasonable level of stability. Although there are tools designed for selecting PlanetLab nodes on which experiments are run, none of these tools classify and select nodes according to their ability to communicate, i.e. they do not monitor the end-to-end interaction between pairs of nodes. In this work we describe an online monitoring strategy as well as several node selection strategies, based on the stability of the communication between pairs of nodes on PlanetLab. One of the node selection strategies finds a group of nodes in whichall nodes communicate among themselves in a stable fashion. We call such a group of nodes a Stable Clique, considering PlanetLab as a graph such that there is an edge between two nodes if they are able to communicate stably according to some criteria. Other node selection strategies, less restrictive than the Stable Clique, were also defined, all of them based on the nodes’ degrees. It is possible to select nodes all of which have some minimum degree or a group of nodes that have some minimum degree considering only the nodes in the group.
An offline monitoring strategy for finding Stable Cliques in PlanetLab was implemented and is described. The online strategy was implemented as a node selection tool. Using this tool, several experiments were conducted and are described in this work. These experiments include the selection of nodes with different stability criteria and for different periods of time, for the sake of comparing them and verifying their behavior as time passes. Experiments comparing the performance of nodes selected by the proposed tool with the performance of nodes selected by another tool, SWORD, were also conducted.
The comparison was made executing a MapReduce application on both sets of nodes.
The experiment results show that, in most cases, the nodes selected by the proposed tool ran the application significantly faster than the nodes selected by the other tool.
LISTA DE FIGURAS
3.1 Varia¸c˜ao do RTT de um nodo inst´avel. . . 12
3.2 Um limiar ´e usado para classificar os nodos. . . 14
3.3 Taxa de assimetria na classifica¸c˜ao dos nodos. . . 15
3.4 Varia¸c˜ao do tamanho da clique m´axima para o experimento 1. . . 16
3.5 Varia¸c˜ao do tamanho da clique m´axima para o experimento 2. . . 16
3.6 Varia¸c˜ao do tamanho da clique m´axima para o experimento 3. . . 17
4.1 61 nodos com grau m´ınimo 100 no grafo original. . . 21
4.2 100 nodos selecionados com a estrat´egia M GM. . . 22
4.3 Subgrafo de 137 nodos com grau m´ınimo 44 entre eles . . . 24
4.4 62 nodos com grau m´ınimo 45 entre eles. . . 25
4.5 Clique de 30 nodos selecionada. . . 26
4.6 M´odulos da ferramenta implementada. . . 27
4.7 Interface Web. . . 30
5.1 Grau m´edio e m´aximo de hora em hora durante 3 semanas. . . 34
5.2 Grau m´edio e m´aximo no decorrer de um dia. . . 35
5.3 Quantidade de nodos selecionados com diferentes graus m´ınimos no decor- rer de 3 semanas. . . 36
5.4 Quantidade de nodos selecionados com diferentes graus m´ınimos no decor- rer de um dia. . . 37
5.5 Maior grau m´ınimo para grupos selecionados com diferentes tamanhos no decorrer de 3 semanas. . . 38
5.6 Maior grau m´ınimo para grupos selecionados com diferentes tamanhos no decorrer de um dia. . . 39
5.7 Tamanho e grau m´ınimo do subgrafo selecionado no decorrer de 3 semanas. 40 5.8 Tamanho e grau m´ınimo do subgrafo selecionado no decorrer de 1 dia. . . . 41
5.9 Quantidade de nodos com o maior grau poss´ıvel dentro de diferentes grupos
no decorrer de 1 dia. . . 42
5.10 Graus m´ınimo, m´edio e m´aximo de um mesmo subgrafo de 62 nodos no decorrer de um dia. . . 43
5.11 Resultados do experimento 1. . . 48
5.12 Resultados do experimento 2. . . 49
5.13 Resultados do experimento 3. . . 50
5.14 Resultados do experimento 4. . . 51
5.15 Resultados do experimento 5. . . 52
5.16 Resultados do experimento 6. . . 54
LISTA DE TABELAS
3.1 Tamanho da clique m´axima na interse¸c˜ao de todos os grafos. . . 17
3.2 Tamanho m´edio da clique m´axima para o per´ıodo de um dia. . . 18
3.3 Tamanho m´edio da clique m´axima para o per´ıodo de uma hora. . . 18
5.1 M´edia e desvio padr˜ao dos graus m´edio e m´aximo para cada limiar. . . 35
5.2 M´edia e desvio padr˜ao da quantidade de nodos selecionados com diferentes graus m´ınimos para cada limiar. . . 37
5.3 M´edia e desvio padr˜ao do maior grau m´ınimo em grupos selecionados com diferentes tamanhos, para cada limiar. . . 39
5.4 M´edia e desvio padr˜ao do tamanho e grau m´ınimo do subgrafo selecionado, para cada limiar. . . 41
5.5 Experimentos realizados com o MapReduce. . . 46
5.6 Execu¸c˜oes do experimento 1. . . 47
5.7 Execu¸c˜oes do experimento 2. . . 49
5.8 Execu¸c˜oes do experimento 3. . . 50
5.9 Execu¸c˜oes do experimento 4. . . 51
5.10 Execu¸c˜oes do experimento 5. . . 52
5.11 Execu¸c˜oes do experimento 6. . . 53
5.12 Sumariza¸c˜ao de hora em hora. . . 56
5.13 Sumariza¸c˜ao di´aria. . . 57
LISTA DE ABREVIATURAS E SIGLAS
CE. . . Clique Est´avel
CGI. . . Common Gateway Interface CPU. . . Central Processing Unit GB. . . GigaByte
GM. . . Grau M´ınimo
HTML. . . HyperText Markup Language MB. . . MegaByte
MGM. . . Maior Grau M´ınimo NTP. . . Network Time Protocol P2P. . . Peer to Peer
RTT. . . Round-Trip Time
SGM. . . Subgrafo com Grau M´ınimo
SMGM. . . Subgrafo com Maior Grau M´ınimo TCP. . . Transmission Control Protocol UDP. . . User Datagram Protocol URL. . . Uniform Resource Locator
CAP´ ITULO 1 INTRODUC ¸ ˜ AO
Conforme novas alternativas para a arquitetura da Internet s˜ao propostas,testbedsreal´ısti- cos de larga escala tornam-se cada vez mais importantes [25]. Estes testbeds s˜ao redes amplas nas quais protocolos, aplica¸c˜oes distribu´ıdas e servi¸cos s˜ao implantados e avalia- dos sob condi¸c˜oes supostamente reais. O PlanetLab [10, 9, 27] ´e uma destas redes globais de pesquisa que suporta o desenvolvimento de novos protocolos e servi¸cos. Atualmente o PlanetLab ´e composto por cerca de 1088 nodos em cerca de 578 locais ao redor do mundo. Os nodos s˜aohosts TCP/IP que comunicam-se por meio da Internet. Cada nodo
´e gerenciado por uma organiza¸c˜ao autˆonoma, filiada ao PlanetLab. Diferentes nodos ap- resentam capacidades e ambientes diferentes. Al´em disso, n˜ao h´a reserva de tempo de processamento, os usu´arios utilizam os nodos simultaneamente, competindo pelos recur- sos, resultando em um ambiente de grande instabilidade.
Pesquisadores necessitam de um ambiente real, sujeito a condi¸c˜oes reais, tais como perdas ocasionais de conectividade e congestionamento, a fim de avaliar suas propostas.
Entretanto, para executar um protocolo ou uma aplica¸c˜ao distribu´ıda ´e frequentemente necess´aria a existˆencia de um grupo de nodos que apresentem um n´ıvel razo´avel de es- tabilidade entre si. N˜ao ´e trivial encontrar tal grupo de nodos no PlanetLab [14]. Em um dado momento, um grupo grande desses nodos pode nem mesmo existir. Al´em disso, um canal de comunica¸c˜ao pode ser, inclusive, n˜ao sim´etrico: se um nodo considera outro nodo est´avel, a rec´ıproca pode n˜ao ser verdadeira. Um nodo pode considerar outros dois est´aveis, mas estes dois podem n˜ao considerar-se est´aveis entre si.
Existem algumas ferramentas dispon´ıveis que auxiliam na sele¸c˜ao de nodos do Pla- netLab [26, 17, 22, 11, 23, 20, 8]. Estas ferramentas, em geral, monitoram informa¸c˜oes referentes a cada nodo (como uso do processador, mem´oria, entre outros) e selecionam nodos que atendem aos crit´erios estabelecidos pelo usu´ario. Nenhuma, por´em, monitora
informa¸c˜oes referentes `a comunica¸c˜ao entre cada par de nodos. Uma lista destas ferra- mentas pode ser encontrada em [4].
Neste trabalho descrevemos uma estrat´egiaonline de monitoramento e v´arios crit´erios de sele¸c˜ao de nodos focados na comunica¸c˜ao entre cada par de nodos. Nesta estrat´egia, s˜ao monitoradas as intera¸c˜oes fim-a-fim entre pares de nodos, isto ´e, o tempo de resposta, medido na camada de aplica¸c˜ao, de cada nodo para cada outro nodo. Obt´em-se assim o ponto de vista de cada nodo sobre o estado da rede. A partir destes dados, v´arias estrat´egias para selecionar nodos foram definidas.
Uma das estrat´egias de sele¸c˜ao de nodos consiste em encontrar um grupo de nodos em que todos os nodos comunicam-se entre si de forma est´avel. Chamamos tal grupo de nodos de uma Clique Est´avel: se o PlaneLab ´e representado por um grafo G = (V, E), uma clique [13] ´e um subgrafo completo de G no qual as arestas correspondem a canais de comunica¸c˜ao classificados como est´aveis. Estas cliques podem ser vistas como uma parte est´avel de uma rede inst´avel. Por´em a busca de cliques envolve um alto custo computacional, o que pode tornar a estrat´egia invi´avel caso seja necess´aria uma grande quantidade de nodos.
Dependendo da topologia virtual do sistema a ser executado nos nodos selecionados, pode n˜ao ser necess´aria uma Clique Est´avel. Assim, foram definidas outras estrat´egias de sele¸c˜ao de nodos, tamb´em baseadas no modelo de grafo da rede, s˜ao elas: Grau M´ınimo, Maior Grau M´ınimo, Subgrafo com Grau M´ınimo e Subgrafo com o Maior Grau M´ınimo.
Na estrat´egia do Grau M´ınimo, s˜ao selecionados todos os nodos com grau maior ou igual ao grau m´ınimo especificado. A estrat´egia do Maior Grau M´ınimo seleciona um n´umero m´ınimo especificado de nodos, com o maior grau m´ınimo poss´ıvel no grafo. J´a na es- trat´egia do Subgrafo com Grau M´ınimo, s˜ao selecionados nodos que resultem em um subgrafo em que o grau m´ınimo seja igual ou maior que o grau m´ınimo especificado, ou seja, os nodos selecionados tem um grau m´ınimo entre eles. A estrat´egia do Subgrafo com o Maior Grau M´ınimo busca um conjunto de nodos com tamanho m´ınimo especificado que formam um subgrafo com o maior grau m´ınimo encontrado.
Uma estrat´egia de monitoramento offline para detec¸c˜ao de Cliques Est´aveis no Pla-
netLab foi implementada e trˆes experimentos foram realizados. Diz-se offline pois ap´os um per´ıodo de tempo em que o monitoramento ´e executado, os dados de todos os nodos s˜ao coletados para an´alise. Cada nodo ´e classificado como est´avel ou inst´avel, do ponto de vista de cada outro nodo. O crit´erio de classifica¸c˜ao emprega um limiar e ser´a des- crito posteriormente. A partir da classifica¸c˜ao, grafos s˜ao gerados, nos quais as cliques s˜ao computadas. Os resultados dos experimentos referentes a este monitoramentooffline, realizados no PlanetLab, s˜ao apresentados neste trabalho.
A estrat´egia online de monitoramento e sele¸c˜ao de nodos foi implementada em uma ferramenta. Diferentemente da estrat´egia offline, nesta ferramenta os nodos monitoram cada outro nodo continuamente, enviando os dados para um servidor conforme s˜ao obtidos.
Este servidor, al´em de armazenar os dados do monitoramento, tamb´em ´e respons´avel por gerar grafos, quando requisitado, os quais ser˜ao utilizados na sele¸c˜ao de nodos. Outro aspecto do servidor implementado ´e que os dados s˜ao sumarizados com o passar do tempo, a fim de manter um hist´orico das medidas referentes a cada par de nodos, por um longo per´ıodo.
Diversos experimentos acerca das estrat´egias de sele¸c˜ao de nodos foram realizados com a ferramenta criada. V´arios resultados foram obtidos e s˜ao apresentados neste trabalho.
Estes experimentos incluem a sele¸c˜ao de nodos com diferentes estrat´egias em grafos ge- rados ao longo de 3 semanas de monitoramento no PlanetLab. A partir destes resultados foi poss´ıvel comparar as diferentes estrat´egias de sele¸c˜ao de nodos, al´em de verificar o comportamento de cada estrat´egia no decorrer do tempo. Outro experimento realizado foi uma compara¸c˜ao da ferramenta criada com outra ferramenta de sele¸c˜ao de nodos, o SWORD. A compara¸c˜ao baseou-se em diversas execu¸c˜oes de uma aplica¸c˜ao MapReduce [12] em nodos selecionados por ambas as ferramentas. As execu¸c˜oes desta aplica¸c˜ao foram feitas com grupos de nodos de diversos tamanhos (20, 40, 80, 200), e diversos tamanhos de entrada (200MB, 400MB, 2GB, entre outros). Estes experimentos mostraram que os nodos selecionados pela ferramenta criada executaram o programa, na maioria dos casos, em menos tempo do que os nodos selecionados pela outra ferramenta. Em muitos casos o tempo de execu¸c˜ao foi metade ou menor, demonstrando a eficiˆencia da estrat´egia
de monitoramento e sele¸c˜ao de nodos definida neste trabalho. Experimentos acerca da sumariza¸c˜ao das amostras do monitoramento tamb´em foram realizados.
O restante deste trabalho est´a organizado da seguinte maneira. No cap´ıtulo 2 s˜ao descritos os trabalhos relacionados. No cap´ıtulo 3 s˜ao apresentados os resultados dos ex- perimentos com a estrat´egia de monitoramentooffline para detec¸c˜ao de Cliques Est´aveis no PlanetLab. O cap´ıtulo 4 descreve a estrat´egia online de monitoramento e sele¸c˜ao de nodos, assim como a ferramenta implementada. O cap´ıtulo 5 descreve os experimentos re- alizados com a ferramenta criada e os resultados obtidos, seguido da conclus˜ao no cap´ıtulo 6.
CAP´ ITULO 2
TRABALHOS RELACIONADOS
Este cap´ıtulo descreve trabalhos relacionados a esta disserta¸c˜ao de mestrado. Diversos trabalhos tratam do monitoramento e da sele¸c˜ao de nodos. Tais trabalhos diferem em diversos aspectos, como a forma de monitoramento, os atributos monitorados, a forma de sele¸c˜ao dos nodos e os objetivos. Estes trabalhos s˜ao descritos nas se¸c˜oes seguintes.
2.1 CoMon
O CoMon [26] ´e um sistema de monitoramento especificamente projetado para nodos do PlanetLab. O objetivo do CoMon ´e fornecer informa¸c˜oes sobre o ambiente para usu´arios e administradores. Al´em de coletar passivamente as informa¸c˜oes fornecidades pelo sistema operacional de cada nodo, o CoMon tamb´em coleta dados medidos ativamente, que au- xiliam na execu¸c˜ao de experimentos no PlanetLab. Com o CoMon, ´e poss´ıvel encontrar com maior facilidade nodos “problem´aticos”, em que a causa do problema pode estar na pr´opria m´aquina, no ambiente ou na carga de trabalho presente no nodo. Al´em disto, os usu´arios tem acesso a v´arias informa¸c˜oes acerca de todos os experimentos em execu¸c˜ao nos nodos do PlanetLab, facilitando n˜ao apenas o monitoramento e depura¸c˜ao de seu pr´oprio experimento, como tamb´em ajudando na tarefa de encontrar problemas causados devido a outros experimentos. A partir dos dados coletados com o monitoramento dos nodos, o CoMon disponibiliza uma ferramenta para a sele¸c˜ao de nodos que satisfazem crit´erios estabelecidos pelo usu´ario.
O CoMon ´e composto de doisdaemons que executam em cada nodo do PlanetLab, uma infraestrutura centralizada para coleta e processamento de dados, e uma ferramenta que d´a suporte a consultas simples especificadas pelo usu´ario. Os dois daemons executando em cada nodo s˜ao respons´aveis por coletar dados: um coleta dados referentes ao nodo, e o outro dados referente aos slices. Exemplos de dados coletados pelo primeiro daemon s˜ao:
uptime, utiliza¸c˜ao da CPU (Central Processing Unit), tamanho da mem´oria, consumo de mem´oria, tamanho do disco e espa¸co de disco dispon´ıvel. O outro daemon mede o total de recursos utilizado por cada slice: banda de transmiss˜ao e recebimento nos ´ultimos 1, 5 e 15 minutos, consumo de mem´oria f´ısica e virtual, uso de CPU e mem´oria e n´umero de portas em uso.
Outro componente do CoMon ´e uma infraestrutura centralizada para reunir os dados gerados pelosdaemons. Estes dados s˜ao coletados pela estrutura central a cada 5 minutos, e armazenados em v´arios arquivos. Com estes dados crus ´e feito um processamento b´asico gerando meta-arquivos que s˜ao utilizados por programas CGI (Common Gateway Interface) afim de criar tabelas HTML (HyperText Markup Language) sob demanda. O
´
ultimo componente do CoMon ´e uma ferramenta para sele¸c˜ao de nodos. Esta ferramenta ´e acessada atrav´es de uma URL (Uniform Resource Locator). O usu´ario descreve os crit´erios para sele¸c˜ao dos nodos por meio de uma linguagem com sintaxe similar a linguagem C.
O presente trabalho difere do CoMon no que diz respeito aos dados monitorados e a forma de sele¸c˜ao dos nodos. No CoMon s˜ao monitorados apenas atributos relacionados ao estado do nodo, enquanto o presente trabalho visa monitorar o tempo de resposta entre cada par de nodos, ou seja, um atributo relacionado ao estado da comunica¸c˜ao entre um par nodos. J´a na sele¸c˜ao de nodos, o CoMon seleciona os nodos que atendem as restri¸c˜oes definidas com base nos ´ultimos dados obtidos. J´a a estrat´egia apresentada neste trabalho pode utilizar os dados referentes a um per´ıodo qualquer de tempo.
2.2 PlanetFlow2
O PlanetFlow [17] ´e um servi¸co de auditoria de rede que monitora todo o tr´afego de rede gerado pelos nodos do PlanetLab. O objetivo deste monitoramento ´e manter a accountability (responsabiliza¸c˜ao) do tr´afego de rede do PlanetLab de forma transparente e eficiente, de acordo com os termos da pol´ıtica de uso do PlanetLab (PlanetLab Acceptable Use Policy), principalmente para auxiliar na resolu¸c˜ao de queixas.
Al´em da auditoria, os dados coletados pelo PlanetFlow tamb´em s˜ao ´uteis para pesquisa, sendo assim armazenados de forma a permitir a minera¸c˜ao e agrega¸c˜ao, al´em de outras
consultas mais complexas do que simplesmente determinar qual slice enviou um determi- nado pacote. A quantidade de dados analisados e catalogados pelo PlanetFlow ´e de cerca de 4TB (Tera bytes) di´arios. Mesmo com uma grande quantidade de tr´afego monitorado, ooverhead de CPU do PlanetFlow ´e baixo, chegando a 3% no pior caso.
O servi¸co do PlanetFlow ´e executado em um slice comum, em todos os nodos do PlanetLab. Por´em, o servi¸co executa opera¸c˜oes privilegiadas (como ler cabe¸calhos de pacotes gerados por outrosslices), atrav´es do servi¸co Proper [24], o que n˜ao ´e normalmente permitido. O PlanetFlow consiste de quatro componentes principais: um coletor de fluxo que classifica os pacotes enviados em fluxos IP; um banco de dados que armazena os fluxos; interfaces Web e administrativas para consultas `a base de dados; e um servidor central para armazenar, consultar, e aquivar os dados de todos os nodos.
Os objetivos do PlanetFlow s˜ao bem diferentes dos objetivos do presente trabalho.
Enquanto o PlanetFlow trata do monitoramento de tr´afego do PlanetLab para auditoria, este trabalho tem como principal objetivo a sele¸c˜ao de nodos para uso em experimentos.
2.3 netEmbed
O netEmbed [21, 22] ´e um servi¸co para sele¸c˜ao de recursos que satisfazem crit´erios deseja- dos. A t´ecnica utilizada neste servi¸co para encontrar um grupo de recursos que atenda aos crit´erios definidos ´e o mapeamento entre dois modelos: um representando a infraestru- tura real dos recursos, e outro representando a estrutura e caracter´ısticas dos recursos desejados pelo usu´ario. Para tal mapeamento, s˜ao utilizados algoritmos heur´ısticos.
Na arquitetura do netEmbed, para manter o modelo que representa a infraestrutura real dos recursos podem ser usados um servi¸co de monitoramento, de gerˆencia de recursos, ou uma combina¸c˜ao de ambos. Por´em, tais servi¸cos n˜ao s˜ao oferecidos pelo netEmbed.
O presente trabalho visa, al´em de selecionar nodos, monitorar os nodos. Isto caracteriza a principal diferen¸ca entre o netEmbed e este trabalho.
2.4 Vivaldi
O Vivaldi [11] ´e um sistema de coordenadas sint´eticas totalmente distribu´ıdo cujo objetivo
´e predizer o RTT (Round-Trip Time) entre hosts, ou seja, determinar o RTT entre dois hosts sem a necessidade de um host comunicar-se com o outro. Para tanto, o algoritmo do Vivaldi atribui coordenadas sint´eticas aos hosts, de forma que a distˆancia entre as coordenadas de dois hosts quaisquer corresponde ao RTT entre eles. O algoritmo do Vivaldi tem baixo overhead e as coordenadas computadas estimam os valores de RTT com baixo erro.
Assim como o Vivaldi, o monitoramento do presente trabalho utiliza como m´etrica o RTT entre cada par de hosts. Por´em, no Vivaldi o RTT ´e uma estimativa que, mesmo com boa precis˜ao, n˜ao considera eventuais falhas dos nodos, picos no valor do RTT, problemas na rede ou se o nodo est´a lento. Al´em disso, na estrat´egia de monitoramento definida neste trabalho, consideramos o RTT em ambos os sentidos, ou seja, ´e medido o RTT de um nodo para outro e o inverso tamb´em.
2.5 Ganglia
O Ganglia [23] ´e um sistema de monitoramento distribu´ıdo escal´avel projetado para sis- temas computacionais de alto desempenho, tais como clusters e grids [15]. Al´em de prover monitoramento escal´avel para estes sistemas, o Ganglia tamb´em foi implantado com sucesso no PlanetLab. O Ganglia ´e baseado em um estrutura hier´arquica em clus- ters. Cada nodo dentro de um cluster monitora seus pr´oprios recursos e informa seus dados para todos docluster por meio de um protocolo baseado emmulticast. Para agre- gar os dados dos clusters, o Ganglia usa uma ´arvore de conex˜oes ponto-a-ponto entre os representantes dos clusters. As informa¸c˜oes monitoradas no Ganglia s˜ao referentes ao estado do pr´oprio nodo (como uso de CPU, mem´oria e outras informa¸c˜oes fornecidas pelo sistema operacional).
Assim como no CoMon, os atributos monitorados no Ganglia s˜ao relacionados apenas ao estado de cada nodo, e n˜ao `a comunica¸c˜ao entre cada par de nodo.
2.6 MON
O MON [20, 19],Management Overlay Network, ´e um sistema distribu´ıdo projetado para facilitar o gerenciamento de aplica¸c˜oes distribu´ıdas. Para tanto, o MON constr´oi estru- turas overlay que permitem aos usu´arios executarem comandos instantˆaneos de gerenci- amento, tais como consultar o estado atual da aplica¸c˜ao e dos nodos, ou enviar arquivos para todos os nodos. A estruturaoverlay ´e respons´avel por propagar os comandos para to- dos os nodos, e coletar o resultado. Esta estrutura ´e constru´ıda sob-demanda, desta forma n˜ao s˜ao necess´arios mecanismos de recupera¸c˜ao de falhas complexos, j´a que a estrutura n˜ao ´e mantida por longos per´ıodos de tempo.
Cada nodo roda um servidor MON, que ´e constitu´ıdo de 3 camadas: gerenciamento de membros, constru¸c˜ao das estruturas overlay e gerenciamento do sistema distribu´ıdo.
O gerenciamento de membros ´e respons´avel por monitorar outros nodos a fim de manter uma lista de nodos vivos. Para tanto, cada nodo mant´em uma lista parcial dos nodos do sistema. Periodicamente, escolhe um nodo aleat´orio desta lista para o qual envia uma mensagem contendo sua lista parcial, a fim de atualizar a lista parcial do outro nodo.
Ao receber a resposta, a lista parcial ´e atualizada. Com este monitoramento, a pr´oxima camada do MON utiliza a informa¸c˜ao dos nodos que est˜ao vivos e falhos para a constru¸c˜ao das estruturas overlays, quando requisitada. Por fim, a ´ultima camada ´e respons´avel por propagar os comandos de gerenciamento, ou arquivos, enviados pelo usu´ario, por meio da estrutura overlay criada pela camada anterior. Dentre os comandos suportados pelo MON, ´e poss´ıvel executar consultas para obter informa¸c˜oes acerca dos recursos dos nodos (como CPU e mem´oria), ou informa¸c˜oes sobre a estruturaoverlay (como n´umero de nodos e topologia). Com estas consultas, tamb´em ´e poss´ıvel selecionar nodos que satisfa¸cam crit´erios desejados.
O monitoramento do MON considera apenas se o nodo est´a falho ou n˜ao para, a partir desta informa¸c˜ao, construir as estruturasoverlay requisitadas. Desta forma difere do pre- sente trabalho, j´a que o monitoramento utilizado neste considera o estado da comunica¸c˜ao entre cada par de nodos, e n˜ao apenas se os nodos est˜ao falhos ou n˜ao.
2.7 SWORD
O SWORD [8] ´e uma infraestrutura para descoberta de recursos que permite ao usu´ario descrever os recursos desejados como um topologia de grupos interconectados, com requi- sitos referentes ao estado de cada nodo e `as caracter´ısticas entre nodos e entre grupos.
Em outras palavras, o SWORD ´e uma ferramenta para encontrar um grupo de nodos que apresentam caracter´ısticas desejadas. Estas caracter´ısticas podem ser referentes ao estado do pr´oprio nodo (como uso de CPU e mem´oria), ou referentes `a intera¸c˜ao entre os nodos (como latˆencia).
A arquitetura do SWORD ´e dividida em 3 componentes: o primeiro ´e respons´avel pela especifica¸c˜ao das caracter´ısticas desejadas; o segundo ´e respons´avel pelo processamento da busca pelos nodos que satisfazem as caracter´ısticas definidas; o terceiro ´e um otimizador respons´avel por encontrar o melhor conjunto de nodos dentre os nodos encontrados pelo componente anterior. ´E neste otimizador que as restri¸c˜oes entre nodos especificadas pelo usu´ario s˜ao aplicadas.
Para que a arquitetura do SWORD funcione ´e necess´ario obter de outro sistema os dados de monitoramento dos nodos do sistema. Na implementa¸c˜ao do SWORD no Pla- netLab, s˜ao utilizados os dados do CoMon sobre os nodos.
O SWORD ´e o trabalho mais pr´oximo do apresentado nesta disserta¸c˜ao, pois ´e uma ferramenta voltada especificamente para a sele¸c˜ao de nodos. O SWORD n˜ao trata do monitoramento dos nodos, apenas apresenta um algoritmo para sele¸c˜ao a partir de dados de monitoramento obtidos de outro sistema. Por´em, o SWORD tem uma vers˜ao online, possibilitando assim seu uso. Um experimento comparando os nodos selecionados pelo SWORD e pela ferramenta desenvolvida foi realizado e ´e descrito no cap´ıtulo 5. Como utiliza os dados do CoMon, a vers˜ao dispon´ıvel para uso do SWORD apresenta as mes- mas diferen¸cas do CoMon com rela¸c˜ao ao presente trabalho, ou seja, utiliza apenas dados referentes ao estado dos pr´oprios nodos, n˜ao da intera¸c˜ao entre eles, e os dados correspon- dem apenas a ´ultima medi¸c˜ao do CoMon. J´a no presente trabalho, a medida utilizada ´e o RTT entre cada par de nodos e ´e poss´ıvel utilizar dados referentes a diferentes per´ıodos de tempo, n˜ao apenas as ´ultimas medi¸c˜oes.
CAP´ ITULO 3
MONITORAMENTO OFFLINE DO PLANETLAB
Este cap´ıtulo descreve uma estrat´egia de monitoramentooffline do PlanetLab, bem como resultados de experimentos realizados [14]. No decorrer do texto, os trˆes experimentos realizados ser˜ao referenciados como experimento 1, 2 e 3. A se¸c˜ao 3.1 descreve a im- plementa¸c˜ao offline da estrat´egia de monitoramento. A se¸c˜ao 3.2 descreve resultados experimentais.
3.1 Estrat´ egia de Monitoramento Offline
Uma estrat´egia de monitoramentooffline para encontrar um grupo de nodos em que todos os nodos comunicam-se entre si de forma est´avel. Chamamos tal grupo de nodos de uma Clique Est´avel: se o PlaneLab ´e representado por um grafoG= (V, E) no qual as arestas correspondem a canais de comunica¸c˜ao classificados como est´aveis, uma clique [13] ´e um subgrafo completo deG. Estas cliques podem ser vistas como uma parte est´avel de uma rede inst´avel.
Na estrat´egia adotada os nodos monitoraram continuamente cada outro nodo, medindo periodicamente o RTT. Baseado nos dados do monitoramento, cada par de nodos ´e clas- sificado como est´avel ou inst´avel de acordo com um crit´erio descrito nesta se¸c˜ao. Esta classifica¸c˜ao representa o hist´orico de estabilidade de cada nodo, do ponto de vista de cada outro, pois registra as mudan¸cas na classifica¸c˜ao que ocorreram com o passar do tempo. A partir da classifica¸c˜ao foram gerados grafos, nos quais foram computadas as cliques m´aximas.
A implementa¸c˜ao desta estrat´egia foi feita por meio de um daemon presente em cada nodo. Este daemon enviava periodicamente uma mensagem para cada outro nodo, por meio de um socket UDP (User Datagram Protocol). Ao receber a resposta de cada mensagem, o nodo calculava o RTT e a varia¸c˜ao do RTT, usando uma abordagem baseada
noTimeOut (TO) de van Jacobson [18].
Ap´os o t´ermino do per´ıodo de monitoramento, os dados de todos os nodos foram coletados. Estes dados foram utilizados para modelar o sistema como um conjunto de grafos n˜ao direcionados. Um grafo Gt = (V, Et) foi gerado para um instante de tempo t, em que V ´e o conjunto de nodos que executaram o experimento e Et o conjunto de arestas que estavam presentes no tempo t. Uma aresta entre dois nodos significa que ambos comunicam-se entre si de forma est´avel, ou seja, cada um considerou o outro est´avel. Foram encontrados diversos casos onde um nodo iconsiderou um nodoj est´avel, mas j n˜ao considerou i est´avel. Nestes casos i, j /∈Et.
A figura 3.1 mostra a varia¸c˜ao do RTT de um nodo classificado como inst´avel pela maioria dos nodos durante todo o per´ıodo de monitoramento. Esta amostra de RTT em particular foi obtida do ponto de vista do nodo cujo v´ertice apresentou o maior grau nos grafos gerados no experimento 1.
Figura 3.1: Varia¸c˜ao do RTT de um nodo inst´avel.
Ap´os os grafos Gt serem constru´ıdos, foi executado um algoritmo para encontrar o que chamamos de Cliques Est´aveis em Gt, isto ´e, um subgrafo de Gt em que existe uma aresta de cada nodo para cada outro. Um grafo foi gerado a cada 15 minutos do per´ıodo monitorado. Para determinar se um par de nodos apresenta um padr˜ao est´avel de comu- nica¸c˜ao, foi considerado a varia¸c˜ao do RTT como principal medida. A estrat´egia usada para classificar a comunica¸c˜ao dos nodos como est´avel ou n˜ao emprega o TO (TimeOut) de Jacobson, que baseia-se fortemente na varia¸c˜ao do RTT observada. Al´em do pr´oprio
TO, a classifica¸c˜ao emprega um valor de limiar ajust´avel, calculado empiricamente. Se uma fun¸c˜ao do TO de um dado par de nodos estava abaixo do limiar, ent˜ao o par de nodos ´e classificado como est´avel. Do contr´ario, ´e classificado como inst´avel. Note que conforme o passar do tempo, a classifica¸c˜ao de um par de par de nodos em espec´ıfico pode se alterar de est´avel para inst´avel, e vice-versa. Os tamanhos das cliques para v´arios diferentes limiares foram avaliados.
O TO ´e atualizado para cada medida i do RTT. Seja T Oi a m´edia ponderada do TO calculado anteriormente e a medida atual do RTT. Esta m´edia atua como um filtro estat´ıstico para remover ru´ıdos da curva do TO, tornando mais f´acil a tarefa de encontrar os vales da curva do TO, descritos abaixo. O TO ´e calculado conforme a equa¸c˜ao abaixo.
Na equa¸c˜ao, ∆(RT Ti) ´e a m´edia ponderada das medidas do RTT. |∆(RT Ti)−RT T| corresponde a diferen¸ca do ´ultimo valor de RTT e a m´edia ponderada. Nos experimentos foram utilizados α= 0.9 e β = 4.
T Oi =α∗T Oi−1+ (1−α)∗(∆(RT Ti) +β∗ |∆(RT Ti)−RT T|)
E importante calcular um limiar “justo” que permite classificar os nodos como est´aveis´ ou inst´aveis. Considerando a curva do TO, exemplificada na figura 3.2, ela frequentemente apresenta uma s´erie de cristas e vales. Um vale corresponde a valores baixos de TO e a varia¸c˜ao do RTT tamb´em ´e baixa. Uma crista corresponde a per´ıodos em que h´a uma varia¸c˜ao maior de medidas consecutivas de RTT. O limiar ´e determinado observando a varia¸c˜ao do RTT e as curvas do TO. Inicialmente, a curva calculada para um par de nodos
´e suavisada com um filtro estat´ıstico. A comunica¸c˜ao entre o par de nodos ´e considerada est´avel durante os per´ıodos em que os vales da curva suavisada est˜ao abaixo do limiar.
O exemplo na figura 3.2 mostra o uso de um limiar de 400ms para determinar a estabilidade de um nodo. Esta curva do TO foi calculada para um nodo que foi monitorado por 4 horas e 30 minutos no experimento 1. Os c´ırculos pequenos mostram os vales do TO. At´e `as 03:30 do dia 15 de Outubro, o RTT apresentou uma varia¸c˜ao alta, e os vales do TO tamb´em foram altos. A varia¸c˜ao do RTT ent˜ao diminuiu, assim como os valores dos vales do TO. No per´ıodo em que os vales est˜ao em sua maioria acima do limiar, o nodo
´e classificado como RUIM (inst´avel). No caso contr´ario, quando os vales do TO est˜ao
abaixo do limiar, o nodo ´e classificado como BOM (est´avel). O gr´afico tamb´em mostra que o crit´erio de classifica¸c˜ao n˜ao leva em conta varia¸c˜oes breves no valor dos vales do TO, o que poderia levar a uma classica¸c˜ao incorreta.
Figura 3.2: Um limiar ´e usado para classificar os nodos.
3.2 Resultados
Baseado nos dados obtidos com a classifica¸c˜ao dos nodos em cada experimento, um algo- ritmo de buscas de cliques foi utilizado para encontrar as Cliques Est´aveis. Uma descri¸c˜ao deste algoritmo pode ser encontrada em [14].
O experimento 1 durou 7 dias, de 11 de outubro de 2008, 00:00:00 (GMT -3), at´e 18 de outubro de 2008, 00:00:00 (GMT -3), e envolveu 519 nodos, dos quais 200 foram considerados para a elabora¸c˜ao dos resultados. O experimento 2 durou 8 dias, de 8 de julho de 2009, 00:00:00 (GMT), at´e 16 de julho de 2009, 00:00:00 (GMT), e envolveu 631 nodos, dos quais apenas 400 foram considerados. O experimento 3 durou 12 dias, de 18 de outubro de 2009, 00:00:00 (GMT), at´e 30 de outubro de 2009, 00:00:00 (GMT), e envolveu 638 nodos dos quais 461 foram considerados. Em cada um dos trˆes experimentos, o intervalo de tempo entre a gera¸c˜ao de cada grafo foi de 15 minutos, totalizando 4 grafos por hora.
Como descrito na se¸c˜ao 3.1, um limiar foi empregado para classificar os nodos como est´aveis ou inst´aveis a partir do ponto de vista de cada outro outro. Isto permitiu que o c´alculo de caracter´ısticas como vis˜oes assim´etricas, em que um nodo ´e considerado est´avel
por outro, mas o outro n˜ao considera ele est´avel. A figura 3.3 mostra a porcentagem de vis˜oes assim´etricas obtidas no experimento 1, para diferentes valores de limiar, con- siderando todos os pares de nodos que foram monitorados.
Figura 3.3: Taxa de assimetria na classifica¸c˜ao dos nodos.
Ap´os a classifica¸c˜ao de todos os pares de nodos, um grafo n˜ao direcionado ´e constru´ıdo.
Neste grafo, os v´ertices s˜ao os nodos e existe uma aresta adjacente aos nodos u e v se e somente se ambos os nodos classificaram o outro como est´avel, ou seja, eles n˜ao apresentam vis˜oes assim´etricas.
O comportamento do sistema para diferentes valores de limiar foi estudado. Para o experimento 1, valores de limiar de 400ms, 600ms, 1000ms e 2000ms foram usados; para os experimentos 2 e 3, valores de 200ms, 400ms e 600ms foram usados. No experimento 1, 7×24×4×4 = 2688 grafos foram constru´ıdos, no experimento 2, 8×24×4×3 = 2304 grafos foram constru´ıdos e no experimento 3 gerou 12×24×4×3 = 3456 grafos. No total 8448 grafos foram constru´ıdos. Estes s˜ao os grafos em que foram computadas as cliques m´aximas utilizando o algoritmo descrito em [14].
As figuras 3.4, 3.5 e 3.6 mostram o tamanho da clique m´axima para cada grafo nos experimentos 1, 2 e 3. Como esperado, o tamanho da clique m´axima aumenta conforme o limiar aumenta. Mas observa-se que, conforme o limiar aumenta, a distin¸c˜ao entre est´avel e “n˜ao t˜ao est´avel” torna-se confusa, j´a que muitos comportamentos, mesmo inst´aveis, ser˜ao considerados est´aveis dentro do n´ıvel de estabilidade representado pelo limiar muito alto. De fato, quando um limiar mais alto ´e empregado, v´arios pares de nodos com
diferentes n´ıveis na varia¸c˜ao do RTT s˜ao classificados como est´aveis; enquanto um limiar mais baixo os teria diferenciado.
Figura 3.4: Varia¸c˜ao do tamanho da clique m´axima para o experimento 1.
Figura 3.5: Varia¸c˜ao do tamanho da clique m´axima para o experimento 2.
Outro resultado interessante foi obtido quando a clique m´axima foi computada a par- tir da interse¸c˜ao de todos os grafos para cada experimentos e cada limiar. Esta clique corresponde a um grupo de nodos que mantiveram-se como uma clique durante todo o experimento, ou seja, cada nodo na clique classificou cada outro como est´avel em todos os grafos. A tabela 3.1 mostra o tamanho das cliques m´aximas nas interse¸c˜oes para cada experimento e limiar.
Al´em da intersec¸c˜ao de todos os grafos, outro resultado interessante ´e o tamanho da clique m´axima no grafo resultante da interse¸c˜ao de grafos referentes a per´ıodos menores de tempo. A obten¸c˜ao deste resultado foi motivada pelo fato de que algumas aplica¸c˜oes distribu´ıdas precisam de nodos muito est´aveis durante intervalos de tempo menores do
Figura 3.6: Varia¸c˜ao do tamanho da clique m´axima para o experimento 3.
Experimento Limiar Tamanho
1 400 59
1 600 91
1 1000 117
1 2000 149
2 200 78
2 400 153
2 600 196
3 200 42
3 400 85
3 600 114
Tabela 3.1: Tamanho da clique m´axima na interse¸c˜ao de todos os grafos.
que os dos experimentos. Em tais casos, o conhecimento do maior grupo de nodos que formam uma clique por um curto per´ıodo de tempo ´e a informa¸c˜ao necess´aria.
Para cada um dos experimentos e limiares, foi computada a clique m´axima nos grafos que foram constru´ıdos durante um dia e uma hora. Os resultados s˜ao mostrados nas tabelas 3.2 e 3.3, respectivamente. A tabela 3.2 mostra o tamanho m´edio das cliques m´aximas calculadas a cada dia para cada experimento e cada limiar. A tabela 3.3 mostra o tamanho m´edio das cliques m´aximas calculadas a cada hora para cada experimento e limiar.
Experimento Limiar Tamanho m´edio
1 400 90.142
1 600 118.285
1 1000 147.000
1 2000 173.714
2 200 103.375
2 400 185.500
2 600 228.125
3 200 79.416
3 400 151.250
3 600 196.250
Tabela 3.2: Tamanho m´edio da clique m´axima para o per´ıodo de um dia.
Experimento Limiar Tamanho m´edio
1 400 114.130
1 600 143.113
1 1000 167.541
1 2000 185.720
2 200 128.322
2 400 212.307
2 600 257.505
3 200 108.805
3 400 192.642
3 600 243.465
Tabela 3.3: Tamanho m´edio da clique m´axima para o per´ıodo de uma hora.
CAP´ ITULO 4
MONITORAMENTO ONLINE DO PLANETLAB
Este cap´ıtulo descreve a principal contribui¸c˜ao deste trabalho: uma estrat´egia online de monitoramento e sele¸c˜ao de nodos para execu¸c˜ao de experimentos no PlanetLab. A estrat´egia foi implementada em uma ferramenta dispon´ıvel na Web1.
A se¸c˜ao 4.1 descreve a estrat´egia de monitoramento dos nodos do PlanetLab, assim como o armazenamento e sumariza¸c˜ao dos dados do monitoramento. Na se¸c˜ao 4.2 s˜ao descritas as estrat´egias de sele¸c˜ao de nodos. A se¸c˜ao 4.3 detalha a implementa¸c˜ao da ferramenta.
4.1 Estrat´ egia de Monitoramento Online
A estrat´egia de monitoramento online ´e executada por todos os nodos do PlanetLab.
Periodicamente, cada nodo envia uma mensagem para cada outro nodo e espera uma resposta. Ao obter a resposta de um nodo, o RTT da mensagem ´e calculado e enviado a um servidor que precisa estar vis´ıvel. Os intervalos de tempo s˜ao medidos no rel´ogio local de cada m´aquina. Os rel´ogios s˜ao sincronizados com NTP (Network Time Protocol) [3].
Uma caracter´ıstica da estrat´egia ´e que o RTT ´e medido na camada de aplica¸c˜ao, por isso o seu valor pode variar n˜ao apenas pelas condi¸c˜oes da rede, mas tamb´em pelas condi¸c˜oes do pr´oprio nodo, como a quantidade de processos na fila do escalonador, uso de CPU, entre outros. O monitoramento, portanto, ´e fim-a-fim.
Um servidor ´e respons´avel por armazenar e sumarizar os valores de RTT recebidos dos nodos. A sumariza¸c˜ao dos dados tem como objetivo diminuir o espa¸co em disco necess´ario para armazenar os dados, possibilitando guard´a-los por um per´ıodo de tempo maior. No monitoramento, novos valores de RTT s˜ao armazenados sem altera¸c˜ao. Em horas cheias, os valores de RTT referentes a antepen´ultima hora s˜ao sumarizados, e os
1http://planetmon.c3sl.ufpr.br
dados originais s˜ao descartados. Assim, o servidor est´a sempre armazenando os valores de RTT sem altera¸c˜ao referentes `a hora anterior, e a hora atual. Ao sumarizar os dados referentes a uma hora, s˜ao calculadas a m´edia, desvio padr˜ao, valor m´ınimo e m´aximo do RTT dentro daquele per´ıodo, para cada par de nodos. Da mesma forma, na virada do dia, o antepen´ultimo dia ´e sumarizado. Mˆes e ano tamb´em s˜ao sumarizados analogamente.
4.2 Estrat´ egias de Sele¸ c˜ ao de Nodos
A partir dos dados de monitoramento armazazenados, o servidor gera grafos que s˜ao utilizados na sele¸c˜ao de nodos. Nos grafos gerados pelo servidor, cada v´ertice ´e um nodo da rede, e uma aresta entre dois v´ertices corresponde a uma comunica¸c˜ao est´avel entre os nodos referentes aos dois v´ertices. A defini¸c˜ao de estabilidade segue abaixo.
Para gerar os grafos, dois parˆametros s˜ao necess´arios: limiar para o RTT e per´ıodo de tempo. Com isso, para cada par de nodos (a, b), s˜ao contados quantos valores de RTT (ou m´edia do RTT, caso estejam sendo usados dados sumarizados) existem dentro do per´ıodo desejado, e quantos valores s˜ao menores ou iguais ao limiar. Caso pelo menos 90% dos valores sejam menores ou iguais ao limiar, ´e dito que o nodoaconsiderab est´avel naquele per´ıodo e para aquele limiar. Se b tamb´em considerar a est´avel, ent˜ao existe uma aresta entre a e b. Este processo resulta em um grafo G = (V, E) que representa a rede no per´ıodo e limiar especificados, ondeV representa os nodos do PlanetLab, e E os pares de nodos com comunica¸c˜ao considerada est´avel.
V´arias estrat´egias de sele¸c˜ao de nodos foram definidas, s˜ao elas: Grau M´ınimo, Maior Grau M´ınimo, Subgrafo com Grau M´ınimo, Subgrafo com Maior Grau M´ınimo e Clique Est´avel. Estas estrat´egias s˜ao descritas nas subse¸c˜oes seguintes e ser˜ao referenciadas no restante deste trabalho como GM, M GM, SGM, SM GM e CE, respectivamente.
4.2.1 Grau M´ınimo
A estrat´egia do Grau M´ınimo (GM) consiste em filtrar os nodos pelo seus graus no grafo que representa o sistema. O parˆametro desta estrat´egia ´e o grau m´ınimo. Nodos com
grau igual ou maior ao grau m´ınimo desejado s˜ao selecionados. Esta estrat´egia ´e a menos restritiva, e baseia-se somente no fato de que um nodo com grau alto comunica-se de forma est´avel com um grande n´umero de nodos. N˜ao existe nenhuma restri¸c˜ao entre os nodos selecionados, como no caso da Clique Est´avel, por exemplo, onde devem haver arestas entre todos os pares de nodos. Desta forma, esta estrat´egia ´e a que seleciona o maior n´umero de nodos.
A figura 4.1 mostra o subgrafo formado por 61 nodos com grau m´ınimo 100 no grafo original, selecionados com a estrat´egia GM. Observa-se que os nodos formaram dois grupos desconexos. O grafo utilizado para selecionar os nodos mostrados na figura corres- ponde a um per´ıodo de uma hora, de 00:00:00 do dia 9 de Fevereiro de 2011 at´e 00:59:59 do mesmo dia e limiar 0.05s. Os n´umeros nos nodos s˜ao identificadores usados internamente pela ferramenta.
Figura 4.1: 61 nodos com grau m´ınimo 100 no grafo original.
4.2.2 Maior Grau M´ınimo
A estrat´egia do Maior Grau M´ınimo (M GM) consiste em encontrar o maior grau m´ınimo poss´ıvel que, aplicando a estrat´egiaGM, resulte em uma quantidade m´ınima desejada de nodos. Assim, o parˆametro desta estrat´egia ´e o n´umero m´ınimo de nodos. Em outras palavras, esta estrat´egia seleciona um grupo de nodos, com tamanho m´ınimo especificado, cujo grau m´ınimo no grafo ´e o maior poss´ıvel.
Para encontrar o maior grau m´ınimo que resulte em um grupo de nodos com um tamanho m´ınimo desejado, ´e executada uma busca bin´aria. Esta busca bin´aria inicia com um valor de grau m´ınimo igual a metade do total de nodos. Para testar cada valor de grau m´ınimo percorrido durante a busca, s˜ao selecionados nodos com o uso da estrat´egia GM, ou seja, seleciona-se nodos com grau igual ou maior ao valor em quest˜ao. Ent˜ao verifica-se se a quantidade de nodos selecionados ´e maior ou igual `a quantidade m´ınima de nodos desejada. A busca bin´aria ´e orientada pelo resultado destes testes. No fim da busca, tem-se o maior grau m´ınimo que resultou em um grupo de nodos com tamanho maior ou igual ao tamanho desejado.
A figura 4.2 mostra o subgrafo formado por 100 nodos selecionados com a estrat´egia M GM. O grau m´ınimo dos nodos selecionados, no grafo original, foi de 85. Observa-se que os nodos formaram dois grupos desconexos. O grafo usado para esta sele¸c˜ao ´e o mesmo da figura 4.1.
Figura 4.2: 100 nodos selecionados com a estrat´egia M GM.
4.2.3 Subgrafo com Grau M´ınimo
O objetivo da estrat´etia do Subgrafo com Grau M´ınimo (SGM) ´e encontrar um subgrafo com o grau m´ınimo desejado, ou seja, um grupo de nodos com um grau m´ınimo entre eles. O parˆametro desta estrat´egia, portanto, ´e o grau m´ınimo. Esta estrat´egia ´e mais restritiva que apenas filtrar os nodos pelo grau, como nas estrat´egias GM e M GM, pois os nodos selecionados tem um grau m´ınimo no subgrafo formado por eles. Mas n˜ao ´e t˜ao restritiva quanto uma clique, em que o grau de todos os nodos ´e o maior poss´ıvel dentro do grupo.
Para encontrar um subgrafo com um grau m´ınimo desejado, os nodos s˜ao filtrados sucessivamente pelo seu grau, utilizando a estrat´egiaGM, at´e que se tenha um grupo de nodos com o grau m´ınimo desejado entre eles. Come¸cando com o grafo inteiro, filtra-se os nodos pelo grau m´ınimo, resultando em um subgrafo. Os nodos deste subgrafo s˜ao filtrados novamente pelo grau m´ınimo. Este processo repete-se at´e que o grau m´ınimo do subgrafo seja igual ou maior ao grau m´ınimo desejado, ou at´e que seja imposs´ıvel encontrar tal grupo (n´umero de nodos no subgrafo menor ou igual ao grau m´ınimo desejado). Desta forma, obt´em-se o maior grupo de nodos cujo subgrafo formado por eles tem o grau m´ınimo especificado.
A figura 4.3 mostra o subgrafo selecionado com grau m´ınimo 44, cujo tamanho foi de 137 nodos. Observa-se que neste caso os nodos formaram dois grupos desconexos, mesmo com a restri¸c˜ao do grau m´ınimo entre os nodos selecionados. O grafo usado para esta sele¸c˜ao ´e o mesmo da figura 4.1.
Figura 4.3: Subgrafo de 137 nodos com grau m´ınimo 44 entre eles
4.2.4 Subgrafo com Maior Grau M´ınimo
A estrat´egia do Subgrafo com Maior Grau M´ınimo (SM GM) consiste em encontrar o maior grau m´ınimo poss´ıvel que, aplicando a estrat´egia doSGM, resulte em uma quanti- dade m´ınima desejada de nodos. Assim, o parˆametro desta estrat´egia ´e o n´umero m´ınimo de nodos. Em outras palavras, o objetivo desta estrat´egia ´e selecionar um grupo de nodos, com tamanho m´ınimo especificado, cujo grau m´ınimo dentro do grupo ´e o maior poss´ıvel.
Para encontrar o subgrafo com o maior grau m´ınimo, que contenha o n´umero m´ınimo de nodos desejado, ´e feita uma busca bin´aria an´aloga a feita na estrat´egia M GM para encontrar o maior grau m´ınimo que resulte em um grupo com um tamanho m´ınimo desejado.
A figura 4.4 mostra 62 nodos selecionados com a estrat´egia doSM GM. O grau m´ınimo do subgrafo foi de 45, ou seja, os 62 nodos selecionados tem grau m´ınimo 45 entre eles.
O grafo usado para esta sele¸c˜ao ´e o mesmo da figura 4.1.
Figura 4.4: 62 nodos com grau m´ınimo 45 entre eles.
4.2.5 Clique Est´ avel
A estrat´egia da Clique Est´avel (CE) consiste em encontrar uma clique [13] - um subgrafo completo - no grafo que representa o sistema, ou seja, existe uma aresta entre todos os pares de nodos selecionados.
O problema da busca de cliques ´e exponencial e pertence `a categoria NP-dif´ıcil [16].
Assim, encontrar a maior clique em grafos com um grande n´umero de arestas como no caso dos grafos gerados pela ferramenta desenvolvida ´e invi´avel, pois uma ferramenta online para selecionar nodos para um experimento deve retornar rapidamente os nodos
selecionados. Para contornar o problema, a estrat´egia CE necessita de dois parˆametros:
o tamanho m´ınimo da clique desejada, e o tempo m´aximo de execu¸c˜ao da busca. O procedimento de busca de cliques ´e executado at´e que uma clique com tamanho igual ou maior que o paramˆetro seja encontrada. Al´em disto, caso tal clique n˜ao seja encontrada no limite de tempo especificado, a maior clique encontrada at´e ent˜ao ´e selecionada.
Esta estrat´egia ´e a que seleciona o menor n´umero de nodos, pois ´e bastante restritiva:
uma aresta deve existir entre todos os pares de nodos selecionados. Por´em, esta carac- ter´ıstica significa que qualquer dos nodos selecionados comunicou-se de forma considerada est´avel com qualquer um dos outros nodos durante o per´ıodo informado na cria¸c˜ao do grafo, o que pode ser importante, dependendo do experimento a ser realizado. A figura 4.5 mostra uma clique de 30 nodos. O grafo usado para esta sele¸c˜ao ´e o mesmo da figura 4.1.
Figura 4.5: Clique de 30 nodos selecionada.
4.3 Implementa¸ c˜ ao da Ferramenta
Foi criada uma ferramenta que implementa a estrat´egia de monitoramento e as estrat´egias de sele¸c˜ao de nodos descritas na se¸c˜ao anterior. A ferramenta foi escrita inteiramente na linguagem de programa¸c˜ao Python [6] e foi dividida em 3 m´odulos: monitoramento, servidor e cliente. O m´odulo de monitoramento ´e respons´avel por monitorar o RTT entre cada par de nodos do PlanetLab, enviando todos os dados para o m´odulo servidor. O m´odulo servidor ´e respons´avel por armazenar e sumarizar os dados, al´em de gerar grafos a partir destes dados, conforme solicitado pelo m´odulo cliente. O m´odulo cliente requisita grafos do m´odulo servidor, e a partir destes grafos faz a sele¸c˜ao de nodos. Cada um destes m´odulos ´e descrito nas pr´oximas subse¸c˜oes.
A figura 4.6 mostra a organiza¸c˜ao em m´odulos da ferramenta implementada. O m´odulo monitor est´a presente em cada nodo do PlanetLab. Os nodos enviam os dados do mo- nitoramento para o servidor, que utiliza-os para gerar os grafos requisitados pelo cliente.
Utilizando o grafo gerado pelo servidor, o cliente seleciona os nodos conforme solicitado pelo usu´ario.
PlanetLab
Dados de Monitoramento
Nodos Selecionados
Requisição Grafo
Servidor
Figura 4.6: M´odulos da ferramenta implementada.
4.3.1 M´ odulo de Monitoramento
O m´odulo de monitoramento ´e constitu´ıdo de um daemon executado em cada um dos nodos do PlanetLab. Estedaemon ´e respons´avel por: enviar mensagens a todos os nodos e receber as respostas; e responder as mensagens enviadas por outros nodos.
Periodicamente, o daemon presente em cada nodo envia uma mensagem para cada outro nodo, por meio de um socket UDP, guardando a hora de envio de cada mensagem.
Chamamos o per´ıodo de envio destas mensagens de intervalo de medi¸c˜ao. Conforme o daemon aguarda o intervalo de medi¸c˜ao para enviar mensagens novamente, ele recebe as respostas referentes as mensagens rec´em enviadas, calculando e armazenando o tempo de resposta (RTT) de cada uma. Um timeout foi empregado para estas respostas, de forma que se alguma resposta demorar mais que o valor do timeout para chegar, ou n˜ao chegar antes do daemon enviar mensagens novamente, o valor do RTT para aquela mensagem ´e contabilizado com o valor dotimeout. Ap´os o t´ermino do intervalo de medi¸c˜ao, todos os valores de RTT s˜ao enviados ao servidor de uma s´o vez por meio de um socket TCP (Transmission Control Protocol). Ap´os isto, odaemon envia mensagens para todos os nodos novamente.
Uma caracter´ıstica desta implementa¸c˜ao ´e que, como j´a dito na se¸c˜ao 4.1, o RTT
´e medido na camada de aplica¸c˜ao, por isso o seu valor pode variar n˜ao apenas pelas condi¸c˜oes da rede, mas tamb´em pelas condi¸c˜oes do pr´oprio nodo, como a quantidade de processos na fila do escalonador, uso de CPU, entre outros. Caso odaemon demore para ser escalonado, por exemplo, a resposta para uma mensagem vinda de outro nodo pode demorar mais para ser enviada, resultando em um RTT maior.
4.3.2 M´ odulo Servidor
O m´odulo servidor consiste em um daemon executado em uma m´aquina qualquer - que aceite conex˜oes vindas da Internet - e de um banco de dados. O banco de dados utilizado foi o PostgreSQL [5], vers˜ao 8.4.4. O daemon ´e respons´avel por: receber e armazenar os dados dos nodos, sumarizar os dados e responder requisi¸c˜oes do m´odulo cliente.
Para receber os dados dos nodos ´e utilizado um socket TCP para esperar por conex˜oes
vindas dos nodos. Quando uma conex˜ao ´e feita, os dados recebidos s˜ao adicionados em uma fila, para serem inseridos no banco de dados assim que poss´ıvel. Al´em de armazenar os dados de monitoramento, o servidor sumariza as amostras permitindo que um longo hist´orico permane¸ca armazenado. De hora em hora, odaemon sumariza os dados referen- tes `a antepen´ultima hora, e verifica se o dia, mˆes ou ano mudaram, para tamb´em sumarizar o antepen´ultimo dia, mˆes ou ano, conforme necess´ario. A sumariza¸c˜ao consiste em calcular a m´edia, desvio padr˜ao da m´edia, valor m´ınimo e m´aximo de todos os valores de RTT dentro per´ıodo sendo sumarizado. Este conjunto de dados ´e armazenado, e os valores originais s˜ao apagados. Desta forma, o per´ıodo sumarizado passa a ser representado por este conjunto de dados. Portanto, ao sumarizar o per´ıodo de um ano, por exemplo, ser˜ao utilizados 12 conjuntos de dados, um para cada mˆes. Cada mˆes foi sumarizado a partir de conjuntos de dados representando cada dia do mˆes (um para cada dia). Da mesma forma, cada dia foi anteriormente sumarizado a partir de 24 conjuntos de dados, um para cada hora. Cada hora foi sumarizada a partir dos valores crus de RTT armazenados durante o per´ıodo correspondente aquela hora.
Para tratar as requisi¸c˜oes feitas pelo m´odulo cliente, ´e utilizado um socket TCP para recebˆe-las. Uma requisi¸c˜ao ´e composta de um per´ıodo de tempo - expresso por 2 n´umeros representando come¸co e final, no formatoUnix Time - e o limiar do RTT em segundos. A partir destes parˆametros ´e feita uma consulta no banco de dados, que retorna, para cada par de nodos, a quantidade de valores de RTT (ou m´edia, no caso de dados sumarizados) dentro daquele per´ıodo, e a quantidade de valores de RTT que s˜ao menores ou iguais ao limiar dentro do per´ıodo. Para cada par de nodos (a, b), caso pelo menos 90% dos valores de RTT dea parab sejam menores ou iguais ao limiar, e deb paraa tamb´em, uma aresta existe entreaeb. Este procedimento gera uma lista de arestas, que ´e retornada ao m´odulo cliente, caracterizando o grafo requisitado pelo mesmo.
4.3.3 M´ odulo Cliente
O m´odulo cliente ´e respons´avel por requisitar grafos ao servidor e a partir dos grafos re- quisitados selecionar nodos conforme as estrat´egias de sele¸c˜ao descritas na se¸c˜ao 4.2. Uma
interface Web para o m´odulo cliente foi desenvolvida para facilitar o uso da ferramenta e torn´a-la dispon´ıvel para uso p´ublico. A sa´ıda deste m´odulo ´e a lista de nodos selecionados.
Tamb´em s˜ao disponibilizados para o usu´ario os grafos gerados, sem nenhuma sele¸c˜ao de nodos.
A figura 4.7 mostra a interface Web desenvolvida. Na caixa superior esquerda, o usu´ario seleciona qual grafo deseja usar na sele¸c˜ao de nodos. Um grafo correspondente
`a hora anterior est´a sempre dispon´ıvel. Na mesma caixa tamb´em ´e poss´ıvel requisitar outro grafo ao servidor, informando o limiar e o per´ıodo de tempo desejados. Na caixa superior direita o usu´ario informa os parˆametros para a sele¸c˜ao de nodos: n´umero m´ınimo de nodos, estrat´egia de sele¸c˜ao, grau - caso necess´ario - e se deseja que uma imagem do subgrafo formado pelos nodos selecionados seja gerada. O resultado da sele¸c˜ao de nodos
´e apresentado ao usu´ario na caixa inferior esquerda. A caixa inferior direita cont´em instru¸c˜oes de uso da interface Web. No rodap´e h´a um link para uma p´agina contendo uma lista de todos os nodos, com o estado de cada um: online, offline ou imposs´ıvel acessar. As informa¸c˜oes desta p´agina s˜ao atualizadas a cada 3 horas.
Figura 4.7: Interface Web.
Para fazer uma requisi¸c˜ao s˜ao necess´arios dois paramˆetros: per´ıodo e limiar. O per´ıodo
´e expresso por dois valores correspondentes ao inicio e ao fim do per´ıodo desejado, no
formato Unix Time. O limiar ´e expresso por um n´umero real, em segundos. Ap´os enviar a requisi¸c˜ao ao servidor, o cliente aguarda at´e receber os dados que correpondem ao grafo requisitado.
A partir do grafo requisitado, ´e poss´ıvel selecionar nodos com qualquer uma das es- trat´egias definidas. Estas estrat´egias, assim como todas as opera¸c˜oes de grafos, foram implementadas com o uso da biblioteca NetworkX [2].
CAP´ ITULO 5
RESULTADOS EXPERIMENTAIS
Este cap´ıtulo descreve os resultados experimentais obtidos com a ferramenta desenvolvida.
O ambiente dos experimentos ´e o PlanetLab, Quando os experimentos foram executados, o PlanetLab era composto por cerca de 1036 nodos em cerca de 578 locais ao redor do mundo. Os nodos s˜aohosts TCP/IP que comunicam-se por meio da Internet. Cada nodo ´e gerenciado por uma organiza¸c˜ao autˆonoma, as quais s˜ao filiadas ao PlanetLab. Diferentes nodos apresentam capacidades e ambientes diferentes. Al´em disso, n˜ao h´a reserva de tempo de processamento, os usu´arios utilizam os nodos simultaneamente, competindo pelos recursos, resultando em um ambiente de grande instabilidade.
Para a execu¸c˜ao dos experimentos fizemos quest˜ao de monitorar todos os nodos do PlanetLab, que no in´ıcio do desenvolvimento deste trabalho eram 1036. Uma lista destes nodos, ordenados pelos seus respectivos identificadores internos a ferramenta, pode ser encontrada no apˆendice A. Surpreendentemente, o n´umero de nodos que efetivamente executou o experimento, ficou, em um instante qualquer, entre 600 e 700 nodos. Isto ocorreu pois um grande n´umero de nodos alterna entre online e offline e alguns outros n˜ao foi sequer poss´ıvel acessar em nenhum momento. A cada 3 horas, um script tentava instalar odaemon respons´avel pelo monitoramento em todos os nodos que n˜ao estavam a execut´a-lo. Em todos os experimentos descritos neste cap´ıtulo, o intervalo de medi¸c˜ao do RTT foi de 5 minutos e otimeout de recebimento da resposta de uma mensagem entre os nodos foi de 10 segundos.
Trˆes grupos de experimentos foram realizados. Um destes grupos consistiu em uma an´alise de grafos obtidos durante 3 semanas de monitoramento no PlanetLab e das es- trat´egias de sele¸c˜ao aplicadas nestes grafos. Outro grupo de experimentos consistiu em uma compara¸c˜ao da ferramenta criada com outra ferramenta de sele¸c˜ao de nodos j´a exis- tente, por meio da execu¸c˜ao de uma aplica¸c˜ao MapReduce em nodos selecionados com
ambas as ferramentas. O terceiro grupo de experimentos consistiu em comparar os grafos obtidos a partir dos dados n˜ao sumarizados com os grafos obtidos a partir dos dados sumarizados.
Este cap´ıtulo est´a organizado da seguinte maneira. A se¸c˜ao 5.1 descreve a an´alise dos grafos obtidos a partir do monitoramento e das estat´egias de sele¸c˜ao de nodos. A se¸c˜ao 5.2 descreve os experimentos com o MapReduce, que teve como objetivo comparar a ferramenta criada com outra ferramenta de sele¸c˜ao de nodos j´a existente, o SWORD.
A se¸c˜ao 5.3 descreve os resultados dos experimentos com dados sumarizados.
5.1 An´ alise dos Grafos Obtidos e Estrat´ egias de Sele¸ c˜ ao
O per´ıodo de monitoramento deste experimento iniciou no dia 26 de janeiro de 2011, e terminou no dia 20 de mar¸co de 2011. A partir dos dados de monitoramento armazenados no servidor no decorrer deste per´ıodo, foram gerados grafos de hora em hora, das 00:00 de 30 de janeiro de 2011, domingo, at´e as 23:59 de 19 de fevereiro de 2011, s´abado, totalizando 21 dias, 3 semanas completas. Como foram gerados a cada hora, foram usados os dados sem nenhuma sumariza¸c˜ao. Os limiares usados na gera¸c˜ao dos grafos foram 0.05ms, 0.1ms, 0.15ms e 0.2ms, portanto 4 grafos por hora, totalizando 2016 grafos.
N˜ao foram utilizados limiares com valores maiores, pois estes resultam em grafos com uma quantidade extremamente grande de arestas. Assim, mesmo nodos que n˜ao apresentam as caracter´ısticas desejadas acabam tendo um grau alto nos grafos gerados.
A partir dos grafos gerados, v´arios resultados foram obtidos. Foram analisadas al- gumas caracter´ısticas dos grafos em si, sem nenhuma sele¸c˜ao de nodos. Al´em disso, as estrat´egias de sele¸c˜ao descritas no cap´ıtulo 4 foram aplicadas aos grafos a fim de obser- var suas caracter´ısticas e seu comportamento no decorrer do tempo e com o aumento do limiar. Assim, foi poss´ıvel comparar as diferentes estrat´egias de sele¸c˜ao.
Foram calculados os graus m´edio e m´aximo de todos os grafos gerados no experimento, sem nenhuma sele¸c˜ao, a fim de observar o comportamento destas caracter´ısticas ao longo do tempo. A figura 5.1 mostra a varia¸c˜ao do grau m´edio e grau m´aximo nos grafos gerados para todo o per´ıodo de 21 dias. Cada gr´afico mostra a varia¸c˜ao para um limiar diferente.
O eixo vertical indica o grau e o horizontal o per´ıodo. Observa-se que as curvas mant´em o mesmo padr˜ao para todos os limiares, apenas com valores maiores, como esperado. No gr´afico referente ao limiar de 0.1s, por exemplo, o grau m´edio ficou entre 50 e 60 em grande parte do per´ıodo. J´a o grau m´aximo teve uma varia¸c˜ao maior, ficando entre 200 e 250 em quase todo o per´ıodo.
0 20 40 60 80 100 120 140 160 180
29/01 00:00 31/01 00:00 02/02 00:00 04/02 00:00 06/02 00:00 08/02 00:00 10/02 00:00 12/02 00:00 14/02 00:00 16/02 00:00 18/02 00:00 20/02 00:00 Grau medio e Grau Maximo, Limiar 0.05
Grau medio Grau maximo
0 50 100 150 200 250
29/01 00:0031/01 00:0002/02 00:0004/02 00:0006/02 00:0008/02 00:0010/02 00:0012/02 00:0014/02 00:0016/02 00:0018/02 00:0020/02 00:0022/02 00:00 Grau medio e Grau Maximo, Limiar 0.1
Grau medio Grau maximo
50 100 150 200 250 300 350 400
29/01 00:0031/01 00:0002/02 00:0004/02 00:0006/02 00:0008/02 00:0010/02 00:0012/02 00:0014/02 00:0016/02 00:0018/02 00:0020/02 00:0022/02 00:00 Grau medio e Grau Maximo, Limiar 0.15
Grau medio Grau maximo
100 150 200 250 300 350 400 450 500
29/01 00:0031/01 00:0002/02 00:0004/02 00:0006/02 00:0008/02 00:0010/02 00:0012/02 00:0014/02 00:0016/02 00:0018/02 00:0020/02 00:0022/02 00:00 Grau medio e Grau Maximo, Limiar 0.2
Grau medio Grau maximo
Figura 5.1: Grau m´edio e m´aximo de hora em hora durante 3 semanas.
A figura 5.2 mostra a varia¸c˜ao do grau m´edio e m´aximo no decorrer de apenas um dia do per´ıodo mostrado na figura 5.1, para cada um dos limiares. No limiar de 0.05s, o grau m´edio ficou entre 20 e 30 e o grau m´aximo entre 130 e 150. No limiar de 0.1s, o grau m´edio ficou entre 60 e 70 e o grau m´aximo entre 220 e 240, em quase todo o per´ıodo.
No limiar de 0.15s, o grau m´edio ficou entre 100 e 110 em quase todo o per´ıodo e o grau m´aximo ficou entre 350 e 380. No limiar de 0.2s, o grau m´edio variou de 140 a 150 na maior parte do per´ıodo e o grau m´aximo de 440 a 450.
A tabela 5.1 mostra a m´edia e o desvio padr˜ao da m´edia do grau m´edio e grau m´aximo no per´ıodo todo, para cada limiar. Observa-se que o desvio padr˜ao da m´edia em cada