Exactly 100 years ago this month in Nov 1915 Einstein published his Field Equations and forever changed the physics and our understanding of space and time. His ideas are still relevant in the field of Distributed Systems. This is my tribute to Einstein by showing how his fundamental principles directly apply to distributed system design.
Accept the reality and work backwards to fix your theories
In last century Einstein changed the physics and turned it upside down several times again and again by simply accepting the reality as it is and working backwards to fix the physics to deal with it.
- First Einstein used the reality of constant speed of light to derive special relativity and famous E=mc2.
- Then he used the simple everyday fact about equivalence of inertial mass and gravitational mass to derive General relativity. Theories about unimaginable stuff like blackholes and Big Bang followed.
- He accepted the fundamental reality of quantum nature of interactions between light and matter and led the foundation of quantum mechanics by explaining photo electric effect. By accepting the simple fact that two photons are indistinguishable from each other he derived the Bose-Einstein statistics that is the basis of how Lasers work and at the root of everything IT - from VLSI to printers to optic fibers to Compact Disks.
Photon the Messenger of Force
The greatest achievement of last century is Quantum Field Theory , the most successful of which is Quantum Electro-Dynamics (QED).
The theory posits that all interactions between matter particles are mediated through force particles. In short one matter particle sends a message to other particle in the form of a photon. After receiving this event/message the second matter particle changes its internal state. The Quantum Field Theory reduced all physical laws to this basic interaction scheme. A Fermion (a matter particle) keeps on doing what it is doing i.e remains in the same state until it either sends a message or receives a message - a Boson (force particle).
In short the nature at it's most fundamental level works on this Message Passing paradigm
No Global Clock and Only Local Effects
When you look at the night sky there are billions of shiny stars. You can see a star only because a photon from that star started perhaps billions of years ago and hitting your eye right now getting converted to chemical-electrical signal. Have you ever wondered that the moonlight you see now might have actually started ~8 minutes ago at the surface of the sun and reached you only after reflecting at the surface of the moon? Suppose you see a shooting star and two minutes later see a super-nova. What event do you think really happened before and which one after? It really depends on frame of reference - your local frame of reference.
In a distributed systems messages get reordered and messages get delayed . How do you know which event happened before another event. This is super important because without ordering the events any attempt of maintaining consistency is impossible.
But not all hope is NOT lost because we still know two things
- that star became unstable before it went super nova
- that light from shooting star was emitted before you received it.
Formally this relation is captured in a Strict Partial Order < such that
- If event A happened on the same process before event B then A < B
- If event A is sending of message M and B is the receiving of that message then A < B
- Transitive : If A < B and B <C then A < C
- Irreflexive : The event can not be before itself !
- Necessity : If A < B is true then B < A must be false.
Black holes and Gravitational Lensing
In Distributed Systems the messages often get lost or sometimes a node just fall into the blackhole. We know the presence of the node and its state only by receiving a messages from it.
But equally importantly because of gravitational bending of light we might have multiple images of the star. A parallel in distributed systems is when you get multiple duplicated messages from the same event and need to deal with it
Einstein based all his theory on this fundamental principle of causality and his genius is converting theory of local effects into a theory that can describe the entire universe and the birth of Space and Time .
Below is the image of photograph that proved the light-bending effects of suns gravitation that turned Einstein's general theory of Relativity into Law of Nature.
Thank you very much Albert Einstein.
Note : all images from wikipedia - many thanks to the original creators of those images.