Hello, I am really new to Giraph and recently configured okapi[1] to try out semiclustering algorithm. I wanted to understand how semi-clustering works in practice because I was not able to properly visualize how the algorithm worked.
For this, I added a few print statements in SemiClustering.java file and ran the SemiClusteringTest.java file. Now for example in superstep 0, vertex 5,4 and 3 have the following vertex value Vertex(id=5,value=[ 5 | 0.0, 0.0, 2.0 ] ,#edges=2) Vertex(id=4,value=[ 4 | 0.0, 0.0, 3.0 ] ,#edges=2) Vertex(id=3,value=[ 3 | 0.0, 0.0, 6.0 ] ,#edges=4) Now, vertex 4 and 3 send there messages to vertex 5 (because it is connected to them). According to my understanding (developed through Google Pregel paper), Vertex 5 should receive the following messages in superstep 1 Message from neighbour 3: [ 3 | 0.0, 0.0, 6.0 ] Message from neighbour 4: [ 4 | 0.0, 0.0, 3.0 ] but instead of this, it receives *Message #1*: [ 5 | 0.0, 0.0, 2.0 ] [ 2 | 0.0, 0.0, 3.0 ] [ 1 | 0.0, 0.0, 2.0 ] [ 3 | 0.0, 0.0, 6.0 ] *Message #2*: [ 5 | 0.0, 0.0, 2.0 ] [ 2 | 0.0, 0.0, 3.0 ] [ 1 | 0.0, 0.0, 2.0 ] [ 3 | 0.0, 0.0, 6.0 ] [ 5 | 0.0, 0.0, 2.0 ] [ 1 | 0.0, 0.0, 2.0 ] [ 4 | 0.0, 0.0, 3.0 ] I am unable to understand the messages that were received in superstep 1 for vertex 5. Surely, my understanding seems to be wrong. Can somebody explain me the above ? [1] - https://github.com/grafos-ml/okapi Thanks,, Behroz Sikander
