• Nenhum resultado encontrado

O gerador desenvolvido neste projeto, chamado Gerador de Sess˜oes Sint´eticas, teve como base para seu desenvolvimento, o benchmark HTTPerf. Assim, tinha-se o desafio de transformar uma carga gerada para servidores Web reais, em uma representa¸c˜ao dessa carga, sem perder parte de sua caracter´ıstica. Ent˜ao, de acordo com o HTTPerf, um n´umero de sess˜oes a serem geradas ´e definido pelo usu´ario, cada sess˜ao contendo um n´umero N2 de requisi¸c˜oes, enviadas ao servidor em rajadas contendo um n´umero L de requisi¸c˜oes, e espa¸cadas por um tempo de pensar X, que separa as rajadas consecutivas. O tempo entre as sess˜oes ´e gerado por uma fun¸c˜ao de distribui¸c˜ao que especifica o intervalo de tempo entre a cria¸c˜ao das sess˜oes.

A principal dificuldade encontrada durante o desenvolvimento deste trabalho foi modificar os parˆametros fixos do HTTPerf, pois esses n˜ao representam a realidade da Web, e os resultados obtidos com os experimentos realizados considerando o conceito de sess˜oes, n˜ao foram satis- fat´orios. Assim, para cada uma das caracter´ısticas das sess˜oes, foi buscada uma fundamenta¸c˜ao, seja na literatura, ou na forma de caracteriza¸c˜ao de uma carga de trabalho da Web.

Assim, o n´umero de sess˜oes N1 foi definido como parˆametro de entrada do usu´ario. Para o tamanho das sess˜oes, foi feita uma caracteriza¸c˜ao do log da Copa do Mundo de 1998, obtendo- se a porcentagem do tamanho das sess˜oes, dentro de cada intervalo desejado. Para as demais caracter´ısticas, rajada, tempo de pensar e tempo entre as sess˜oes, foram buscadas na literatura, fun¸c˜oes de distribui¸c˜ao que pudessem represent´a-las. Como as requisi¸c˜oes geradas possuem cinco campos, a gera¸c˜ao dos demais campos, classe do objeto, c´odigo de status e tamanho, foi baseada em trabalhos encontrados na literatura.

Em compara¸c˜ao ao demais geradores e benchmarks estudados, o gerador resultante deste trabalho foi escrito em Java, ´e uma ferramenta acadˆemica dispon´ıvel, de c´odigo aberto, em que pode-se criar m´ultiplos usu´arios. As requisi¸c˜oes HTTP geradas representam conte´udo est´atico e dinˆamico, est˜ao contidas em sess˜oes e s˜ao escritas em um arquivo log de sa´ıda.

A valida¸c˜ao da carga de trabalho do Gerador de Sess˜oes Sint´eticas se deu utilizando esses logs como entrada para o programa de simula¸c˜ao que representa o modelo SWDS, no qual foi avaliado o desempenho dos algoritmos de escalonamento FIFO, SBSA e SBSA-DS, dos mecanismos de controle de admiss˜ao que limita o tamanho da fila e a utiliza¸c˜ao do cluster, e

7.2 Conclus˜oes 115

dos algoritmos de controle de admiss˜ao CA-nBS, CA-BS e CA-H´ıb.

O algoritmo de controle de admiss˜ao, SBSA, tem por objetivo, atender as sess˜oes longas com prioridade, e para isso, utiliza-se um parˆametro de configura¸c˜ao k. Verificou-se atrav´es do experimento realizado que, quanto maior o valor de k, melhor o desempenho obtido pelas sess˜oes mais longas, e para valores de k > 0 o melhor desempenho do algoritmo em rela¸c˜ao ao algoritmo FIFO, comumente usado em servidores Web.

