How to traverse distributed graph

User 284 | 5/6/2014, 10:26:01 PM

If we want to traverse a big distributed graph in a parallel way (level by level in case of breadth first search), then how the graphlab is going to handle locating the vertices since they were distributed among different machines (nodes). Is it good idea to distribute the graph for a parallel traversal task or use one one graph image and make it accessible by the other nodes. Which one is better in term of performance ?

More details: I've a task to traverse a graph using breadth first search technique and since the purpose of traversing is not for outputting the order but rather it is for updating some properties of each vertex got visited in that order such as (vertex.level , vertex.numberOfShortestPath ,..). So, instead of handling vertices that have been en-queued in the queue ,which is used in the breadth first search, one by one we can handle them all at once by handling each one via a thread. By this way, we can palatalize moving from one level to next one.

Comments

User 20 | 5/7/2014, 6:13:02 PM

If you program against the built in graph computation engines (synchronousengine / asynchronousengine / warp_engine), those take care of the work of synchronization, and work placement, etc.