
Distributed Computing Through Combinatorial Topology: https://www.amazon.com/Distributed-Computing-Through-Combina...
"Introduction to Algorithms" by Cormen
"Distributed Computing Through Combinatorial Topology" by Kozlov, Herlihy & Rajsbaum
"Practical UNIX programming" by A. Robbins
The idea is that the state of a distributed computation can be represented as a simplicial complex (think "graph" only in higher dimensions), and that steps in a protocol correspond to continuous transformations applied to the complex.
The result is that significant distributed computing problems get reduced to well-known results from combinatorial topology, and they "just fall out".