O algoritmo SBSA-DS, al´em de priorizar as sess˜oes longas, utilizando o parˆametro k, pri- oriza tamb´em as classes de servi¸cos que devem receber melhor tratamento, realizando ent˜ao, diferencia¸c˜ao de servi¸cos. No experimento realizado, foram utilizadas trˆes classes de servi¸cos com diferentes prioridades, e os resultados obtidos com k = 1, 5 foram comparados com os re- sultados obtidos com o algoritmo FIFO e o algoritmo SBSA. Verificou-se o melhor desempenho do algoritmo SBSA-DS para todas as classes de servi¸cos e para o sistema como um todo, em rela¸c˜ao ao algoritmo FIFO, atendendo com prioridade, as sess˜oes longas. Verificou-se tamb´em, o melhor desempenho do SBSA-DS, para o sistema como um todo e as classes priorit´arias (clas- ses A e B), em rela¸c˜ao ao algoritmo SBSA. Para a classe de menor prioridade, C, o desempenho dos dois algoritmos, para as sess˜oes longas, foi equivalente.

Nos experimentos realizados com os algoritmos de controle de admiss˜ao, CA-nBS, CA- BS e CA-H´ıb, tanto com o mecanismo que limita o tamanho da fila, como com o que limita a utiliza¸c˜ao m´edia do cluster, verificou-se o n˜ao descarte de sess˜oes j´a admitidas atrav´es do algoritmo CA-BS, obtendo-se a m´axima utiliza¸c˜ao dos recursos do sistema. Verificou-se tamb´em o baixo n´umero de descartes e abortos do algoritmo CA-H´ıb, obtendo maior utiliza¸c˜ao efetiva dos recursos do sistema que o algoritmo CA-nBS, pois esse escolhe para descarte as requisi¸c˜oes pertencentes `as menores sess˜oes. Os algoritmos CA-BS e CA-H´ıb finalizaram uma porcentagem maior de sess˜oes longas (os resultados obtidos com os algoritmos CA-H´ıb e CA-nBS para o mecanismo que limita a utiliza¸c˜ao m´edia do cluster se mostraram equivalentes).

O experimento realizado com os algoritmos Drop Tail e RED permitiu verificar a cautela do algoritmo RED ao descartar requisi¸c˜oes, em rela¸c˜ao ao Drop Tail. Isto ocorre porque o algoritmo RED possui dois limites, um superior e um inferior, para o tamanho das filas do cluster, dentre os quais ´e calculada a probabilidade de descarte, diferentemente do Drop Tail, que possui como limite o tamanho m´aximo das filas do cluster. Outro ponto verificado foi a influˆencia do peso da fila wq, nos resultados obtidos com o RED. Assim, quanto maior o valor de wq, mais r´apido a m´edia ponderada m´ovel ´e alterada em resposta `a uma mudan¸ca no tamanho da fila atual, e maior o n´umero de descartes.

116 Conclus˜ao

cimento e tratamento de sess˜oes, j´a que este trata as requisi¸c˜oes individualmente. O algoritmo proposto ent˜ao, recebe o nome de RED-SB (RED Session Based ), e novas possibilidades de descarte surgem. Ao se tratar sess˜oes de usu´arios, verificando-se a necessidade de descarte atrav´es dos limites m´ınimo e m´aximo, e do c´alculo da probabilidade de descarte, a requisi¸c˜ao corrente pode ser descartada, como no algoritmo RED tradicional, bem como as novas sess˜oes ou as menores sess˜oes, dentre diversas possibilidades. Sendo assim, no experimento realizado, o algoritmo RED-SB foi usado em conjunto com os algoritmos CA-nBS, CA-BS e CA-H´ıb.

Os resultados obtidos com o RED-SB se mostraram equivalentes `aqueles quando usado o mecanismo que limita o tamanho da fila puramente, e o mecanismo que limita a utiliza¸c˜ao m´edia do cluster. Sendo assim, o algoritmo CA-BS alcan¸ca seu objetivo, de n˜ao abortar sess˜oes, e a utiliza¸c˜ao efetiva dos recursos ´e m´axima. E o algoritmo CA-H´ıb escolhe para descarte as menores sess˜oes, finalizando maior n´umero de sess˜oes grandes.