Micro-level Monitoring of Shared Processor Cache for Virtual Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidvisibility of shared resource usage
Core Design Contradiction:
ProductivityVSLoss of information

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If monitoring of internal processor metrics is implemented to identify resource contention, then performance visibility is improved, but system complexity increases

Engineering Contradiction:
Improveperformance visibilityVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improveperformance guaranteeVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3382543B1Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
Publication Date: 2023.09.13 JUNIPER NETWORKS INC
  • EP3382543B1 patent drawingFigure 1
  • EP3382543B1 patent drawingFigure 2
  • EP3382543B1 patent drawingFigure 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.