An approximation scheme for energy-efficient scheduling of real-time tasks in heterogeneous multiprocessor systems