Nano-scale Distributed Algorithms