IP Library › Granted Patent US 11,822,967
Granted Patent B2
US 11,822,967 · App. 16/998,372 · Granted Nov 21, 2023

Task distribution method for minimizing preemption between tasks and apparatus for performing the same

Inventors: Jaewook Jeon (Suwon-si, KR); Junyoung Moon (Suwon-si, KR); Doyeon Kim (Suwon-si, KR); Minhee Jo (Suwon-si, KR); Jaewan Park (Suwon-si, KR)
Assignee: Research & Business Foundation Sungkyunkwan University
G06F9/5038G06F9/4887G06F9/505
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 11,822,967
App. No.
16/998,372
Granted
Nov 21, 2023
Kind
B2
Abstract

Provided is a method for arranging tasks including sequentially allocating offsets, in unit of load measurement, to tasks having a period equal to or greater than a reference value, among the tasks, and sequentially allocating the offsets to tasks having a period smaller than the reference value, among the tasks, in ascending order, starting from a task having a shortest period, the sequentially allocating the offset comprising sequentially allocating a smallest offset to a first task having a shortest period among tasks having the period smaller than the reference value and allocating the offset to a second task, which is an allocation target of the offset, among remaining tasks excluding the first task, among the tasks having the period smaller than the reference value, based on a result of comparing the period of the first task and an execution time of the second task.

Claims (47)

1. A processor-implemented method for arranging a task in an electronic control unit (ECU) comprising at least one processor and a memory configured to store data, the method comprising:

sequentially allocating offsets, by the at least one processor, in unit of load measurement, to tasks having a period equal to or greater than a reference value, among the tasks;

sequentially allocating the offsets, by the at least one processor, to tasks having a period smaller than the reference value, among the tasks, in ascending order, starting from a task having a shortest period; and

executing the tasks, by the at least one processor, according to the allocated offsets,

wherein the sequentially allocating of the offset comprises:

sequentially allocating, by the at least one processor, a smallest offset to a first task having a shortest period among tasks having the period smaller than the reference value, and

allocating, by the at least one processor, the offset to a second task, which is an allocation target of the offset, among remaining tasks excluding the first task, among the tasks having the period smaller than the reference value, based on a result of comparing the period of the first task and an execution time of the second task.

2. The method of claim 1 , wherein the allocating of the offset based on the result of comparing the period of the first task and the execution time of the second task comprises:

switching the second task to a standby state when the execution time of the second task is longer than the period of the first task; and

allocating an offset for minimizing preemption with another task to the second task when the execution time of the second task is shorter than the period of the first task.

3. The method of claim 2 , wherein the allocating of the offset to the second task to minimize preemption with the other task comprises:

allocating a largest offset to the second task, among candidate offsets previously allocated to a third task having a period shorter than a period of the second task and having a minimum preemption number with the other task.

4. The method of claim 3 , wherein:

the third task is a task completed in offset allocation in order immediately before the second task, and

the second task is arranged immediately after the third task arranged in the offset allocated to the second task.

5. The method of claim 2 , further comprising:

virtually allocating all offsets to the tasks in a standby state and allocating an offset having a minimum preemption number with the other task as a result of the virtual allocation.

6. The method of claim 2 , wherein the sequentially allocating of offsets, in unit of load measurement, to tasks having a period equal to or greater than a reference value, among the tasks comprises:

sequentially allocating the offsets in ascending order, starting from a task having a short period among the tasks having the period equal to or greater than the reference value, and

arranging the task such that the allocated offset is located in the middle of performing the task to which the offset is allocated.

7. The method of claim 2 , wherein the reference value and the unit of load measurement are 10 ms.

8. The method of claim 1 , wherein the reference value is determined based on the unit of load measurement.

9. An electronic control unit (ECU) for arranging a task, the ECU comprising:

at least one processor; and

a memory configured to store data,

wherein the at least one processor configured to execute instructions stored in the memory, thereby configuring the at least one processor to:

sequentially allocate offsets, in unit of load measurement, to tasks having a period equal to or greater than a reference value, among the tasks,

sequentially allocate the offsets to tasks having a period smaller than the reference value, among the tasks, in ascending order, starting from a task having a shortest period, and

executing the tasks, according to the allocated offsets, and

wherein the processor is further configured to:

sequentially allocate a smallest offset to a first task having a shortest period among tasks having the period smaller than the reference value, and

allocate the offset to a second task, which is an allocation target of the offset, among remaining tasks excluding the first task, among the tasks having the period smaller than the reference value, based on a result of comparing the period of the first task and an execution time of the second task.

10. The ECU of claim 9 , wherein when allocating the offsets based on the result of comparing the period of the first task and the execution time of the second task, the at least one processor is configured to:

switch the second task to a standby state when the execution time of the second task is longer than the period of the first task, and

allocate an offset for minimizing preemption with another task to the second task when the execution time of the second task is shorter than the period of the first task.

11. The ECU of claim 10 , wherein, when allocating the offset to the second task to minimize preemption with the other task, the at least one processor is configured to:

Allocate a largest offset to the second task, among candidate offsets previously allocated to a third task having a period shorter than a period of the second task and having a minimum preemption number with the other task.

12. The ECU of claim 11 , wherein:

the third task is a task completed in offset allocation in order immediately before the second task, and

the second task is arranged immediately after the third task arranged in the offset allocated to the second task.

13. The ECU of claim 10 , wherein the at least one processor is configured to:

virtually allocate all offsets to the tasks in a standby state, and alecates allocate an offset having a minimum preemption number with the other task as a result of the virtual allocation.

14. The ECU of claim 10 , wherein, when sequentially allocating offsets, in unit of load measurement, to tasks having a period equal to or greater than a reference value, among the tasks, the at least one processor is configured to:

sequentially allocate the offsets in ascending order, starting from a task having a short period among the tasks having the period equal to or greater than the reference value, and

arrange the task such that the allocated offset is located in the middle of performing the task to which the offset is allocated.

15. The ECU of claim 9 , wherein the reference value is determined based on the unit of load measurement.

16. The ECU of claim 9 , wherein the reference value and the unit of load measurement are 10 ms.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2020
From: JEON, JAEWOOK; MOON, JUNYOUNG; KIM, DOYEON; JO, MINHEE; PARK, JAEWAN
To: RESEARCH & BUSINESS FOUNDATION SUNGKYUNKWAN UNIVERSITY
Reel/Frame 053552/0770 →
Priority Claims (2)
KR 10-2019-0101913 · Aug 20, 2019 · national
KR 10-2019-0101914 · Aug 20, 2019 · national
Continuity (1)
Related Publication 20210055969A1 · Feb 25, 2021