Skip to content
Discussion options

You must be logged in to vote

You are correct that the use of capacity_sem prevents one device from running more than one iteration ahead of its immediate neighbors.

Even with capacity_sem, one device can run ahead farther compared to devices that are farther away in the ring.

For example, suppose N=8 and device 4 pauses forever after signaling its left neighbor on capacity_sem in step 0. Then:

  • Devices 0, 1, 2, 3, 6, and 7 complete step 0.
  • Devices 0, 1, 2, and 7 complete step 1.
  • Devices 0 and 1 complete step 2.
  • No device is able to complete step 3.

(I do think we should update the text to say something like "If we have N devices, this means that a device can be up to N/2 iterations ahead of the device farthest from …

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@wenqinI
Comment options

Answer selected by wenqinI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants