Cognitive distributed computing: a new approach to distributed data centres with self-managing services on commodity hardware. (2016)