Compile-Time Hypervisor for Embedded Control Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional hypervisor units are configured at runtime, leading to inefficient use of hardware resources and failing to meet real-time demands in embedded systems, particularly in the automotive sector, where large processor cores and memory are unnecessarily utilized.

Innovation Solution

Creating a hypervisor unit during compile time based on application and control unit properties allows for optimal resource utilization, reducing runtime configuration and enabling real-time execution by virtualizing only necessary resources, thus allowing for exclusive access and reducing the number of control units needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hypervisor unit is configured during run time, then virtualization can be performed, but hardware resources are wasted and real-time demands cannot be met

Engineering Contradiction:
Improvereal-time execution reliabilityVSAvoidhardware resource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The hypervisor unit is generated during compile time based on application properties and control unit properties, rather than being configured at run time. This preliminary generation allows the system to know exactly which hardware resources need to be virtualized before execution, eliminating wasted resources and ensuring real-time performance requirements are met from the start of execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention changes the timing parameter of hypervisor configuration from run time to compile time. This parameter change fundamentally alters when resource allocation decisions are made, allowing for optimal resource utilization while meeting real-time demands, as the hypervisor is already optimized before the system begins executing applications.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If large processor cores and memory are provisioned, then all potential applications can be supported, but hardware costs increase

Engineering Contradiction:
Improveapplication compatibilityVSAvoidhardware resource size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

During compile time, the system analyzes application properties and generates a hypervisor unit that is precisely tailored to the specific applications that will run on the control unit. This preliminary customization allows the hardware to be optimally sized for the actual workload rather than being over-provisioned for potential future uses, reducing hardware costs while maintaining full compatibility with the intended applications.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple control units are used, then application diversity is achieved, but wiring complexity and cost increase

Engineering Contradiction:
Improveapplication diversityVSAvoidwiring complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The invention enables multiple applications with different requirements to be consolidated onto a single control unit by generating a customized hypervisor unit that manages resource allocation for diverse applications. This merging of multiple control units into one reduces wiring complexity and cost while the hypervisor ensures each application gets the specific resources it needs, maintaining application diversity.

Inventive Principle:
Principle #5Merging (Combining)

4Adaptability or versatility

If runtime configuration is performed, then flexibility is maintained, but computing time is consumed by the hypervisor

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidcomputing time availability
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

All configuration decisions for the hypervisor unit are made during compile time based on application properties and control unit properties. This preliminary configuration eliminates the need for runtime configuration activities, freeing up computing time for application execution while maintaining the flexibility needed through the customized hypervisor design that accounts for specific application requirements.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10430231B2Method for creating a hypervisor unit for embedded systems
Publication Date: 2019.10.01 ROBERT BOSCH GMBH
  • US10430231B2 patent drawing
  • US10430231B2 patent drawing
  • US10430231B2 patent drawing

AI summary

A method for creating a hypervisor unit for a control unit is described. The hypervisor unit is designed to execute two applications on the control unit during a run time. The hypervisor unit is created during a compile time as a function of a first property of the first application, as a function of a second property of the second application, and as a function of a third property of the control unit.