Virtual Machine Timer Processing via Dedicated Tick CPU
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computer systems experience inefficiencies and abnormal operations when switching between virtual machines due to fluctuations in tick interrupt timing and increased overhead, leading to potential failures in real-time tasks and peripheral device control.
Innovation Solution
A computer system architecture that allocates separate processing devices to virtual machines, allowing for real-time interrupt handling without switching between virtual processing units, thereby maintaining processing efficiency and reducing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the CPU switches between virtual machines to perform timer processing, then timer processing can be performed for all virtual machines, but data relocation overhead increases and processing efficiency decreases
Solution Approach 1:
The patent divides the CPU into multiple independent processing units (first CPU and second CPU), each dedicated to executing specific virtual machines. The first CPU executes the first virtual machine while the second CPU executes the second virtual machine, eliminating the need to switch between virtual machines for timer processing. Each CPU unit maintains its own execution context and register state, avoiding data relocation overhead while ensuring timer processing is performed for all virtual machines.
Solution Approach 2:
The patent introduces a separate timer processing unit that acts as an intermediary between the virtual machines and the CPU. This timer processing unit is responsible for advancing system timer values in a predetermined cycle without requiring switching between virtual machines. The intermediary handles timer processing independently, allowing the main CPU to continue executing virtual machines without interruption or data relocation.
2Reliability
If the CPU stops execution to perform timer processing, then timer processing can be performed, but the virtual machine execution is interrupted and time is lost
Solution Approach 1:
The patent segments the processing functions by assigning timer processing to a separate CPU unit that operates independently from the main virtual machine execution. The first CPU continues executing the first virtual machine while the second CPU simultaneously executes the second virtual machine and performs timer processing. This segmentation allows timer processing to occur without stopping or interrupting virtual machine execution, eliminating time loss.
Solution Approach 2:
The patent ensures continuous execution of virtual machines by performing timer processing in parallel rather than sequentially. The timer processing unit advances system timer values in a predetermined cycle without requiring the main CPU to stop or switch between virtual machines. This maintains continuous useful action of virtual machine execution while simultaneously completing timer processing requirements.
3Reliability
If data is relocated between CPU working areas, then the correct virtual machine data can be accessed, but processing overhead increases
Solution Approach 1:
The patent segments the CPU into independent processing units, each with its own dedicated working area and register state. The first CPU has its own working area for the first virtual machine, and the second CPU has its own working area for the second virtual machine. This segmentation eliminates the need for data relocation between CPU working areas because each CPU unit already has access to the correct data in its own dedicated memory space.
Solution Approach 2:
Instead of relocating data between CPU working areas, the patent uses separate copies of virtual machine data stored in each CPU unit's dedicated working area. Each CPU unit maintains its own copy of the necessary register information and data for its assigned virtual machine, eliminating the need for data relocation operations while ensuring correct data accessibility.
Data Source
AI summary
A computer system enables two virtual machines with use of two virtual CPUs. The computer system includes a CPU that is allocated to the virtual CPU when the virtual CPU performs computer processing of the virtual machine other than timer processing; a tick CPU that is dedicated to timer processing and is allocated to the virtual CPU upon receiving an interrupt request (tick interrupt) for causing the virtual CPU to perform timer processing of the virtual machine; and interrupt controller that issues the tick interrupt to the tick CPU.


