Garp - DPI/Inpe

Propaganda
INPE – Outubro, 2008
Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva
[email protected], [email protected]
Apoio:
Projeto:
Instituição:
Objetivos:
Apresentar versão de alto desempenho para o Garp
‾
‾
‾
Aplicação de algoritmos paralelos
Máquinas paralelas consideradas: cluster
Comunicação usando MPI (Massive Parallel Interface)
Mostrar alguns resultados de desempenho
‾
Testes realizados no cluster – Poli/USP com espécies selecionadas
Obs.:
1. O algoritmo considerado como base para o estudo foi o Garp com
openModeller implementation.
2. O artigo correspondente aos algoritmos aqui apresentados está em fase de
submissão para publicação em revista científica.
Problema:
Tempo “grande” para a geração de um modelo,
considerando especialmente:
‾
‾
Muitos layers ambientais
Resolução adotada para análise dos layers
resulta em muitos pontos/pixels
Resultados para alguns casos reais:
‾
De horas a dias !!!
Análise de desempenho realizada na Poli-USP:
‾
Etapas que mais consomem tempo (como esperado):
Execução do algoritmo
Projeção do modelo
Algoritmo = seqüência de passos
Step 1
Melhoria de performance:
Step 2
...
NO MAGIC!
Step N
Se o algoritmo estiver correto, presume-se que todos os passos são
necessários para resolver o problema.
Alternativa seqüencial: criar novos algoritmos (ex.: ordenação)...
…mas este tipo de solução já existe de sobra, por exemplo, no
openModeller, porém o problema é diferente e a abordagem não vale.
Supercomputadores:
Eficiência e utilização podem depender da arquitetura
Exemplos:
−
−
−
−
Um só superprocessador (muito rápido e poderoso)
Cluster - Network of Workstations
Constelation - “cluster of clusters´´
Etc.
Curiosos:
−
−
−
Consultar: http://www.top500.org/
500 supercomputadores mais rápidos do mundo!
Detalhes sobre suas arquiteturas
Supercomputadores:
Cluster é opção mais adotada (boa relação custo - benefício):
−
−
Máquinas com vários processadores e fast switch (comunicação rápida)
Cada um dos p nós da figura: processador + memória
1
2
...
P
Cluster with p nodes - each node: processor + memory
Implementações comuns para cluster:
−
−
Instâncias do mesmo algoritmo em diferentes nós, sob diferentes condições
Quantidade maior de modelos gerados no mesmo período de tempo
Úteis para, e.g.: experimentação, análise de sensibilidade, modelagem “em massa”!
Resultado: maior throughput , mas …
... a performance de cada algoritmo será a mesma!
Algoritmos paralelos:
Quebrar a “barreira de software”:
‾
Software específico para acompanhar o desempenho do hardware
Explorar os recursos da máquina:
−
Tirar máximo de vantagens do hardware
Combinar resultados obtidos em instâncias distintas para resolver
o mesmo problema
Necessitam de modelo de computação adequado ao hardware
(Obs.: O projeto de algoritmos seqüenciais são baseados na Máquina de von
Neumann, também definida como RAM por Cormen, Leiserson, Rivest, )
PRAM:
Famoso, teórico, mas inadequado para clusters
BSP (Bulk-Synchronous Parallel):
Valiant, 1990
Algoritmo é seqüência de superpassos
−
−
−
Rodadas de computação local
Rodadas de comunicação
Análise dos algoritmos consideram os dois
CGM (Course-Grained
Multicomputer):
Dehne, 1996
Versão simplificada do BSP
−
−
Step 1
Step 1
Step 1
Step 2
Step 2
Step 2
...
...
...
Step N
Step N
Step N
Análise simplificada, baseada apenas no número de rodadas
Supõe minimização do tempo de uso dos recursos (preferir: # pequeno msgs grandes,
redução de troca de contexto, etc.)
GARP
P-GARP
GARP
Furcata boliviana - 100 iterations
GARP
P-GARP
Unknown species - 20 iterations
P-GARP
Furcata boliviana - 400 iterations
P-GARP
GARP
P-GARP
Unknown species - 100 iterations
SpeedUp
T(GARP)
T(PGARP)
np speedup
0,68817
0,6817 1
0,68817
0,4176 2
0,68817
0,3545 3
0,68817
0,2919 4
0,68817
0,2708 5
0,68817
0,2436 6
0,68817
0,2414 7
0,68817
0,2144 8
0,68817
0,2119 9
0,68817
0,2285 10
0,68817
0,2362 20
0,68817
0,2233 40
Obs.:
O speedup representa o
número de vezes que um
algoritmo paralelo é mais
rápido
do
que
um
seqüência, considerando
o
melhor
algoritmo
seqüencial disponível.
efficiency
1,01
1,01
1,65
0,82
1,94
0,65
2,36
0,59
3,50
2,54
0,51
2,83
0,47
2,85
0,41
3,00
3,21
0,40
3,25
0,36
2,50
3,01
0,30
2,91
0,15
2,00
3,08
0,08
Speedup x #processors
1,50
1,00
0,50
0,00
0
10
20
30
#processors
40
50
Desempenho dos algoritmos genéticos paralelos
P-GARP:
−
−
−
Em média, 3 vezes mais rápido do que o GARP, para 8 processadores
Resultado pode ser considerado bastante bom, já que computação paralela pode ser
comparada, em uma “associação livre”, com a construção de um prédio
Em outros clusters, pode ter resultados de desempenho diferentes, mas sempre haverá
um limite superiosr para o speedup (quando o tempo de comunicação ultrapassar o
tempo de computação local)
Outras variações
−
Resultado esperado: ainda melhor – porque a paralelização é “trivial”
Objetivos:
Apresentar AdaptGARP – versão de algoritmo adaptativo
para o Garp
‾
‾
Aplicação de algoritmos adaptativos
Técnica adaptativa: tabela de decisão
Mostrar alguns resultados de desempenho
‾
Testes comparando Garp com AdaptGARP
Obs.:
O AdaptGARP já foi apresentado e publicado: César Bravo, João J. Neto,
Fabiana S. Santana, Antonio M. Saraiva, “Towards an adaptive
implementation of genetic algorithms”, In: XXXIII Latin American
Informatics Conference (CLEI – INBI), Proceedings, 2007.
Motivação (Por que fizemos?):
Adaptividade:
‾
‾
‾
‾
Propriedade de alguns sistemas ou dispositivos/equipamentos de
auto-modificarem o seu conjunto de operações e regras básicas de
funcionamento
A adaptatividade depende exclusivamente do histórico de uso ou
execução do sistema, sem ajuda externa
Ex.: Adaptive Automata (AA), Adaptive Grammars (AG), Adaptive
Decision Table (ADT), etc.
Técnica adaptativa: tabela de decisão
IF x1
[A11, B11] AND x2
[A12, B12] AND … xk
[A1k, B1k] THEN PRESENCE
GARP – Furcata boliviana
AdaptGARP– Furcata boliviana
Observe que a precisão
dos
modelos
adaptativos é mantida!
Trabalhos futuros:
Validar e aprovar com os especialistas e pesquisadores em modelagem de
nicho ecológico
Melhorar, a partir dos resultados dos especialistas e pesquisadores em
modelagem de nicho ecológico, a construção da tabela de decisão
Conclusão:
O AdaptGARP mantém o desempenho do GARP original
Pelos testes realizados, é difícil dizer que a qualidade do modelo gerado
pelo AdaptGARP se altera, em relação à qualidade do modelo gerado pelo
GARP
Fabiana Soares Santana
[email protected]
Apoio:
Projeto:
Instituição:
Download