Containerized Automotive Software Execution with Task Sequencer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems, particularly in automotive real-time systems, face challenges in guaranteeing end-to-end computing latencies and managing resource interference between concurrently executing software components, leading to unpredictable behavior and potential safety failures.
Innovation Solution
A hierarchical scheduling approach is implemented using containers, where each application is assigned to a specific container, and task sequencers manage task execution within these containers, ensuring exclusive resource access and preventing interference between containers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple software components are executed concurrently to handle system complexity, then productivity and functionality are improved, but resource interference and unpredictability increase
Solution Approach 1:
The patent segments the computational system into isolated runtime environments (containers) that separately execute different software components. Each container operates independently with its own memory space and resources, preventing interference between concurrent components while maintaining system-wide coordination through the task sequencer.
Solution Approach 2:
The task sequencer acts as an intermediary between the operating system and individual software components. It receives timing information from the OS, determines the execution sequence of tasks across containers, and coordinates resource allocation to guarantee end-to-end latency requirements while enabling concurrent execution.
2Ease of operation
If arbitration mechanisms are implemented to manage concurrent tasks, then resource allocation is improved, but system complexity and overhead increase
Solution Approach 1:
Each container executes tasks autonomously based on timing information received from the task sequencer, without requiring complex inter-task arbitration. The containerized structure allows software components to self-manage their execution within allocated timeframes, reducing the burden on central arbitration mechanisms.
Solution Approach 2:
The system performs preliminary scheduling by the operating system, which provides timing information to the task sequencer before execution begins. The task sequencer then pre-determines the execution sequence of tasks across containers based on this timing information, eliminating the need for complex real-time arbitration during task execution.
3Adaptability or versatility
If low-criticality software components are allowed to execute freely, then system versatility is improved, but interference with critical functions increases
Solution Approach 1:
The patent segments critical and non-critical software components into separate containers with isolated runtime environments. This segmentation allows low-criticality components to execute freely within their containers without interfering with critical functions, while the task sequencer ensures proper timing and resource allocation for both.
Solution Approach 2:
The system applies preliminary protective measures by isolating critical software components in dedicated containers with guaranteed resource allocation and timing. The task sequencer pre-configures execution priorities and resource reservations to prevent potential interference from non-critical components before it can occur.
Data Source
AI summary
A customer function on a computer system comprising processing cores. The customer function comprises applications with a multitude of different tasks. The computer system provides containers and is configured to activate and de-activate said containers so that a container is active or inactive, wherein all tasks of the applications are assigned to containers, wherein all tasks of each specific application are assigned to exactly one specific container, wherein in a timeframe, during which a container is active, one or more cores of the computer system are exclusively reserved for the execution of the tasks of the application of said container, and wherein the computer system is configured such that when a container is inactive, the tasks of said container cannot be executed on the computer system. For each container a task sequencer is provided.


