The energy consumption of a computing system is reduced by incorporating two
or more processing units with diverse energy efficiencies and diverse processing
capabilities. A scheduler intercepts an interrupt(s) from I/O space, resolves the
interrupt to a task, retrieves energy and performance attributes for the task,
and schedules the task for execution on the processing units such that the task
will consume the least amount of energy while executing in a timely fashion.