Virtual OS Shared Memory Polling for Inter-OS Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems with multiple virtual operating systems, the high overhead of Inter-Processor Interrupt (IPI) communication processing leads to a bottleneck in inter-OS communication performance, reducing the speed of data exchange between virtual operating systems due to transitions up to the hypervisor layer and high software processing overhead.
Innovation Solution
An information processing apparatus with a shared memory accessible by multiple virtual operating systems, including a storage processing unit for storing shared data, an update determination unit to periodically check for updates, and read processing units to efficiently read updated data without relying on IPI notifications, allowing for data communication through polling mode when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If IPI communication processing is used for inter-OS data exchange, then data can be communicated between virtual operating systems, but the processing overhead increases and communication speed decreases
Solution Approach 1:
The patent extracts the interrupt notification mechanism from the IPI communication path by introducing a separate notification flag stored in shared memory. The receiving virtual OS polls this flag directly without needing to transition to the hypervisor layer, effectively removing the bottleneck while maintaining communication reliability
Solution Approach 2:
The patent introduces a notification flag as an intermediary element in shared memory that mediates between the transmitting and receiving virtual OSs. This flag serves as a direct signaling mechanism that eliminates the need for IPI interrupts, thereby improving communication speed while preserving inter-OS communication capability
2Loss of information
If IPI interrupts are used for notification, then data update information can be transmitted, but the hypervisor layer transition overhead increases processing time
Solution Approach 1:
The patent extracts the notification function from the IPI interrupt mechanism by using a dedicated notification flag in shared memory. The receiving virtual OS can check this flag directly without hypervisor involvement, eliminating the time loss associated with IPI processing while ensuring data update information is accurately transmitted
Solution Approach 2:
The receiving virtual OS performs self-service by periodically polling the notification flag in shared memory to detect data updates. This autonomous polling mechanism eliminates the need for hypervisor-mediated IPI interrupts, reducing notification processing time while maintaining accurate data update detection
Data Source
AI summary
Processing performance of inter-virtual OS communication is improved by including a first storage processing unit that stores shared data in a data sharing area of a shared memory in a first virtual OS that transmits the shared data, an update determination unit that periodically checks an update state of the data sharing area in a second virtual OS that receives the shared data, and a first read processing unit that reads the shared data from the data sharing area when the data sharing area is updated.


