Processamento de Dados Massivos/Projeto e implementação de aplicações Big Data/Avaliação do algoritmo PageRank: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 149:
Na fase "gather" apenas as arestas de entrada são utilizadas, das quais o vértice recebe os valores de PageRank para atualizar seu próprio valor. Cada aresta (u, v) ativa na fase "gather" vai retornar o valor PR(u)/O(u), que corresponde a um valor parcial da soma de atualização.
 
[[Ficheiro:Pagerank graphlab gather.png|miniaturadaimagem|centro|300px|Fase "Gather" do GraphLab no algoritmo PageRank]]
 
A fase "apply" vai receber os valores parciais já somados, então basta atualizar o valor de acordo com o dumping factor. Além disso, ainda na fase "apply", vamos armazenar o valor de error calculando a diferença entre o novo e o antigo valor de PageRank, que será utilizado para decidir quais vértices deverão ser atualizados.
 
[[Ficheiro:Pagerank graphlab apply.png|miniaturadaimagem|centro|300px|Fase "Apply" do GraphLab no algoritmo PageRank]]
 
A fase "scatter" é utilizada para ativar vértices que deverão ter seus valores atualizados na próxima iteração do algoritmo. Portanto, caso o valor de erro do vértice seja menor do que o valor máximo de tolerância, nenhuma aresta será ativa. Caso o valor de erro seja maior, serão ativas as arestas de saída. Cada aresta (u, v) ativa na fase "scatter" vai assinalar o vértice v para execução na próxima iteração. Ou seja, um vértice só será convocado para execução na próxima iteração se pelo menos um de seus vizinhos de entrada ainda não tiver convergido, pois são justamente os vértices utilizados para o cálculo de seu PageRank.
 
[[Ficheiro:Pagerank graphlab scatter.png|miniaturadaimagem|centro|300px|Fase "Scatter" do GraphLab no algoritmo PageRank]]
 
==== Estratégias de armazenamento ====