Conceito e Análise de algoritmos para o modelo SWDS Ricardo Nogueira de Figueiredo.
Transcript of Conceito e Análise de algoritmos para o modelo SWDS Ricardo Nogueira de Figueiredo.
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áximaMin: Limiar MínimoMax: 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.
ExperimentosExperimento 1 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 1Tempo de Resposta
0200400600800
100012001400160018002000
200 400 600 800 1000 1200 1400
Experimento
Tem
po (m
s)
Classe 1
Classe 2
Throughput
0
50
100
150
200
250
300
350
400
200 400 600 800 1000 1200 1400
Requisições/seg Submetidas
Thro
ughp
ut
Classe 1
Classe 2
Experimento 2Tempo de Resposta
0
500
1000
1500
2000
2500
3000
3500
4000
4500
200 400 600 800 1000 1200 1400
Requisições/seg Submetidas
Tem
po (m
s)
Série1
Série2
Throughput
0
50
100
150
200
250
300
350
400
450
200 400 600 800 1000 1200 1400
Requisições/seg Submetida
Req
uisi
ções
/seg
Pro
cess
ada
Classe 1
Classe 2
Experimento 3Tempo de Resposda
0
500
1000
1500
2000
2500
3000
3500
4000
4500
200 400 600 800 1000 1200 1400
Requisições/seg Submetida
Tem
po (m
s)
Classe 1
Classe 2
Throughput
0
50
100
150
200
250
300
350
400
450
200 400 600 800 1000 1200 1400
Requisições/seg submetidas
Req
uisi
ções
/seg
pro
cess
adas
Classe 1
Classe 2
Experimento 4Tempo de Resposta
0
500
1000
1500
2000
2500
3000
3500
4000
4500
200 400 600 800 1000 1200 1400
Requsição/seg Submetida
Tem
po (m
s)
Classe 1
Classe 2
Throughput
0
50
100
150
200
250
300
350
400
450
200 400 600 800 1000 1200 1400
Requisições/seg Submetidas
Req
uisi
ções
/seg
Pro
cess
ada
Classe 1
Classe 2
Experimento 5Tempo de Resposta
0500
100015002000250030003500400045005000
200 400 600 800 1000 1200 1400
Requisições/seg Submetidas
Tem
po (m
s)
Classe 1
Classe 2
Throughput
0
50
100
150
200
250
300
350
400
450
200 400 600 800 1000 1200 1400
Requisição/seg Submetida
Req
uisi
ção/
seg
Pro
cess
ada
Classe 1
Classe 2
Experimento 6Tempo de Resposta
0
500
1000
1500
2000
2500
3000
3500
4000
4500
200 400 600 800 1000 1200 1400
Requisição/seg Submetida
Tem
po (m
s)
Série1
Série2
Throughput
0
50
100
150
200
250
300
350
400
450
87,2 332,6 153 275,5 189,8 456,9 425,7
Requisição/seg Submetida
Req
uisi
ção/
seg
Pro
cess
ada
Série1
Série2
Experimento 7Tempo de Resposta
0
500
1000
1500
2000
2500
3000
3500
4000
200 400 600 800 1000 1200 1400
Requisição/seg Submetida
Tem
po (m
s)
Classe 1
Classe 2
Throughput
0
50
100
150
200
250
200 400 600 800 1000 1200 1400
Requisição/seg Submetida
Req
uisi
ção/
seg
Pro
cess
ada
Classe 1
Classe 2
Experimento 8Tempo de Resposta
0
500
1000
1500
2000
2500
3000
200 400 600 800 1000 1200 1400
Requisição/seg Submetida
Tem
po (m
s)
Classe 1
Classe 2
Throughput
0
50
100
150
200
250
200 400 600 800 1000 1200 1400
Requisição/seg Subemetida
Req
uisi
ção/
seg
Pro
cess
da
Classe 1
Classe 2
Experimento 9Tempo de Resposta
0
500
1000
1500
2000
2500
3000
3500
4000
4500
200 400 600 800 1000 1200 1400
Requisição/seg Submetida
Tem
po (m
s)
Classe 1
Classe 2
Throughput
0
20
40
60
80
100
120
140
160
180
200 400 600 800 1000 1200 1400
Requisição/seg Submetida
Req
uisi
ção/
seg
Pro
cess
ada
Classe 1
Classe 2
Experimento 10 – Classe 1
Tempo de Resposta
0
500
1000
1500
2000
200 400 600 800 1000 1200 1400
Requisições/seg
Tem
po (m
s)
Experimento 1
Experimento 2
Experimento 3
Experimento 4
Experimento 5
Experimento 6
Experimento 7
Experimento 8
Experimento 9
Experimento 10 – Classe 2
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
200 400 600 800 1000 1200 1400
Requisições/seg Submetidas
Tem
po (m
s)
Experimento 1
Experimento 2
Experimento 3
Experimento 4
Experimento 5
Experimento 6
Experimento 7
Experimento 8
Experimento 9
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