Solution of a Problem in Concurrent Programming Control
Assume there are N computers which engage in a cyclic activity.
The computers engage with a common store where they can write or read to (but not at the same time).
The Problem
- The solution must be symmetrical. There is no static ordering of the computers (i.e. if 1 and 2 are trying to use the store, there is no previous ordering that says 1 should beat out 2 in case of ties. If there is, this problem is trivial).
- The speeds of the computers are unknown.
- If a computer is stopped outside of its critical section, this should not block other computers.
- There should be no deadlock, where two computers spin forever, each waiting for the other.
The Solution
The solution proposes a common store where