Vehicle Control Unit Scheduling With Cross-Core Backup Threads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High Performance Computing in safety-critical automotive systems faces challenges due to limitations in resource management, communication, and scheduling policies within the AUTOSAR adaptive platform, which restricts dynamic function configuration, memory allocation, and thread execution, leading to potential malfunctions and reduced reliability.

Innovation Solution

A method for scheduling vehicle control unit operating systems that determines runnable functions and executes tasks using both primary and backup threads across different cores, with thread flag management to monitor and ensure timely task completion, and generates alarms for overdue tasks, implemented on the AUTOSAR adaptive platform.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the AUTOSAR adaptive platform is used for resource management and scheduling, then software integration effort is reduced and system safety is improved, but dynamic function configuration is limited and scheduling policies are restricted

Engineering Contradiction:
Improvesystem safetyVSAvoiddynamic function configuration
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic thread management that allows the system to switch between different thread execution modes (primary thread, backup thread, or both simultaneously) based on real-time system state and task requirements. This dynamic adaptability enables the system to overcome the static scheduling limitations of AUTOSAR while maintaining its safety framework.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the task execution into multiple independent threads (primary thread and backup thread) that can be managed separately. Each thread has its own execution context and can be independently scheduled, allowing fine-grained control over task execution while working within the AUTOSAR architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If primary thread execution is used for task processing, then execution speed is improved, but system reliability is reduced due to lack of backup

Engineering Contradiction:
Improveexecution speedVSAvoidsystem reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a backup thread mechanism that is pre-configured and ready to execute if the primary thread fails. This beforehand preparation ensures that task execution can continue without interruption, providing fault tolerance while maintaining high execution speed through the primary thread's efficient single-thread operation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent dynamically changes the execution parameters by switching between different thread configurations (primary only, backup only, or both simultaneously) based on system requirements. This allows the system to optimize for either speed or reliability depending on the operational context.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If backup thread execution is implemented for fault tolerance, then system reliability is improved, but computing resource consumption increases

Engineering Contradiction:
Improvefault toleranceVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent dynamically activates or deactivates the backup thread based on real-time system conditions, task criticality, and resource availability. This dynamic approach allows the system to maintain fault tolerance capabilities while minimizing computing resource consumption during normal operation by keeping the backup thread in a lower-power state.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements partial backup execution where the backup thread is not always fully active but can be selectively activated based on system needs. This partial action approach provides fault tolerance when required while reducing overall computing resource consumption compared to continuously running both threads at full capacity.

Inventive Principle:
Principle #16Partial or excessive action

4Ease of operation

If fixed allocation of processes for CPU is used, then scheduling simplicity is maintained, but system adaptability to different tasks is limited

Engineering Contradiction:
Improvescheduling simplicityVSAvoidtask adaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic process allocation that allows tasks to be assigned to different CPU cores based on runtime conditions, task requirements, and system state. This dynamic allocation mechanism maintains scheduling simplicity through automated decision-making while providing high adaptability to different task types and system scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal scheduling mechanism that can handle multiple task types and execution scenarios through a single flexible framework. The thread management system can accommodate various task requirements (real-time, periodic, aperiodic) while maintaining a unified scheduling approach that preserves operational simplicity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12026549B2Control unit for a vehicle and an operating system scheduling method thereof
Publication Date: 2024.07.02 HYUNDAI AUTOEVER
  • US12026549B2 patent drawing
  • US12026549B2 patent drawing
  • US12026549B2 patent drawing

AI summary

A method of scheduling an operating system of a vehicle control unit includes determining a runnable function according to a first task requested from an application for a vehicle; executing the first task by operating with any one of a first thread and a second thread according to the determined runnable function for a first period in the first core; and when operating with the second thread in the first core, executing a first backup task corresponding to the first task in a second core that is different from the first core for the first period.