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