In the description of his own paper "On Interprocess Communication" [Distributed Computing 1, 2 (1986), 77-101], Leslie Lamport wrote
Most computer scientists regard synchronization problems, such as the mutual exclusion problem, to be problems of mathematics. How can you use one class of mathematical objects, like atomic reads and writes, to implement some other mathematical object, like a mutual exclusion algorithm? I have always regarded synchronization problems to be problems of physics. How do you use physical objects, like registers, to achieve physical goals, like not having two processes active at the same time?
My question is on the mutual exclusion problem particularly.
What is the significance of regarding the mutual exclusion problem as a problem of physics? More specifically,
- What are the differences between the mathematical perspective and the physical one on the mutual exclusion problem?
- What inspirations and results have been gained directly from the physical perspective?