diff options
| author | msabhi <abhi.is2006@gmail.com> | 2016-11-17 16:44:00 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-17 16:44:00 -0500 |
| commit | 7ad2750c2af8b62717eef017cbdb4a370fbca2e5 (patch) | |
| tree | c3363156b35c353f3fb47afd2afe710c87407879 | |
| parent | ce6727b47cbd0d4f0ac3407b498982a09c4b3e50 (diff) | |
Update big-data.md
| -rw-r--r-- | chapter/8/big-data.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/chapter/8/big-data.md b/chapter/8/big-data.md index eef8a8f..d17d2b1 100644 --- a/chapter/8/big-data.md +++ b/chapter/8/big-data.md @@ -19,8 +19,8 @@ In BSP model Though similar to map reduce model, BSP preserves data in memory across supersteps and helps in reasoning iterative graph algorithms.<br /> `Pregel` is an implementation of classic BSP model by Google (PageRank) to analyze large graphs exclusively. It was followed by open source implementations - Apache’s Giraph and Hama; which were BSP models built on top of Hadoop. Pregel is highly scalable, fault-tolerant and can successfully represent larger complex graphs. Google claims the API becomes easy once a developer adopts “think like a vertex” mode. -Pregel’s computation system is iterative and every iteration is called as superstep. The system takes a directed graph as input with properties assigned to both vertices and graph. At each superstep, all vertices executes in parallel, a user-defined function which represents the behavior of the vertex. The function has access to message sent to its vertex from the previous superstep S-1 and can update the state of the vertex, its edges, the graph and even send messages to other vertices which would receive in the next superstep S+1. The synchronization happens only between two supersteps. Every vertex is either active or inactive at any superstep. The iteration stops when all the vertices are inactive. A vertex can deactivate itself by voting for it and gets active if it receives a message. This asynchronous message passing feature eliminates the shared memory, remote reads and latency of Map reduce model. -#### Pregel’s API provides +Pregel’s computation system is iterative and every iteration is called as superstep. The system takes a directed graph as input with properties assigned to both vertices and graph. At each superstep, all vertices executes in parallel, a user-defined function which represents the behavior of the vertex. The function has access to message sent to its vertex from the previous superstep S-1 and can update the state of the vertex, its edges, the graph and even send messages to other vertices which would receive in the next superstep S+1. The synchronization happens only between two supersteps. Every vertex is either active or inactive at any superstep. The iteration stops when all the vertices are inactive. A vertex can deactivate itself by voting for it and gets active if it receives a message. This asynchronous message passing feature eliminates the shared memory, remote reads and latency of Map reduce model.<br /> +Pregel’s API provides <br /> + compute() method for the user to implement the logic to change the state of the graph/vertex at every superstep. It guarantees message delivery through an iterator at every superstep. + User defined handler for handling issues like missing destination vertex etc. + Combiners reduce the amount of messages passed from multiple vertices to the same destination vertex. |
