IP Library Granted Patent US 12675330
Granted Patent B2
US 12675330 · App. 18/358,501 · Granted Jul 7, 2026

Method and a system for execution of tasks in an operating environment

Inventors: Sudharshan Rao B (Bengaluru, IN); Tushar Vrind (Bengaluru, IN); Venkata Raju Indukuri (Bengaluru, IN)
Assignee: Samsung Electronics Co., Ltd.
G06F9/5038
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 12675330
App. No.
18/358,501
Granted
Jul 7, 2026
Kind
B2
Abstract

Various example embodiments relate to methods, devices, and/or systems for executing a plurality of tasks in a computer operating environment. The method comprises monitoring a remaining execution time of a current task executing on the processing circuitry, and performing, by the processing circuitry, pre-emption of the current task based on the remaining execution time of the current task and a desired execution threshold time, the desired execution threshold time being one of a desired value based on one or more configuration parameter of the current task or a dynamic value determined based on information related to ongoing activities in the computer operating environment.

Claims (62)

1 . A method of executing a plurality of tasks in a computer operating environment, the method comprising:

monitoring, by processing circuitry, a remaining execution time of a current task executing on a first processor core; and

performing, by the processing circuitry, pre-emption of the current task based on the remaining execution time of the current task and a desired execution threshold time, the desired execution threshold time being one of a desired value based on one or more configuration parameters of the current task or a dynamic value determined based on information related to ongoing activities in the computer operating environment, wherein the performing the pre-emption further includes,

comparing the remaining execution time of the current task executing on the first processor core with a desired execution value, the desired execution value determined based on the desired execution threshold time and an interrupt processing time associated with the first processor core,

pre-empting the current task in response to the remaining execution time being greater than or equal to the desired execution value, and

cancelling the pre-emption of the current task in response to the remaining execution time being less than the desired execution value.

2 . The method as claimed in claim 1 , wherein the computer operating environment is one of:

a single processor core environment or a multi-processor core environment.

3 . The method of claim 1 , the method further comprising:

determining the desired execution threshold time based on a total expected execution time of the current task, the total expected execution time being determined based on the one or more configuration parameters of the current task and the information related to the ongoing activities in the computer operating environment.

4 . The method as claimed in claim 1 , wherein the information related to the ongoing activities in the computer operating environment comprises at least one of:

one or more current activities in one or more processor cores, a load observed on the one or more processor cores, a frequency of execution of tasks in the one or more processor cores, or any combinations thereof.

5 . The method as claimed in claim 1 , wherein the current task is one of:

a bounded task or a free-running task in a multi-processor core environment.

6 . The method as claimed in claim 5 , wherein in response to the current task being the bounded task:

the method further comprises,

selecting a bounded processor core as the first processor core for executing the current task based on one or more bounded core conditions associated with the bounded processor core; and

the performing the pre-emption further comprises,

comparing the remaining execution time of the current task executing on the bounded processor core with the desired execution value, the desired execution value determined based on the desired execution threshold time and the interrupt processing time associated with the bounded processor core.

7 . The method as claimed in claim 6 , wherein the one or more bounded core conditions comprises at least one of:

identifying that the bounded processor core is not a local processor core, determining that the bounded processor core is active, determining that the bounded processor core is running a lower priority task, determining that the bounded processor core is not executing a real-time task, or any combinations thereof.

8 . The method as claimed in claim 5 , wherein in response to the current task being the free-running task;

the method further comprises,

selecting a target processor core to execute the current task from a plurality of target processor cores based on one or more target core conditions associated with the plurality of target processor cores; and

the performing the pre-emption comprises,

comparing the remaining execution time of the current task executing on the target processor core with the desired execution value, the desired execution value set based on the desired execution threshold time of the current task and the interrupt processing time associated with the target processor core.

9 . The method as claimed in claim 8 , wherein the one or more target core conditions comprises at least one of:

identifying that the target processor core is not a local processor core, determining that the target processor core is active, determining that the target processor core is running a lower priority task, determining that the target processor core is not executing a real-time task, determining that the target processor core is associated with an idle time greater than idle times of other processor cores from the plurality of target processor cores, or any combinations thereof.

