Skip to content

Conversation

@moustaki
Copy link

Changes the personalized pagerank initialization to be non-uniform.

@dbtsai
Copy link
Member

dbtsai commented Oct 30, 2015

Jenkins, add to whitelist.

@dbtsai
Copy link
Member

dbtsai commented Oct 30, 2015

Jenkins, ok to test.

@SparkQA
Copy link

SparkQA commented Oct 30, 2015

Test build #44711 has finished for PR 9386 at commit d7f2edc.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

      .mapVertices { (id, attr) => 
        if (personalized) {
          if (id == srcId.get) resetProb else 0.0
        } else {
          resetProb
        }
      }

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With src, let's do

      .mapVertices { (id, attr) => 
          if (!(id != src && personalized)) resetProb else 0.0
      }

to avoid extra unboxing of Option

@dbtsai
Copy link
Member

dbtsai commented Nov 2, 2015

Seems that the implementation of personalized page rank doesn't follow the twitter's paper entirely when initializing the initial page rank. In the paper, only the source node should be activated. This PR addresses this issue.

+cc @dwmclary @ankurdave @rxin @jegonzal for more feedback.

Thanks.

@dwmclary
Copy link
Contributor

dwmclary commented Nov 2, 2015

If I recall, we specifically decided against a conditional in the BSP function at that point because the branching might causes hotspots. If that's still a concern, maybe @jegonzal can comment. Otherwise, this looks good to me -- nice catch.

@dbtsai
Copy link
Member

dbtsai commented Nov 3, 2015

I think the branching should be fine since it's just initialization.

@dwmclary
Copy link
Contributor

dwmclary commented Nov 3, 2015

Yes, I agree, it shouldn't add overhead.

Sent from my iPhone

On Nov 2, 2015, at 4:35 PM, DB Tsai [email protected] wrote:

I think the branching should be fine since it's just initialization.


Reply to this email directly or view it on GitHub.

@jegonzal
Copy link
Contributor

jegonzal commented Nov 3, 2015

This is actually a pretty serious error since it could lead to mass being accumulated on unreachable sub-graphs. The performance implications of the above branch should be negligible.

@moustaki
Copy link
Author

moustaki commented Nov 3, 2015

Jenkins, ok to test.

@SparkQA
Copy link

SparkQA commented Nov 3, 2015

Test build #44875 has finished for PR 9386 at commit ebf0726.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@dbtsai
Copy link
Member

dbtsai commented Nov 3, 2015

LGTM. Thanks, merged into master.

@asfgit asfgit closed this in efaa472 Nov 3, 2015
@moustaki
Copy link
Author

moustaki commented Nov 3, 2015

Many thanks @dbtsai

asfgit pushed a commit that referenced this pull request Feb 24, 2016
…tialization

Changes the personalized pagerank initialization to be non-uniform.

Author: Yves Raimond <[email protected]>

Closes #9386 from moustaki/personalized-pagerank-init.

(cherry picked from commit efaa472)
Signed-off-by: Xiangrui Meng <[email protected]>
asfgit pushed a commit that referenced this pull request Feb 24, 2016
…tialization

Changes the personalized pagerank initialization to be non-uniform.

Author: Yves Raimond <[email protected]>

Closes #9386 from moustaki/personalized-pagerank-init.

(cherry picked from commit efaa472)
Signed-off-by: Xiangrui Meng <[email protected]>
@mengxr
Copy link
Contributor

mengxr commented Feb 24, 2016

I backported this patch to branch-1.5 and 1.4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants