Virtualization Platform Dedicated Cache Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization platforms face performance burdens in data center environments due to increased complexity and density, where existing cache manipulation instructions are speculative and do not guarantee data availability when needed, leading to unpredictable performance in multi-operating system environments.

Innovation Solution

Introduction of new processor instructions CLALLOC and CLFREE, which allow virtualization software to pin and unpin specific memory regions to dedicated cache-lines, ensuring these regions are never evicted, thereby guaranteeing maximum performance for data and code accesses by exempting them from the cache replacement policy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If speculative cache manipulation instructions are used, then cache access flexibility is improved, but performance predictability deteriorates

Engineering Contradiction:
Improvecache access flexibilityVSAvoidperformance predictability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the cache into regular cache lines and reserved cache lines. The reserved cache lines are specifically allocated for virtualization platform code and data, separating them from the general-purpose cache managed by speculative instructions. This segmentation ensures that critical virtualization operations have dedicated cache space that is not subject to eviction, thereby maintaining performance predictability while allowing flexible cache management for other purposes.

Inventive Principle:
Principle #1Segmentation

2Productivity

If cache replacement policy is applied to all cache-lines, then cache utilization efficiency is improved, but critical data availability deteriorates

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoidcritical data availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies different cache management policies to different portions of the cache. Regular cache lines are managed with standard replacement policies to maximize utilization efficiency, while reserved cache lines are protected from eviction to guarantee availability of critical virtualization data and code. This local differentiation of cache management quality resolves the contradiction between overall efficiency and critical data availability.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If multiple operating systems run on single physical server, then data center density is improved, but performance burden increases

Engineering Contradiction:
Improvedata center densityVSAvoidperformance burden
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary allocation of reserved cache lines to the virtualization platform before multiple operating systems begin execution. By pre-reserving cache space for critical virtualization code and data structures, the system eliminates the need for complex runtime cache management and reduces performance burden. This preliminary action ensures that as data center density increases with more OS instances, the virtualization platform maintains predictable performance without proportionally increasing complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8041896B2Virtualization platform with dedicated cache access
Publication Date: 2011.10.18 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8041896B2 patent drawing
  • US8041896B2 patent drawing
  • US8041896B2 patent drawing

AI summary

A computing system supports a virtualization platform with dedicated cache access. The computing system is configured for usage with a memory and a cache and comprises an instruction decoder configured to decode a cache-line allocation instruction and control logic. The control logic is coupled to the instruction decoder and controls the computing system to execute a cache-line allocation instruction that loads portions of data and code regions of the memory into dedicated cache-lines of the cache which are exempted from eviction according to a cache controller replacement policy.