Aplicações SPMD
com Balanceamento
suporte ao desenvolvimento
Sistema SAMBA
motivação
• muitas aplicações tem uma mesma estrutura
• inicialização
• execução de tarefas
 intercalada com balanceamento
• coleta de resultados
 especialmente aplicações embaraçosamente paralelas
• possibilidade de capturar essa estrutura
• programador escrever apenas código específico de sua
aplicação
SAMBA
SAMBA
SAMBA
• principais rotinas a serem escritas pelo programador:
• GerarTarefas
» “callback” a função InsereTarefa
• ExecutarTarefas
• TratarResultados
• com um pouco mais de detalhes...
• U_inicial_mestre
• U_inicial_escravo
• U_executa_tarefa
• U_final_mestre
• U_final_escravo
SAMBA
• biblioteca com 9 algoritmos de balanceamento de
carga
• estático
• sob demanda
• distribuído, síncrono global, coletivo, por evento, isolado
• centralizado, global, por evento, coletivo, isolado
• distribuído, assíncrono, global, não-cego
• ...
• algum suporte ao desenvolvimento de outros
algoritmos de BC
exemplo: mult de matrizes
exemplo: mult de matrizes
exemplo: mult de matrizes
exemplo: mult de matrizes
Download

samba