Virtual Machine Synchronization for Deterministic Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machine environments in non-deterministic computing systems fail to provide a deterministic execution environment for software, leading to synchronization issues and loss of determinism, particularly in aerospace applications where precise execution is critical.
Innovation Solution
Implementing strategically placed synchronization points within virtual machines to ensure synchronized execution across multiple virtual machines, using techniques such as processor core affinities and synchronization ready events, which allow for parallel execution while maintaining determinism without excessive resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtual machines execute on non-deterministic computing systems, then parallel execution and resource sharing are enabled, but synchronization issues and loss of determinism occur
Solution Approach 1:
The patent implements preliminary synchronization actions by establishing synchronization points before critical execution sections. The hypervisor configures these synchronization points in advance, allowing virtual machines to coordinate their execution without continuous intervention, thus maintaining determinism while enabling parallel execution.
Solution Approach 2:
The hypervisor acts as an intermediary between virtual machines and the underlying non-deterministic computing system. It manages synchronization points and coordinates execution across multiple virtual machines, shielding the deterministic software from the non-deterministic nature of the host system while enabling parallel execution.
2Reliability
If synchronization points are strategically placed in virtual machines, then execution synchronization and determinism are maintained, but system complexity increases
Solution Approach 1:
The patent segments the virtual machine execution into distinct sections with clearly defined synchronization points. By dividing the execution flow into manageable segments with explicit synchronization boundaries, the system maintains determinism without requiring complex global synchronization mechanisms throughout the entire execution process.
3Use of energy by moving object
If virtual machines share hardware resources, then resource utilization efficiency increases, but execution determinism and isolation are compromised
Solution Approach 1:
The hypervisor serves as an intermediary layer that manages hardware resource sharing between virtual machines. It controls access to shared resources through synchronization points, ensuring that resource utilization efficiency is maintained while execution isolation and determinism are preserved through coordinated access management.
Data Source
AI summary
Systems, methods, and computer program products to synchronize software processes in a virtual machine environment are described herein. In one embodiment, a computer-based system comprises at least one processor, first logic instructions stored in a tangible computer readable medium which, when executed by the at least one processor, configure the at least one processor to define at least a first virtual machine and a second virtual machine, both of which execute on the at least one processor, and second logic instructions stored in a tangible computer readable medium which, when executed by the at least one processor, configure the at least one processor to synchronize execution of operations on the first virtual machine and the second virtual machine.


