Multicore Motor Vehicle Processor Task Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing static distribution of tasks in multicore microcontrollers for motor vehicles can lead to inefficiencies due to varying core processing speeds, causing some cores to idle while others finish tasks, which slows down the system and reduces responsiveness.

Innovation Solution

A method where each core dynamically selects and processes tasks from a predetermined ordered list during one-off functions, using a common management function and binary variables to ensure balanced load distribution and efficient task execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tasks are statically distributed among cores, then the distribution is simple to implement and predictable, but cores with slower processing speeds idle while faster cores complete tasks, reducing overall system responsiveness

Engineering Contradiction:
Improvesystem responsivenessVSAvoididle time of cores
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent transforms the static task distribution into a dynamic one. Instead of pre-assigning tasks to specific cores, the system uses a task pool where any available core can select and execute tasks. This dynamic approach allows faster cores to continue working while slower cores complete their current tasks, eliminating idle time and improving overall system responsiveness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Each core autonomously selects tasks from the shared task pool based on its own availability and processing speed. The cores self-regulate their workload without requiring complex centralized scheduling, allowing them to independently optimize their execution efficiency while contributing to overall system productivity.

Inventive Principle:
Principle #25Self-service

2Reliability

If all regular functions are put on hold to process one-off initialization functions, then complete initialization can be achieved, but processing time for singular functions increases and system becomes less responsive

Engineering Contradiction:
Improveinitialization completenessVSAvoidprocessing time for one-off functions
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent segments the one-off initialization function into multiple independent tasks that can be distributed across multiple cores simultaneously. Instead of executing initialization sequentially on a single core while halting all regular functions, the system divides initialization tasks into a pool that can be processed in parallel by multiple cores, reducing total initialization time while maintaining completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuous execution of regular functions alongside initialization tasks. Rather than completely halting regular functions during initialization, the multicore architecture allows regular functions to continue running on cores that are not currently executing initialization tasks, ensuring uninterrupted useful action throughout the initialization process.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12073245B2Method for managing a plurality of tasks by a multicore motor vehicle processor
Publication Date: 2024.08.27 VITESCO TECHNOLOGIES GMBH
  • US12073245B2 patent drawing
  • US12073245B2 patent drawing
  • US12073245B2 patent drawing

AI summary

Disclosed is a method for managing a plurality of tasks of a one-off function implemented by a motor vehicle computer, the computer including a microcontroller, the microcontroller, termed a “multicore” microcontroller, including a plurality of cores, each of which is capable of processing regular functions and one-off functions, each one-off function including a plurality of tasks to be executed, each of which is identified by an identifier, the method including, during the processing of the tasks of a one-off function, each time a core of the plurality of cores is available to process a task, a step of the available core selecting, from a predetermined ordered list of identifiers of the tasks of the one-off function, the identifier of the first task which has not yet been processed by the other cores, and a step of the available core processing the task that corresponds to the selected identifier.