IP Library Granted Patent US 12705098
Granted Patent B2
US 12705098 · App. 18/343,304 · Granted Aug 11, 2026

Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices

Inventors: Lan Wang (Beijing, CN); Lei Yu (Beijing, CN)
Assignee: ORANGE
G06F9/4893
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12705098
App. No.
18/343,304
Granted
Aug 11, 2026
Kind
B2
Abstract

An energy-efficient assignment of a task set T to a group of M processing devices models the process of deciding the assignment as a combinatorial optimization problem having an objective function optimizing the power consumption of the devices when executing subsets of the tasks, under a constraint that the total utilization of the task subset assigned to each respective processing device is lower than a threshold depending on the number of its processor cores. The objective function may be: min ⁢ ∑ i = 1 M P i ( τ i ) , where τ i denotes the subset of tasks allocated to the ith device, and P i (τ i ) represents power consumption of the ith device when executing τ i , and the constraint U τ i ≤M i /4 for all the devices, where U τ i is the total utilization of τ i executing on the i th device, and M i denotes the number of cores of the i th device. Solving the problem using a MaxMin or genetic algorithm gives good energy efficiency.

Claims (108)

1 . A computer-implemented method of scheduling periodic tasks on a group of multi-core processors, the method comprising:

defining as a combinatorial optimization problem a function of assigning, among a group of M processing devices, a set of tasks T for execution, using an objective function optimizing the power consumption of said processing devices when executing subsets of said tasks T, with a constraint that, for each processing device, a total utilization of a task subset assigned to the respective processing device, when executing on said processing device, is lower than a threshold, said threshold depending on the number of processor cores of said respective processing device;

applying a heuristic algorithm to generate a solution to the defined combinatorial optimization problem; and

commanding the scheduling, on each of the processing devices, of the task subset assigned to the respective processing device by the solution generated by the heuristic algorithm.

2 . The method of claim 1 , wherein each periodic task comprises subtasks and dependencies capable of representation by a directed acyclic graph, and for a group of M processing devices and a set of tasks T for execution, an i th processing device having a number of processor cores equal to M i , an objective function of the combinatorial optimization problem is

min

i

=

1

M

P

i

(

τ

i

)

where τ i denotes a subset of tasks, from task set T, which are allocated to the ith processing device, and P i (τ i ) represents the power consumption of the ith processing device when executing the task sub-set τ i ;

wherein said constraint is that, in the solution, the relationship U τ i ≤M i /4 is respected for all the processing devices scheduled to execute tasks, where U τ i is the total utilization of the task sub-set τ i when executing on the i th processing device; and

wherein said heuristic algorithm is a heuristic MaxMin algorithm or a meta-heuristic Genetic Algorithm to generate a solution to the defined combinatorial optimization problem.

3 . The method of claim 2 , wherein a heuristic MaxMin algorithm is applied to generate a solution to the defined combinatorial optimization problem, and the application of the heuristic MaxMin algorithm comprises:

setting to zero a sum of tasks' utilization on each processing device j of the group;

determining a maximum value and minimum value of average power consumption for each task T i on each processing device j in a case where no power-saving measures are employed;

for each task, determining a global maximum and global minimum of the average power consumption across the processing devices in the group;

sorting the tasks of the group in a list of tasks in descending order dependent on a difference between the global maximum and global minimum average power consumption for the respective task;

sorting the processing devices of the group in a list of groups in ascending order of minimum value of average power consumption;

for each processing device in the list of groups, determining whether the sum of (i) the existing utilization of the respective processing device j, and (ii) the utilization of the remaining highest-ranked task T h Th, in the list of tasks, is less than or equal to M j /4; and

upon a determination that said sum is less than or equal to M j /4, then assigning task T h to processing device j, and increasing the value for utilization of device j to said sum.

4 . The method of claim 2 , wherein a meta-heuristic Genetic Algorithm is applied to generate a solution to the defined combinatorial optimization problem, and the application of the heuristic Genetic Algorithm comprises:

designing a chromosome used by the Genetic Algorithm as a vector, each vector location corresponding to a gene location in the Genetic Algorithm and each gene location corresponding to a task to be assigned to a processing device;

setting the possible gene values to correspond to identifiers of the respective processing devices in the group; and

running the Genetic Algorithm with a fitness function

min

i

=

1

M

P

i

(

τ

i

)

.

5 . The method of claim 1 , wherein on each of the processing devices, the scheduling of the assigned task subset is performed using a global earliest deadline first algorithm.

