You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@giraph.apache.org by jg...@apache.org on 2012/02/03 20:50:16 UTC

svn commit: r1240317 - in /incubator/giraph/trunk: CHANGELOG src/main/java/org/apache/giraph/benchmark/PageRankBenchmark.java

Author: jghoman
Date: Fri Feb  3 19:50:15 2012
New Revision: 1240317

URL: http://svn.apache.org/viewvc?rev=1240317&view=rev
Log:
GIRAPH-137: De-duplicate pagerank implementation in PageRankBenchmark. Contributed by Harsh J. Chouraria.

Modified:
    incubator/giraph/trunk/CHANGELOG
    incubator/giraph/trunk/src/main/java/org/apache/giraph/benchmark/PageRankBenchmark.java

Modified: incubator/giraph/trunk/CHANGELOG
URL: http://svn.apache.org/viewvc/incubator/giraph/trunk/CHANGELOG?rev=1240317&r1=1240316&r2=1240317&view=diff
==============================================================================
--- incubator/giraph/trunk/CHANGELOG (original)
+++ incubator/giraph/trunk/CHANGELOG Fri Feb  3 19:50:15 2012
@@ -1,6 +1,9 @@
 Giraph Change Log
 
 Release 0.2.0 - unreleased
+
+  GIRAPH-137: De-duplicate pagerank implementation in PageRankBenchmark.
+  (Harsh J. Chouraria via jghoman) 
  
   GIRAPH-133: Typo in JavaDoc in BspCase::remove().
   (Harsh J. Chouraria via jghoman) 

Modified: incubator/giraph/trunk/src/main/java/org/apache/giraph/benchmark/PageRankBenchmark.java
URL: http://svn.apache.org/viewvc/incubator/giraph/trunk/src/main/java/org/apache/giraph/benchmark/PageRankBenchmark.java?rev=1240317&r1=1240316&r2=1240317&view=diff
==============================================================================
--- incubator/giraph/trunk/src/main/java/org/apache/giraph/benchmark/PageRankBenchmark.java (original)
+++ incubator/giraph/trunk/src/main/java/org/apache/giraph/benchmark/PageRankBenchmark.java Fri Feb  3 19:50:15 2012
@@ -26,6 +26,7 @@ import org.apache.commons.cli.PosixParse
 import org.apache.giraph.graph.EdgeListVertex;
 import org.apache.giraph.graph.GiraphJob;
 import org.apache.giraph.graph.HashMapVertex;
+import org.apache.giraph.graph.MutableVertex;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.DoubleWritable;
 import org.apache.hadoop.io.LongWritable;
@@ -44,28 +45,36 @@ public class PageRankBenchmark implement
     /** How many supersteps to run */
     public static String SUPERSTEP_COUNT = "PageRankBenchmark.superstepCount";
 
+    private static void computePageRank(
+            MutableVertex
+              <LongWritable, DoubleWritable, DoubleWritable, DoubleWritable>
+                vertex,
+            Iterator<DoubleWritable> msgIterator) {
+        if (vertex.getSuperstep() >= 1) {
+            double sum = 0;
+            while (msgIterator.hasNext()) {
+                sum += msgIterator.next().get();
+            }
+            DoubleWritable vertexValue =
+                new DoubleWritable((0.15f / vertex.getNumVertices()) + 0.85f *
+                                   sum);
+            vertex.setVertexValue(vertexValue);
+        }
+
+        if (vertex.getSuperstep() < vertex.getConf().getInt(SUPERSTEP_COUNT, -1)) {
+            long edges = vertex.getNumOutEdges();
+            vertex.sendMsgToAllEdges(
+                new DoubleWritable(vertex.getVertexValue().get() / edges));
+        } else {
+            vertex.voteToHalt();
+        }
+    }
+
     public static class PageRankHashMapVertex extends HashMapVertex<
             LongWritable, DoubleWritable, DoubleWritable, DoubleWritable> {
         @Override
         public void compute(Iterator<DoubleWritable> msgIterator) {
-            if (getSuperstep() >= 1) {
-                double sum = 0;
-                while (msgIterator.hasNext()) {
-                    sum += msgIterator.next().get();
-                }
-                DoubleWritable vertexValue =
-                    new DoubleWritable((0.15f / getNumVertices()) + 0.85f *
-                                       sum);
-                setVertexValue(vertexValue);
-            }
-
-            if (getSuperstep() < getConf().getInt(SUPERSTEP_COUNT, -1)) {
-                long edges = getNumOutEdges();
-                sendMsgToAllEdges(
-                    new DoubleWritable(getVertexValue().get() / edges));
-            } else {
-                voteToHalt();
-            }
+            PageRankBenchmark.computePageRank(this, msgIterator);
         }
     }
 
@@ -73,24 +82,7 @@ public class PageRankBenchmark implement
             LongWritable, DoubleWritable, DoubleWritable, DoubleWritable> {
         @Override
         public void compute(Iterator<DoubleWritable> msgIterator) {
-            if (getSuperstep() >= 1) {
-                double sum = 0;
-                while (msgIterator.hasNext()) {
-                    sum += msgIterator.next().get();
-                }
-                DoubleWritable vertexValue =
-                    new DoubleWritable((0.15f / getNumVertices()) + 0.85f *
-                                       sum);
-                setVertexValue(vertexValue);
-            }
-
-            if (getSuperstep() < getConf().getInt(SUPERSTEP_COUNT, -1)) {
-                long edges = getNumOutEdges();
-                sendMsgToAllEdges(
-                        new DoubleWritable(getVertexValue().get() / edges));
-            } else {
-                voteToHalt();
-            }
+            PageRankBenchmark.computePageRank(this, msgIterator);
         }
     }