4. s
d
v
At each superstep…
…
vertex receives messages which contain the
current known shortest path through a neighbor
d0 d1
d
s
d
t
ws
wt
if min(d0,d1) < dv, it sends messages to its
neighbors
and updates its new minimum distance
from s
else, it votes to halt
d0 + ws d0 + wt
After execution, each vertex’s value is its minimum distance from
s
5. *
*Computation time bounded by number of super
steps take for computation * super step time
* After ith super-step all vertices whose shortest
path consist of i-1 number of edges will get
the final value.
*Let d be the longest shortest path in the graph
(assume unit edge weights)
*Number of super-steps = O(d)
A
C
D
B
F
G
E
H1
1
4
3
1 2
2
2
1
2
1
6. *
*Partition graph into set of connected components
– sub-graphs
*Terms :
*Sub-graph : Partition
*Remote vertex : Let v in SGj and let edge (u,v)
s.t. v in SGi. Then for SGi vertex v is a remote
vertex.
*Remote edge : (u,v) s.t. u in SGi v in SGj and
SGi≠ SGj
SG1
SG2
SG3
8. At each super-step…
• Each neighbor vertex in sub-graph with
incoming edges will receives messages
which contain the current known shortest
path through a neighbor
• Set that value as the vertex value if its
less than current value
• Add that vertex in open set (V-S) with the
new value
• Run Iterative section of Dijkstras locally
and calculate new Shortest paths.
• Sent new shortest path though this sub-
graph to its remote vertices
d0
d1
d0
d1
Input edge
Input edge
output edge
output edge
S
V-S
9. *
*Assume sub-graph is a vertex
s
d
v
At each superstep…
…
• Vertex receives messages which contain the
current known shortest path through a neighbor
• Vertex sends its current known shortest path
through it to its neighbors if they have changed
d0 d1
d
s
d
t
ws
wt
d0 + ws d0 + wt
10. *
d0
d1
Input edge
Input edge
output edge
output edge
S
V-S
• Set incoming values as the vertex value
if its less than current value
• Add that vertex in open set (V-S) with
the new value
• Run Iterative section of Dijkstras
locally and calculate new Shortest
paths (Same as assuming virtual source
and running Dijkstras)
• Sent new shortest path though this sub-
graph to its remote vertices if changed
• Vertex receives messages
which contain the
current known shortest path
through a neighbor
• Vertex sends its current known
shortest path through it to its
neighbors if they have changed
Virtual source
*Assume sub-graph is a vertex
11. *
*Computation time bounded by number of super steps take
for computation * super step time
*Super-step time for super step i= O(e*log(v)) (e ,v = edges
and vertices of largest updating sub-graph at super-step i)
* After ith super-step all sub-graphs whose vertices shortest
path consist of i-1 number of remote edges will get the
final value.
*Let d be the longest shortest path in the graph where sub-
graphs are vertices (assuming unit edge weights)
*Number of super-steps = O(d)
13. *
*Run time = # super-steps x super-step time
*Vertex centric – negligible vertex compute
time
*Sub-graph centric – sub-graph compute time
depend on size of the sub-graph (# edges, #
vertices)
*Out performs vertex centric for sparse graphs
with large diameter