6 . The method of claim 1 , wherein, in a preliminary step, a first processing device of the processing devices attempts to schedule the set of tasks for execution on its own processor cores, and upon a determination that the scheduling attempt demonstrates that a resulting workload is too great for the first processing device to execute while respecting timing constraints of the task set that the combinatorial optimization problem is defined and solved to offload tasks to one or more other processing devices in the group.

7 . The method of claim 6 , wherein in said preliminary step, the first of the processing devices attempts to schedule the set of tasks for execution on its own processor cores according to a process comprising:

decomposing a task into subtasks according to a directed-acyclic-graph representation of the task;

generating a timing diagram assuming an infinite number of processor cores are available to process subtasks in parallel, said timing diagram representing execution of said subtasks on a schedule respecting the deadlines and dependencies of the subtasks defined by the directed-acyclic-graph;

segmenting the timing diagram based on release times and deadlines of the subtasks, each segment including one or more parallel processing threads for execution, respectively, of at least part of a subtask by a respective processor core;

for each segment, dependent on the workload in the segment, deciding the frequency and/or voltage to be used by the processor core or cores to execute the one or more parallel processing threads of the segment, said decision setting the processor-core frequency and/or voltage to reduce power consumption to an extent that still enables respect of the subtask deadlines; and

scheduling execution of the subtasks of the segments assuming the processor-core frequencies and/or voltages set in the deciding step.

8 . The method of claim 7 , wherein in the preliminary step:

the generating of the timing diagram assigns to each segment a first number, m, of processor cores operating at a first speed, s; and

the deciding of processor-core frequency and/or speed in respect of a segment changes the number of processor cores assigned to the segment to a second number m′ and selects a second speed s′ for the second number of processor cores, according to the following process:

determining whether the maximum utilization among the utilizations of the subtasks having portions in the segment is less than or equal to s B /s max , where s max is the maximal speed of the processor cores and s B is a speed bound defined as

s

B

=

(

P

s

2

C

)

1

/

3

 where P s and C are constants in the power consumption function of the processor,

determining whether a highest utilization u max is less than or equal to s B /s max ,

upon a determination that the highest utilization u max is less than or equal to s B /s max , deciding the second speed s′ to be equal to s B , and deciding the second number m′ of processor cores to be equal to

m

×

s

s

B

,

 and

upon a determination that the highest utilization u max is greater than value s B /s max , decide the second speed s′ to be equal to u max ×s max , and decide the second number m′ of processor cores to be equal to

m

×

s

u

max

×

s

max

.

9 . The method of claim 6 , wherein in the preliminary step the scheduling of execution of the subtasks of the segments is performed using a global earliest deadline first algorithm.

10 . The method of claim 1 , wherein each periodic task comprises subtasks and dependencies capable of representation by a directed acyclic graph.

11 . The method of claim 1 , wherein said heuristic algorithm is a heuristic MaxMin algorithm or a meta-heuristic Genetic Algorithm to generate a solution to the defined combinatorial optimization problem.

12 . The method of claim 1 , wherein said constraint is that, in the solution, a relationship U τ i ≤M i /4 is respected for all the processing devices scheduled to execute tasks, where U τ i is the total utilization of the task sub-set τ i when executing on the i th processing device.

13 . The method of claim 1 , wherein commanding the scheduling, on each of the processing devices, of the task subset assigned to the respective processing device by the solution generated by the heuristic algorithm comprises, for each of at least a subset of the processing devices, offloading tasks to one or more other processing devices in a group of processing devices, wherein processing of at least one of the offloaded tasks cannot begin until at least another of the offloaded tasks has been completed.

14 . A scheduling system configured to schedule periodic tasks on a group of multi-core processors, said system comprising a computing apparatus programmed to execute instructions to perform a computer-implemented method of scheduling periodic tasks on a group of multi-core processors, the method comprising:

defining as a combinatorial optimization problem a function of assigning, among a group of M processing devices, a set of tasks T for execution, using an objective function optimizing the power consumption of said processing devices when executing subsets of said tasks T, with a constraint that, for each processing device, a total utilization of a task subset assigned to the respective processing device, when executing on said processing device, is lower than a threshold, said threshold depending on the number of processor cores of said respective processing device;

applying a heuristic algorithm to generate a solution to the defined combinatorial optimization problem; and

commanding the scheduling, on each of the processing devices, of the task subset assigned to the respective processing device by the solution generated by the heuristic algorithm.

15 . An edge server comprising the scheduling system of claim 14 .

16 . A non-transitory computer-readable medium having stored thereon a computer program which, when the program is executed by a processing unit of a computing apparatus, cause said processing unit to implement the method of claim 1 .

17 . A non-transitory computer-readable medium having stored thereon instructions which, when executed by a processor of a computing apparatus, cause the processor to perform the method of claim 1 .