Autonomic computing techniques for pervasive systems and energy efficient data centres