Micro-level Monitoring of Shared Processor Cache for Virtual Environments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud data centers, existing technologies lack effective methods to monitor and manage shared resource usage across virtual machines and containers, leading to performance issues due to resource contention, which can result in inefficient resource allocation and decreased performance.
Innovation Solution
The implementation of a system that uses analytics and machine learning to monitor internal processor metrics in a distributed architecture, allowing for near real-time and historic performance visibility and dynamic optimization. This system identifies processes affecting other processes by tracking shared resource usage and applies policies to restrict resource access, ensuring efficient distribution of applications and virtual environments across physical servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtualization is extensively utilized in data centers to improve efficiency and control, then resource utilization and management flexibility are improved, but visibility and control over shared resource usage at the micro-level deteriorate
Solution Approach 1:
The patent introduces a policy agent as an intermediary component that sits between the virtualized workloads and the shared processor resources. This agent monitors and controls resource usage at the micro-level by implementing policies that regulate access to shared caches and other processor resources, thereby maintaining visibility and control while preserving the benefits of virtualization.
Solution Approach 2:
The patent replaces traditional mechanical monitoring approaches with software-based policy enforcement mechanisms. Instead of relying on hardware-level monitoring that lacks granularity, the system uses software agents that can dynamically monitor and control resource usage at the application and virtual machine level, providing detailed visibility into shared resource consumption patterns.
2Measurement precision
If monitoring of internal processor metrics is implemented to identify resource contention, then performance visibility is improved, but system complexity increases
Solution Approach 1:
The patent segments the monitoring and control functionality into discrete policy agents that can be independently deployed and managed. Each agent focuses on specific policies and resource types, allowing the system to scale monitoring capabilities without proportionally increasing overall complexity. This modular approach enables selective monitoring of only the most critical shared resources.
Solution Approach 2:
The policy agent implements self-service capabilities by automatically detecting resource contention conditions and applying appropriate policies without requiring manual intervention. The system autonomously monitors processor metrics, identifies contention patterns, and enforces resource allocation policies, reducing the operational complexity despite enhanced monitoring capabilities.
3Reliability
If policies are applied to restrict resource access by offending processes, then performance of affected processes is improved, but resource utilization efficiency may deteriorate
Solution Approach 1:
The patent implements dynamic policy enforcement that adapts resource allocation based on real-time system conditions and workload characteristics. Rather than applying static restrictions, the policy agent continuously adjusts resource access controls to balance performance guarantees with overall utilization efficiency, allowing flexible resource sharing while preventing harmful contention patterns.
Solution Approach 2:
The system changes resource allocation parameters dynamically based on monitored performance metrics and policy rules. When resource contention is detected, the policy agent modifies access parameters such as cache allocation, memory access priorities, or CPU time slicing to eliminate harmful interactions while maintaining efficient resource utilization through data-driven parameter adjustment.
Data Source
Figure 1
Figure 2
Figure 3A
AI summary
Aspects of this disclosure relate to monitoring use of shared resources to identify processes using such shared resources in a manner that may be affecting the performance of other processes. In one example, a method comprises: monitoring, by a computing device, usage metrics for a shared cache that is shared by one or more processors of the computing device; mapping the usage metrics to each of a plurality of virtual computing environments executing on the one or more processors, wherein the plurality of virtual computing environments includes a first virtual computing environment and a second virtual computing environment; determining, based on the mapped usage metrics, that the first virtual computing environment is using the shared cache in a manner that adversely affects the performance of the second virtual computing environment; and restricting, by the computing device, access to the shared cache by the first virtual computing environment.