2.3 Energy Optimization in Multi-core Systems