Provided is a vehicle control apparatus with which it is possible to allocate programs to multiple cores so as to satisfy a deadline even when software programs having two or more control cycles are intermixed. The vehicle control apparatus pertaining to the present invention allocates tasks to processor cores in consideration of the execution order of the tasks, the execution cycles of the tasks, and the cost of communication between the processor cores.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A vehicle control apparatus comprising: a processor that includes a plurality of processor cores to execute tasks which control operations of a vehicle; and a task allocation unit that allocates the tasks to the respective processor cores, wherein the task allocation unit acquires an execution order parameter describing an execution order of the task, an execution cycle parameter describing an execution cycle of the task, and a communication cost parameter describing a communication cost, which is required for data communication between two of the processor cores, and allocates the tasks to the respective processor cores in accordance with each description of the execution order parameter, the execution cycle parameter, and the communication cost parameter, the processor outputs an execution order log describing an order of the tasks executed by the respective processor cores, an execution cycle log describing a cycle of the task executed by the processor core, and a communication cost log describing a communication cost spent for data communication between the two processor cores, wherein the task allocation unit sets, for each of the tasks, a number of times that is acceptable for a control cycle of the task to not be completed without counting the task as having an error, wherein when there are a plurality of allocation candidates serving as candidates of the tasks allocable to the processor core in accordance with the execution order parameter, the task allocation unit allocates an allocation candidate having the shorter execution cycle among the allocation candidates more preferentially, and wherein when there are the plurality of allocation candidates and none of the communication cost of each of the allocation candidates is zero, the task allocation unit applies a greater weight on the communication cost of a candidate having a shorter execution cycle among the allocation candidates, and allocates the allocation candidate having a higher communication cost after being weighted more preferentially to the processor core.
2. The vehicle control apparatus according to claim 1 , wherein the task allocation unit allocates the allocation candidate with the task, executed immediately prior to the corresponding allocation candidate, having the shorter execution cycle more preferentially to the processor core.
3. The vehicle control apparatus according to claim 1 , wherein the task allocation unit allocates the allocation candidate of which the communication cost is zero and the allocation candidate of which the communication cost is not zero to the processor cores, different from each other, in parallel.
4. The vehicle control apparatus according to claim 1 , wherein the execution cycle parameter describes a priority parameter describing each priority of the tasks, and the task allocation unit performs the allocation such that the task having the lower priority, is not regarded as an error when not being completed within the execution cycle, a more number of times.
5. The vehicle control apparatus according to claim 1 , wherein the task allocation unit performs the allocation after start of the vehicle control apparatus until the processor starts execution of the task.
6. The vehicle control apparatus according to claim 5 , wherein the task allocation unit performs the allocation again by newly acquiring the execution order parameter, the execution cycle parameter, and the communication cost parameter after the processor starts the execution of the task after the start of the vehicle control apparatus.
7. The vehicle control apparatus according to claim 1 , wherein the processor stores the execution order log, the execution cycle log, and the communication cost log in a predetermined storage area on a storage device, and overwrites an oldest log sequentially with a new log when there is no free space in the predetermined storage area.
8. The vehicle control apparatus according to claim 1 , wherein the processor stores the execution order log, the execution cycle log, and the communication cost log in a predetermined storage area on a storage device, and stops output of the log when there is no free space in the predetermined storage area.
9. The vehicle control apparatus according to claim 1 , wherein the execution cycle parameter describes a deadline that specifies a last acceptable time as a time by which the task needs to be completed, and the task allocation unit performs the allocation such that each of the tasks is completed by the time specified by the deadline at the latest.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
April 22, 2015
May 5, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.