Conceito e Análise de algoritmos para o modelo SWDS Ricardo Nogueira de Figueiredo
Objetivo Mostrar “O que já foi feito” relacionado ao modelo SWDS. Os algoritmos implementados (Escalonamento e Controle de Admissão)
Algoritmos de Escalonamento Algoritmos implementados: RSV RSVAdap
RSV
RSVAdap
RSVAdap
RSVAdap
Algoritmo RED (Random Early Detection) Desenvolvida por Sally Floyd e Van Jacobson em 1993. Foi aplicado em roteadores. Possui a característica de anular congestionamento na rede Faz o controle gerenciando a fila de processos ativos.
Funcionamento do algoritmo RED
Funcionamento do algoritmo RED
Procedimentos do Algoritmo RED Consiste de 2 procedimentos: 1° - Cálculo do tamanho médio da fila. avg = (1 – wq ) avg + wq * q, – q é a fila instantânea e wq é o peso; – Funciona como um filtro, atenuando as variações instantâneas; – wq é um parâmetro configurável do RED
Procedimentos do Algoritmo RED 2° - Cálculo da probabilístico para descarte de requisições baseando na ocupação da fila Escolha dos parâmetros (wq, Pmax, Min, Max) Pmax: Probabilidade Máxima Min: Limiar Mínimo Max: Limiar Máximo
Ferramentas Foram utilizadas os seguintes softwares: Apache Web Server Juntamente os módulos: mod_rewrite, mod_proxy, mod_status. Httperf Como gerador de carga de trabalho Autobench Automatizar o processo de testes.
Servidor Web O Apache HTTP Server é o servidor mais utilizado atualmente, segundo o Netcraft. Bom suporte ao desenvolvimento de módulos para tratamento de requisições.
Httperf É uma ferramenta para mensurar o desempenho de servidores web. Foi desenvolvido por David Mosberger Bastante utilizado nos artigos científicos.
Autobench É um script em Perl que automatiza o processo de benchmark em servidores web. Encapsula o HTTPERF para geração de carga de trabalho. Pode-se fazer benchmark com clientes distribuídos.
Autobench – Benchmark Distribuído
Experimentos O objetivo dos testes foi analisar o tempo de resposta e Throughput utilizando o algoritmo RED juntamente com o RSV.
Experimentos Experimento 1 Experimento 2 Experimento 3 Experimento 4 Pmax = 0,02; wq = 0,0042; Min = 650; Max = 950; Conns = 4000 Experimento 2 Pmax = 0,02; wq = 0,002; Min = 650; Max = 950; Conns = 4000 Experimento 3 Pmax = 0,02; wq = 0,001; Min = 650; Max = 950; Conns = 4000 Experimento 4 Pmax = 0,02; wq = 0,0042; Min = 750; Max = 950; Conns = 4000 Experimento 5 Pmax = 0,02; wq = 0,002; Min = 750; Max = 950; Conns = 400 Experimento 6 Pmax = 0,02; wq = 0,001; Min = 750; Max = 950; Conns = 400 Experimento 7 Pmax = 0,02; wq = 0,0042; Min = 500; Max = 750; Conns = 4000 Experimento 8 Pmax = 0,02; wq = 0,002; Min = 500; Max = 750; Conns = 4000 Experimento 9 Pmax = 0,02; wq = 0,001; Min = 500; Max = 750; Conns = 4000 Experimento 10 Colocando todos os resultados de tempo de resposta (Classe 1 e Classe 2).
Experimento 1
Experimento 2
Experimento 3
Experimento 4
Experimento 5
Experimento 6
Experimento 7
Experimento 8
Experimento 9
Experimento 10 – Classe 1
Experimento 10 – Classe 2
Conclusão É visto que os experimentos 2 e 3 obtiveram um bom tempo de resposta para a classe 1. Também é analisado que os experimentos 1 e 7 tiveram baixos tempos de resposta. Com isso pode-se propor uma variação do algoritmo RED, baseando-se na classe de serviço.
O que ainda falta ... Não foi realizada a análise da quantidade de descarte de pacotes. Também não foi feita a análise da fila.
Muito Obrigado !! Dúvidas ou Sugestões