Dynamic Cache Allocation via Sensitivity Index

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Static cache allocation is inadequate for computing systems where memory access characteristics vary over time, leading to inefficient cache usage and increased latency for applications with changing priority.

Innovation Solution

Dynamic cache allocation is implemented by determining a cache sensitivity index (CSI) for each virtual machine, which represents dynamic memory access characteristics, allowing for periodic adjustments in cache allocation based on CSI values and class of service, ensuring that priority applications receive a minimum cache allocation and optimizing cache usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static cache allocation is used, then device complexity is reduced and ease of operation is improved, but adaptability to time-varying memory access characteristics deteriorates

Engineering Contradiction:
Improveadaptability to time-varying memory access characteristicsVSAvoidcache allocation mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic cache allocation by periodically determining cache sensitivity indices for virtual machines and adjusting cache portions based on these indices. The cache allocation mechanism transitions from static to dynamic, allowing the system to adapt to changing memory access characteristics of different virtual machines over time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameter from fixed static cache portions to dynamic cache portions based on calculated cache sensitivity indices. By periodically updating the cache sensitivity index and using it to determine cache allocation, the system adapts to time-varying memory access patterns while managing complexity through automated parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If static cache allocation is used, then ease of operation is improved, but cache usage efficiency deteriorates

Engineering Contradiction:
Improvecache usage efficiencyVSAvoidcache allocation management ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system performs self-adjustment by automatically determining cache sensitivity indices and reallocating cache portions without manual intervention. The cache allocation mechanism monitors its own performance characteristics and autonomously optimizes itself, improving cache usage efficiency while maintaining ease of operation through automated management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback by periodically measuring cache sensitivity indices based on actual memory access characteristics and using this feedback to adjust cache allocation. This closed-loop approach continuously optimizes cache usage efficiency while the automated feedback mechanism maintains ease of operation.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If dynamic cache allocation is implemented, then adaptability to time-varying memory access characteristics is improved, but device complexity increases

Engineering Contradiction:
Improveadaptability to time-varying memory access characteristicsVSAvoidcache allocation mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic cache allocation by periodically determining cache sensitivity indices for virtual machines and adjusting cache portions based on these indices. The cache allocation mechanism transitions from static to dynamic, allowing the system to adapt to changing memory access characteristics of different virtual machines over time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameter from fixed static cache portions to dynamic cache portions based on calculated cache sensitivity indices. By periodically updating the cache sensitivity index and using it to determine cache allocation, the system adapts to time-varying memory access patterns while managing complexity through automated parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If dynamic cache allocation is implemented, then cache usage efficiency is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvecache usage efficiencyVSAvoidcache allocation management ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system performs self-adjustment by automatically determining cache sensitivity indices and reallocating cache portions without manual intervention. The cache allocation mechanism monitors its own performance characteristics and autonomously optimizes itself, improving cache usage efficiency while maintaining ease of operation through automated management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback by periodically measuring cache sensitivity indices based on actual memory access characteristics and using this feedback to adjust cache allocation. This closed-loop approach continuously optimizes cache usage efficiency while the automated feedback mechanism maintains ease of operation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10698620B2Dynamic cache allocation
Publication Date: 2020.06.30 INTEL CORP
  • US10698620B2 patent drawing
  • US10698620B2 patent drawing
  • US10698620B2 patent drawing

AI summary

One embodiment provides a system. The system includes a processor, a cache memory, a performance monitoring unit (PMU), at least one virtual machine (VM), and cache sensitivity index (CSI) logic. The processor includes at least one core. The at least one virtual machine (VM) is to execute on at least one of the at least one core. The cache sensitivity index (CSI) logic is to allocate a cache portion to a selected VM, the allocated cache portion related to a determined cache portion, determined based, at least in part, on a CSI related to the selected VM.