Processamento de Dados Massivos/Projeto e implementação de aplicações Big Data/Maximização de expectativas: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 137:
 
===Estratégias de Comunicação===
 
A execução de programas em ambientes distribuídos pode trazer benefícios se o tempo para iniciação dos programas e troca de dados não forem overhead maior do que o ganho com a paralelização da tarefa.
 
A estratégia MapReduce é reduzir ao máximo a troca de dados entre os nós que trabalham para realizar uma tarefa. Neste paradigma, o objetivo é levar o processamento até onde os dados estão e não o inverso. Portanto, inicialmente, quando se transfere os arquivos para o HFS eles são distribuídos em chunks pelos nós disponíveis no cluster. O processamento de Map ocorre em cada um dos nós que já possuem parte dos dados. Dados são transferidos somente no caso de queda de máquina e/ou grave desbalanceamento.
 
Por fim, terminadas as tarefas de Map, os dados resultantes são transferidos para os worker que estão rodando as tarefas de Reduce. Seguindo a estratégia MapReduce, o recomendável é que estes dados não sejam complexos e pequenos o suficiente para não causar overhead na rede. No caso da nossa tarefa, esses dados são somente as novas contagens geradas pela verossimilhança entre o conjunto de lançamentos e a probabilidade P(cara) de cada moeda que podem ser expressas utilizando o tipo Double.
 
==Implementação==