Patent ID: 8161491

Claim:
A method comprising: receiving during a first time interval by a data-processing system a plurality of tasks that are time-sensitive; bin-packing by the data-processing system the plurality of tasks into (a) a first bin-pack to be executed on a first processor and (b) a second bin-pack to be executed on a second processor, wherein: (i) μ 1 is a percentage of time to be used by the first processor for executing tasks in the first bin-pack during a second time interval, (ii) μ 2 is a percentage of time to be used by the second processor for executing tasks in the second bin-pack during the second time interval, and (iii) the bin-packing is based on minimizing a difference between μ 1 and μ 2 ; executing by the first processor the tasks in the first bin-pack; executing by the second processor the tasks in the second bin-pack; scheduling by the data-processing system a first task that is a non-time-sensitive task to be executed on the first processor, wherein the first task is at a head of a first queue that is associated with the first processor; and executing a second task that is a non-time-sensitive task on the first processor before the first task when: the second task is at a head of a second queue that is associated with the second processor; the first task and the second task are of equal priority; and the second task entered the second queue before the first task entered the first queue, wherein: each time-sensitive task has a runtime parameter; μ 1 is based on a sum of the runtime parameters of the tasks in the first bin-pack; and μ 2 is based on a sum of the runtime parameters of the tasks in the second bin-pack.