As prof. Kayvon mentioned in class, the work queue needs to be FIFO, which prevents one vertex to be updated consecutively for ten times.
I'm getting a little bit confused with the algorithm here. What do you mean the data at each vertex needs to converge? Why do we need to iterate the computation until convergence?
@maxdecmeridius, I think because the updates on adjacent node will also affect the calculation on other nodes, the 'converge' means the difference on two iteration is not too big
Is the motivation of saving a per-vertex counter to eliminate the barriers between iterations? (As Kayvon mentioned, simply wrapping everything in a for-loop generates a barrier between iterations.)