5.4 Algoritmo de Diferencia¸c˜ao de Servi¸cos
5.4.4 Considera¸c˜oes sobre o Algoritmo
O algoritmo RSV, como foi visto, consegue fornecer uma boa diferencia¸c˜ao de servi¸cos sob certas condi¸c˜oes, por´em n˜ao pretende ser uma solu¸c˜ao definitiva para esta quest˜ao. Seu objetivo era a valida¸c˜ao inicial do modelo proposto para o servidor SWDS, bem como
Figura 5.7: Tempo de resposta usando o algoritmo RSV (25% de requisi¸c˜oes de alta prioridade)
Figura 5.8: Tempo de resposta usando o algoritmo RSV (30% de requisi¸c˜oes de alta prioridade)
apontar possibilidades de pesquisa na ´area.
O particionamento est´atico do cluster de servidores web, com a reserva de subconjuntos de servidores para certas classes de servi¸co, aplica-se melhor a casos em que o padr˜ao da carga de trabalho ´e razoavelmente conhecido e previs´ıvel, quando se tem uma popula¸c˜ao de usu´arios controlada (por exemplo, uma intranet ou um site restrito a uma comunidade espec´ıfica). Contudo, em ambientes absolutamente livres como a Web, este esquema apresenta algumas desvantagens, dentre elas o fato de que varia¸c˜oes na carga de trabalho, mesmo que pequenas, podem tornar inapropriada a aloca¸c˜ao de recursos feita inicialmente, produzindo resultados contr´arios ao esperado (Teixeira et al., 2003a).
tamb´em n˜ao considera a carga presente em cada n´o ao fazer o escalonamento das requisi- ¸c˜oes. Isso pode levar ao desperd´ıcio de recursos, uma vez que uma determinada parti¸c˜ao pode estar subutilizada enquanto outra est´a sobrecarregada (Cardellini et al., 2001b; Zhu
et al., 2001). No esquema em funcionamento atualmente no SWDS, tamb´em n˜ao h´a como
migrar recursos de uma parti¸c˜ao para outra, mesmo que estes estejam ociosos, o que ´e uma caracter´ıstica de algoritmos do tipo CBQ com aloca¸c˜ao est´atica.
Dessa forma, a implementa¸c˜ao de um algoritmo que realize o particionamento dinˆamico do cluster torna-se atrativa. Tal algoritmo dever´a inicialmente fazer um particionamento arbitr´ario e ajust´a-lo periodicamente, adaptando-se `as caracter´ısticas da carga de traba- lho e `as condi¸c˜oes de utiliza¸c˜ao do SWDS, obtidas a partir do m´odulo de Controle de Admiss˜ao. Para tanto, ser´a necess´ario conhecer a carga presente no sistema em um dado instante e ser capaz de prever seu comportamento futuro, reagindo rapidamente a mu- dan¸cas. Uma estrat´egia de adapta¸c˜ao como essa implica, em geral, na necessidade de migra¸c˜ao de requisi¸c˜oes de um servidor para outro. Essas quest˜oes, como se pode ver, n˜ao s˜ao triviais, ainda mais no caso da Web, em que as caracter´ısticas da carga de trabalho podem variar rapidamente e de modo imprevis´ıvel.
Em resumo, o emprego da abordagem de reserva de recursos para a diferencia¸c˜ao de servi¸cos em servidores web distribu´ıdos, embora adequado em alguns casos, pode tamb´em se revelar ineficiente, como demonstrado pelos experimentos descritos neste cap´ıtulo. Os resultados obtidos motivam a investiga¸c˜ao adicional da ´area a fim de dotar o algoritmo RSV de caracter´ısticas de adaptabilidade.
5.5
Considera¸c˜oes Finais
Este cap´ıtulo tratou sobre a valida¸c˜ao inicial do modelo proposto para o servidor SWDS, apresentando seus primeiros resultados. Foram implementados dois algoritmos de balanceamento de carga conhecidos no modelo (RR e SQF) e analisado seu comportamento sob diferentes configura¸c˜oes. Os resultados obtidos ratificam que o algoritmo SQF ´e mais eficiente que RR na aloca¸c˜ao de recursos em um cluster heterogˆeneo.
Al´em disso, implementou-se um algoritmo de reserva de recursos (RSV) a fim de avaliar a aplica¸c˜ao da arquitetura proposta na diferencia¸c˜ao de servi¸cos. Os experimentos realiza- dos comprovam que a mesma ´e efetivamente capaz de fornecer uma QoS diferenciada aos seus clientes, conseguindo bons resultados mesmo a cargas elevadas. O algoritmo RSV, contudo, mostrou-se n˜ao muito flex´ıvel, tendo sido apontados caminhos para aperfei¸coa- mentos futuros, dentre eles a aloca¸c˜ao dinˆamica do cluster de servidores web `as classes de servi¸co.
O cap´ıtulo seguinte discute a introdu¸c˜ao de prioridades nas filas dos servidores a fim de permitir a implementa¸c˜ao de outros algoritmos de diferencia¸c˜ao de servi¸cos, inclusive
alguns j´a empregados em roteadores, em n´ıvel de rede. Assim, ser´a poss´ıvel utilizar esquemas mais refinados de aloca¸c˜ao de recursos na arquitetura do SWDS.
Cap´ıtulo
6
Escalonamento Baseado em Prioridades
6.1
Introdu¸c˜ao
O cap´ıtulo anterior estudou o uso de esquemas do tipo Class-Based Queueing para a diferencia¸c˜ao de servi¸cos, mostrando algumas de suas limita¸c˜oes, principalmente quando se faz a aloca¸c˜ao est´atica dos servidores (ou processos) `as classes de usu´arios, o que pode produzir resultados contr´arios ao esperado. A pouca flexibilidade daquela solu¸c˜ao, aliada `a necessidade de se ter um conhecimento mais detalhado da carga que ser´a imposta ao sistema, podem gerar alguns problemas em um ambiente com as caracter´ısticas da Web, em que o comportamento da carga de trabalho pode variar rapidamente e de modo imprevis´ıvel (Floyd & Paxson, 2001).
Neste cap´ıtulo, s˜ao apresentados os resultados obtidos com a aplica¸c˜ao de um Escalona- mento Baseado em Prioridades na arquitetura do Servidor Web com Diferencia¸c˜ao de Servi¸cos (SWDS), utilizando-se como carga de trabalho os traces de acesso a servido- res web j´a discutidos. Em particular, destacam-se as vantagens do uso de prioridades visando alcan¸car a diferencia¸c˜ao de servi¸cos, bem como as limita¸c˜oes desse mecanismo. Relatam-se tamb´em os resultados obtidos com a introdu¸c˜ao de um mecanismo de prio- ridades adaptativo na arquitetura, destacando-se sua adequa¸c˜ao `a natureza inst´avel do tr´afego na Web.