Hypervisor-Isolated Instrumentation VM for Non-Intrusive Performance Monitoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Monitoring performance in virtual machines poses challenges due to resource consumption and potential interference with application behavior, leading to performance overhead and difficulties in diagnosing issues without impacting uptime guarantees.
Innovation Solution
A performance monitoring system that reserves resources outside the virtual machine, using a hypervisor to isolate instrumentation from the production environment, allowing dynamic on/off functionality and additional probes without affecting application performance, by operating an instrumentation virtual machine with reserved capacity and lower priority.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Difficulty of detecting and measuring
If performance monitoring tools are enabled within the virtual machine, then monitoring capability is improved, but application performance deteriorates due to resource consumption
Solution Approach 1:
The system separates monitoring functions from the production virtual machine by creating a dedicated instrumentation virtual machine. The production VM and instrumentation VM are segmented as independent entities, each with isolated resources. The instrumentation VM contains all monitoring tools and processes, while the production VM focuses solely on application execution. This segmentation eliminates resource contention and performance interference.
Solution Approach 2:
Monitoring functions are extracted from the production virtual machine environment and placed in a separate instrumentation virtual machine. The instrumentation VM is configured with reserved resources from the physical host, independent of the production VM's resource allocation. This extraction removes the performance overhead from the production system while maintaining full monitoring capability.
2Reliability
If monitoring resources are reserved within the virtual machine, then monitoring reliability is improved, but available resources for the application deteriorate
Solution Approach 1:
The system transitions from a single-dimension resource model (shared resources within one VM) to a multi-dimensional model by introducing virtual machines as an intermediate layer. Resources are allocated in dimensions: physical host resources are partitioned into multiple VMs, each with guaranteed resource pools. The instrumentation VM receives reserved resources from the physical host through the hypervisor, creating an independent resource dimension that does not compete with the production VM.
3Stability of the object's composition
If constant monitoring is enabled to add predictability, then system predictability is improved, but hardware resource requirements worsen
Solution Approach 1:
Resources for the instrumentation virtual machine are reserved and configured in advance through the hypervisor before the production system operates. The instrumentation VM is pre-provisioned with dedicated CPU, memory, and storage resources from the physical host. This preliminary resource allocation ensures that monitoring operations can execute predictably without dynamically competing for resources, while the actual hardware requirements are determined during initial system design rather than requiring excess capacity.
Data Source
AI summary
A performance monitoring system is described herein that works with a hypervisor to reserve resources outside of a virtual machine to monitor performance of an application running within the virtual machine. The application receives the guaranteed amount of resources specified by the virtual machine's specifications, and the monitoring consumes resources not associated with the virtual machine. The application running in the virtual machine is already isolated by the hypervisor from the physical machine, and thus additional burdens on the physical machine that allow the hypervisor to continue meeting guarantees to the virtual machine will not impact application performance. The performance monitoring system provides instrumentation of deployed applications that information technology (IT) personnel can dynamically turn on and off without affecting the performance of the deployed application. The performance monitoring system provides a robust framework for monitoring production applications without affecting the performance of those applications during execution.


