Elasticidade Automática
Baseada em Thresholds para
Aplicações Paralelas
Iterativas em Nuvem
Computacional
Vinicius Facco Rodrigues
Gustavo Rostirolla, Rodrigo da Rosa Righi1
15ª ESCOLA REGIONAL DE ALTO DESEMPENHO
Gramado, 24 de abril de 2015.
Agenda
Introdução
AutoElastic
Metodologia de Avaliação
Análise de Resultados
Considerações Finais
2
Introdução
Computação em Nuvem
• Elasticidade reativa baseada em métricas (thresholds);
• Replicação de máquinas virtuais.
Aplicações de Alto Desempenho
• Processos fixos;
• Grande volume de processamento.
3
Introdução
Nuvem
HPC
Elasticidade
Como tirar
vantagens da
elasticidade para
HPC?
Qual a melhor
configuração de
thresholds?
4
AutoElastic5
VMMestre
Gerente
AutoElastic
Nuvem AutoElastic
SM S
Nó 0 M
S
Processo
Mestre
Processo
Escravo
VM0 VMc-1
S S
Nó 1
VMc VM2c-1
S S
Nó 2
VM2c VM3c-1
S S
Nó m-1
VM (m-1)c VMn-1
Front-End
da Nuvem
Aplicação
Máquinas
Virtuais
Recuros
Computacionais
Rede
Conexão SSH e
API suportada
pela Nuvem
Compartilhamento
de dados
AutoElasticColeta
carga de
CPU dos
recursos
Aplica
algoritmo de
Média Móvel
Compara
resultado
com
thresholds
Realiza operações
de elasticidade se
necessário
Aguarda
intervalo de
tempo até
próximo ciclo
6
Gerenciamento de
Recursos
AutoElasticColeta
carga de
CPU dos
recursos
Aplica
algoritmo de
Média Móvel
Compara
resultado
com
thresholds
Realiza operações
de elasticidade se
necessário
Aguarda
intervalo de
tempo até
próximo ciclo
6
Gerenciamento de
Recursos
AutoElasticColeta
carga de
CPU dos
recursos
Aplica
algoritmo de
Média Móvel
Compara
resultado
com
thresholds
Realiza operações
de elasticidade se
necessário
Aguarda
intervalo de
tempo até
próximo ciclo
6
Gerenciamento de
Recursos
AutoElasticColeta
carga de
CPU dos
recursos
Aplica
algoritmo de
Média Móvel
Compara
resultado
com
thresholds
Realiza operações
de elasticidade se
necessário
Aguarda
intervalo de
tempo até
próximo ciclo
6
Gerenciamento de
Recursos
AutoElasticColeta
carga de
CPU dos
recursos
Aplica
algoritmo de
Média Móvel
Compara
resultado
com
thresholds
Realiza operações
de elasticidade se
necessário
Aguarda
intervalo de
tempo até
próximo ciclo
6
Gerenciamento de
Recursos
Metodologia de Avaliação
Aplicação paralela que implementa o método de Newton-Cotes para
intervalos fechados conhecido como Regra do Trapézio Repetida;
Modeladas 4 padrões de cargas de processamento:
Constante
Crescente
Decrescente
Onda
Aplicação inicia com 2 nós e 4 processos escravos;
Thresholds utilizados:
Máximo: 70, 75, 80, 85 e 90;
Mínimo: 30, 35, 40, 45 e 50;
7
Análise de Resultados
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
70
:30
70
:35
70
:40
70
:45
70
:50
75
:30
75
:35
75
:40
75
:45
75
:50
80
:30
80
:35
80
:40
80
:45
80
:50
85
:30
85
:35
85
:40
85
:45
85
:50
90
:30
90
:35
90
:40
90
:45
90
:50
XX
XX
TEM
PO
(SEG
UN
DO
S)
THRESHOLDS
Constante
8
Análise de Resultados
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
70
:30
70
:35
70
:40
70
:45
70
:50
75
:30
75
:35
75
:40
75
:45
75
:50
80
:30
80
:35
80
:40
80
:45
80
:50
85
:30
85
:35
85
:40
85
:45
85
:50
90
:30
90
:35
90
:40
90
:45
90
:50
XX
XX
TEM
PO
(SEG
UN
DO
S)
THRESHOLDS
Crescente
9
Análise de Resultados
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
70
:30
70
:35
70
:40
70
:45
70
:50
75
:30
75
:35
75
:40
75
:45
75
:50
80
:30
80
:35
80
:40
80
:45
80
:50
85
:30
85
:35
85
:40
85
:45
85
:50
90
:30
90
:35
90
:40
90
:45
90
:50
XX
XX
TEM
PO
(SEG
UN
DO
S)
THRESHOLDS
Decrescente
10
Análise de Resultados
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
70
:30
70
:35
70
:40
70
:45
70
:50
75
:30
75
:35
75
:40
75
:45
75
:50
80
:30
80
:35
80
:40
80
:45
80
:50
85
:30
85
:35
85
:40
85
:45
85
:50
90
:30
90
:35
90
:40
90
:45
90
:50
XX
XX
TEM
PO
(SEG
UN
DO
S)
THRESHOLDS
Onda
11
Considerações Finais
Aplicações Paralelas
• Paralelismo
explícito com
passagem de
mensagens;
• Modelo mestre-
escravo.
Thresholds
• Threshold menor
=
desempenho maior
• Desempenho maior
=
maior consumo de
recursos
Trabalhos Futuros
• Contemplar outros
modelos de
programação;
• Thresholds
adaptáveis;
• Reconhecimento
de padrões.
12
13
Obrigado!Vinicius Facco Rodrigues
Programa de Pós-Graduação em
Computação Aplicada – UNISINOS