Energy Aware Computing: Powerful Approaches for Green System Design