IP Library Granted Patent US 11,645,124
Granted Patent B2
US 11,645,124 · App. 16/969,702 · Granted May 9, 2023

Program execution control method and vehicle control device

Inventors: Masataka Nishi (Tokyo, JP); Tomohito Ebina (Ibaraki, JP); Kazuyoshi Serizawa (Ibaraki, JP)
Assignee: Hitachi Astemo, Ltd.
G06F9/524G06F9/544G06F9/546
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,645,124
App. No.
16/969,702
Granted
May 9, 2023
Kind
B2
Abstract

To be capable of concurrent execution of a function group not in data conflict by a plurality of cores and to execute a function pair in data conflict in a temporal separation manner. A process barrier 20 includes N−1 checker functions 22 and one limiter function 23 , where the number of cores capable of concurrently executing the functions is N (N is an integer equal to or greater than 2), the checker functions 22 determine whether the head entry of a lock-free function queue LFQ 1 is either the checker function 22 or the limiter function 23 , and repeats reading of the head entry of the lock-free function queue LFQ 1 if either, and ends processing if neither, and the limiter function 23 is an empty function ending without performing any processing.

Claims (38)

1. A program execution control method, comprising:

a lock-free function queue in which a plurality of concurrently executable functions are registered in sequence, wherein

the lock-free function queue includes a process barrier inserted between functions in data conflict, and

of prior and subsequent functions in data conflict, the process barrier causes execution of the subsequent function to wait at a position of the process barrier until execution of the prior function is completed,

wherein, of the prior and subsequent functions in data conflict, the process barrier monitors whether execution of the prior function has been completed, and upon completion of the execution of the prior function, allows allocation of a core which is to execute the subsequent function,

wherein

the process barrier includes

a checker that confirms processing completion of a designated function, and

a limiter that causes execution of a function subsequent to the process barrier to wait,

upon confirming processing completion of the designated function, the checker deletes the limiter paired with the checker from the lock-free function queue, and

the core interrupts acquisition and execution of the function at a time of processing of the process barrier, and resumes processing of acquiring and executing the function from the lock-free function queue after deletion of the limiter.

2. The program execution control method according to claim 1 , comprising:

a plurality of the lock-free function queues; and

a management table that manages a core number of a core allocated for executing a function registered in each of the lock-free function queues.

3. The program execution control method according to claim 1 , wherein the core makes the lock-free function queue lock-free by using an atomic instruction when updating a variable indicating a head entry of the lock-free function queue.

4. A program execution control method, comprising:

a lock-free function queue in which a plurality of concurrently executable functions are registered in sequence, wherein

the lock-free function queue includes a process barrier inserted between functions in data conflict, and

of prior and subsequent functions in data conflict, the process barrier causes execution of the subsequent function to wait at a position of the process barrier until execution of the prior function is completed,

wherein, of the prior and subsequent functions in data conflict, the process barrier monitors whether execution of the prior function has been completed, and upon completion of the execution of the prior function, allows allocation of a core which is to execute the subsequent function,

the process barrier includes N−1 checkers and one limiter, where a number of cores capable of concurrently executing the functions is N (N is an integer equal to or greater than 2),

the checkers determine whether a head entry of the lock-free function queue is either the checker or the limiter, and repeats reading of the head entry if either, and ends processing if neither, and

the limiter is an empty function ending without performing any processing.

5. A vehicle control device, comprising:

a plurality of cores; and

a shared memory accessible from the cores, wherein

the shared memory holds a lock-free function queue including a process barrier inserted between functions in data conflict,

the process barrier includes

a checker configured to confirm processing completion of a designated function, and

a limiter configured to cause execution of a function subsequent to the process barrier to wait, and

the cores are configured to interrupt acquisition and execution of the function at a time of processing of the process barrier, and when the checker confirms processing completion of the designated function at a time of execution of the checker, the checker deletes the limiter paired with the checker from the lock-free function queue, and the cores resume processing of acquiring and executing the function from the lock-free function queue after deletion of the limiter.

6. The vehicle control device according to claim 5 , comprising:

a plurality of the lock-free function queues; and

a table configured to manage core numbers of cores allocated for executing a function registered in each of the lock-free function queues.

7. The vehicle control device according to claim 6 , wherein

the lock-free function queues are classified on a basis of a task function or a dynamic characteristic, and

cores that process the lock-free function queues are dynamically allocated.

8. The vehicle control device according to claim 6 , wherein cores that process the lock-free function queues are dynamically reallocated in accordance with a processing state of the lock-free function queues.

Assignments (2)
CHANGE OF NAME Recorded Sep 2, 2021
From: HITACHI AUTOMOTIVE SYSTEMS, LTD.
To: HITACHI ASTEMO, LTD.
Reel/Frame 057655/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: NISHI, MASATAKA; EBINA, TOMOHITO; SERIZAWA, KAZUYOSHI
To: HITACHI AUTOMOTIVE SYSTEMS, LTD.
Reel/Frame 053808/0148 →
Priority Claims (1)
JP JP2018-025692 · Feb 16, 2018 · national
Continuity (1)
Related Publication 20210004278A1 · Jan 7, 2021