1. A method, comprising: receiving a first request, at a data processing device, to schedule execution of a first task; selecting a first processor core of a plurality of processor cores at the data processing device in response to the first request, where the first processor core is selected based on first cumulative utilization information indicative of a relative amount of cumulative utilization of each respective processor core of the plurality of processor cores; and executing the first task at the first processor core in response to selecting the first processor core, wherein executing the first task comprises transitioning the first processor core from a low-power mode to a first active mode at a first time to execute the first task; in response to determining a first amount of time has elapsed between the first time and a second time: determining if the first processor core is in the first active mode; in response to determining the first processor core is in the active mode, transitioning a second processor core of the plurality of processor cores to a second active mode at a third time; and transitioning the first processor core to an inactive state after migrating a task currently executing at the first processor core to the second processor core.