10 . A system for executing a plurality of tasks in a computer operating environment, the system comprising:

one or more processors;

memory storing processor-executable instructions, which, when executed by the one or more processors, cause the one or more processors to,

monitor a remaining execution time of a current task executing in a first processor of the one or more processors; and

perform pre-emption of the current task based on the remaining execution time of the current task and a desired execution threshold time, the desired execution threshold time being one of a desired value based on one or more configuration parameter of the current task or a dynamic value determined based on information related to ongoing activities in the computer operating environment-, wherein the performing the pre-emption further includes,

comparing the remaining execution time of the current task executing on the first processor with a desired execution value, the desired execution value determined based on the desired execution threshold time and an interrupt processing time associated with the first processor,

pre-empting the current task in response to the remaining execution time being greater than or equal to the desired execution value, and

cancelling the pre-emption of the current task in response to the remaining execution time being less than the desired execution value.

11 . The system as claimed in claim 10 , wherein the computer operating environment is one of:

a single processor environment or a multi-processor core-environment.

12 . The system of claim 10 , wherein the one or more processors are further caused to:

determine the desired execution threshold time based on a total expected execution time of the current task, the total expected execution time determined based on one or more configuration parameters of the current task and the information related to the ongoing activities in the computer operating environment.

13 . The system as claimed in claim 10 , wherein the information related to the ongoing activities in the computer operating environment comprises at least one of:

one or more current activities in the one or more processors, a load observed on the one or more processors, a frequency of execution of tasks in the one or more processors, or any combinations thereof.

14 . The system as claimed in claim 10 , wherein the current task is one of:

a bounded task, or a free-running task in a multi-processor environment.

15 . The system as claimed in claim 14 , wherein in response to the current task being the bounded task, the one or more processors are further caused to:

select a bounded processor cere as the first processor for executing the current task based on one or more bounded core conditions associated with the bounded processor; and

compare the remaining execution time of the current task executing on the bounded processor with the desired execution value, the desired execution value determined based on the desired execution threshold time and the interrupt processing time associated with the bounded processor.

16 . The system as claimed in claim 15 , wherein the one or more bounded core conditions comprises at least one of:

identifying that the bounded processor is not a local processor, determining that the bounded processor is active, determining that the bounded processor is running a lower priority task, determining that the bounded processor is not executing a real-time task, or any combinations thereof.

17 . The system as claimed in claim 14 , wherein in response to the current task being the free-running task, the one or more processors is further caused to:

select a target processor as the first processor for executing the current task from a plurality of target processors based on one or more target core conditions associated with the plurality of target processors; and

compare the remaining execution time of the current task executing on the target processor with the desired execution value, the desired execution value set based on the desired execution threshold time and the interrupt processing time associated with the target processor.

18 . The system as claimed in claim 17 , wherein the one or more target core conditions comprises at least one of:

identifying that the target processor is not a local processor-core, determining that the target processor is active, determining that the target processor is running a lower priority task, determining that the target processor is not executing a real-time task, determining that the target processor is associated with an idle time greater than idle times of other processors from the plurality of target processors-ceres, or any combinations thereof.

19 . A non-transitory computer readable medium storing computer readable instructions, which when executed by processing circuitry, causes the processing circuitry to:

monitor a remaining execution time of a current task executing in a first processor core of a computer operating environment; and

perform pre-emption of the current task based on the remaining execution time of the current task and a desired execution threshold time, the desired execution threshold time being one of a desired value based on one or more configuration parameter of the current task or a dynamic value determined based on information related to ongoing activities in the computer operating environment, wherein the performing the pre-emption further includes,

comparing the remaining execution time of the current task executing on the first processor core with a desired execution value, the desired execution value determined based on the desired execution threshold time and an interrupt processing time associated with the first processor core,

pre-empting the current task in response to the remaining execution time being greater than or equal to the desired execution value, and

cancelling the pre-emption of the current task in response to the remaining execution time being less than the desired execution value.

20 . The non-transitory computer readable medium of claim 19 , wherein the computer operating environment is one of:

a single processor core environment or a multi-processor core environment.