Cross-Processor Application Migration for Power-Balanced Startup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing computing and power resources in advanced automotive vehicles is challenging due to the diversity of hardware architectures and the inefficiencies of current application migration methods, which require complex recompilation, serialization, and testing across different processor types.
Innovation Solution
A system that migrates application executions across processors using a single binary executable file compiled for a virtual machine, with orchestrators managing the transfer of execution from a low-power processor to a high-power processor without intermediary compilation, ensuring seamless resource balancing and power management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If application migration is performed across different processor types using traditional methods, then application portability is achieved, but the process becomes complex requiring recompilation, serialization, and extensive testing
Solution Approach 1:
The patent introduces a binary intermediary format that serves as a universal container for application code and data. This binary format acts as an intermediary between different processor architectures, eliminating the need for recompilation and complex serialization processes while maintaining application portability across heterogeneous processors.
Solution Approach 2:
The binary executable format is designed to be universally compatible with multiple processor types. A single binary file can be executed on any supported processor without modification, providing multi-functionality and eliminating the need for architecture-specific compilation and testing procedures.
2Power
If applications are migrated to high-power processors for better performance, then processing capability is improved, but power consumption increases
Solution Approach 1:
The system dynamically selects the appropriate processor for executing applications based on real-time requirements. Applications can be migrated between low-power and high-power processors as needed, allowing the system to adapt its power consumption and processing capability dynamically rather than being statically bound to a specific processor type.
Solution Approach 2:
The patent changes the operational parameters of the system by allowing applications to run on different processor types with different power characteristics. This enables the system to optimize the balance between processing capability and power consumption by selecting the appropriate processor based on current operational needs.
3Use of energy by moving object
If applications run on low-power processors to conserve energy, then power consumption is reduced, but startup time and execution speed may increase
Solution Approach 1:
The system performs preliminary actions by pre-loading and caching application binaries in a format optimized for rapid execution. When an application needs to run, the system can quickly migrate it to a high-power processor without extensive compilation or setup time, thus reducing startup time while maintaining the option to use low-power processors when appropriate.
4Productivity
If multiple processor types are used for resource balancing, then resource allocation efficiency is improved, but system complexity increases
Solution Approach 1:
The patent creates a homogeneous execution environment through the use of a standardized binary executable format that works across all processor types. This homogenization of the software interface simplifies the system architecture by providing a uniform method for application deployment and migration, reducing the complexity that would otherwise arise from supporting multiple processor types.
Data Source
Figure 1-1
Figure 1-2
Figure 2
AI summary
This document describes techniques and systems for migration of application executions across processing units. A first processor executes a first orchestrator to initiate an execution of an application. A target processor executes a second orchestrator in communication with the first orchestrator to migrate the execution of the application to the target processor. When the target processor is ready for migration of the application, the second orchestrator communicates to the first orchestrator that migration may proceed. When the first processor receives the communication, the execution of the application is migrated to the target processor. Migration, performed in this manner, may result in better resource balancing for different drive states, power savings by reducing the number of actively running processors, and/or faster start up times by initially running applications on low-power real-time processors and then migrating the applications to high-power processors.