Virtual Machine Execution Time Correction via Steal Time Subtraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machine systems face challenges in accurately measuring the execution time of programs executed by guest OS, as they struggle to distinguish and exclude 'steal time' periods during which the virtual machine and guest OS are suspended, leading to inaccurate billing and performance analysis.
Innovation Solution
An information processing apparatus acquires sampling data at predetermined intervals to identify suspended periods and calculates the execution time by subtracting 'steal time' from the apparent execution time, ensuring accurate measurement and reporting of program execution times.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the virtual machine system uses a hypervisor to control allocation of hardware resources to multiple virtual machines, then resource utilization and system efficiency are improved, but the ability to accurately measure and distinguish steal time periods from actual program execution time deteriorates
Solution Approach 1:
The patent segments the measurement task by introducing a dedicated steal time detection mechanism that operates independently from the hypervisor's resource allocation functions. This separate detection system specifically identifies and measures steal time periods, allowing the main hypervisor to continue optimizing resource utilization without compromising measurement accuracy.
Solution Approach 2:
The patent introduces an intermediary steal time detection mechanism that acts as a mediator between the hypervisor's resource allocation and the guest OS's execution time measurement. This intermediary component captures steal time information and provides it to the execution time measurement system, enabling accurate differentiation between actual execution time and suspended time while maintaining the hypervisor's resource management efficiency.
2Ease of operation
If the system calculates apparent execution time from start to end of program execution, then the measurement process is simple, but the accuracy of execution time measurement deteriorates due to inclusion of suspended periods
Solution Approach 1:
The patent applies preliminary action by detecting and recording steal time periods before they are included in the execution time calculation. The steal time detection mechanism proactively identifies suspended periods and stores this information in advance, allowing the execution time measurement system to subsequently subtract these periods from the apparent execution time, thereby maintaining measurement simplicity while improving accuracy.
Solution Approach 2:
The patent extracts the steal time component from the apparent execution time measurement. By separately detecting and isolating the suspended periods, the system can then subtract this extracted steal time from the total apparent execution time, yielding an accurate execution time that excludes suspended periods while maintaining a relatively simple measurement process.
3Productivity
If the system does not distinguish steal time from execution time, then billing and performance analysis can be performed quickly, but the fairness and accuracy of pay-as-you-go billing deteriorates
Solution Approach 1:
The patent creates a copy of the execution time measurement process that specifically tracks steal time periods. By maintaining a separate steal time record that mirrors the structure of the apparent execution time, the system can efficiently subtract the steal time component during billing calculations, enabling both quick processing and accurate billing that reflects only actual execution time.
Data Source
AI summary
An apparatus acquires, at each of times having a predetermined interval, first data identifying one of programs which is being executed at the each time by a virtual machine. When a first program is executed at a time before or after a steal time-period indicating a time-period during which a virtual machine program to operate the virtual machine is suspended, the apparatus outputs, in association with the first data identifying the first program, second data indicating a result of subtracting the steal time-period from an apparent execution time of the first program which indicates a time-period from a time of starting execution of the first program to a time of ending execution of the first program.


