Distributing Bits and Atoms
The principles used today for developing distributed systems will not scale to the limit of thermodynamically complex engineered systems. The great insight of statistical mechanics is that it is possible to make precise statements about the macroscopic behavior of a system based on knowledge of its microscopic governing equations, without requiring a specification of its internal confirguration. A scalable theory of distributed system design must likewise be able to allocate available local degrees of freedom to accomplish a global goal, without demanding a detailed description of their configuration. Towards that end, I discuss the role of physical error correction in building reliable systems out of unreliable components, and the use of principles from mathematical programming as a language for expressing algorithms in this statistical-mechanical limit.