Dynamic Cache Allocation for Multi-Tenant Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant processing infrastructures, static cache allocation leads to underutilization of cache resources, as unused cache by one tenant cannot be dynamically reallocated to other tenants who could benefit from it, resulting in sub-optimal performance and inefficient resource utilization.

Innovation Solution

A dynamic cache allocation system that monitors workload phases, determines baseline performance levels, categorizes workloads based on cache utilization, and reallocates cache resources in real-time among tenants to ensure that cache is used efficiently, guaranteeing a minimum performance level for all workloads while maximizing overall system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static cache allocation is used to guarantee baseline performance for each tenant, then reliability is improved, but productivity deteriorates due to underutilization of cache resources

Engineering Contradiction:
Improvebaseline performance guaranteeVSAvoidcache utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic cache allocation that transitions from static partitioning to runtime-adjusted allocation. The system continuously monitors workload characteristics and cache performance metrics, then reallocates cache resources accordingly. This dynamic approach allows the system to maintain baseline performance guarantees while maximizing overall cache utilization by transferring cache from underutilized tenants to those with higher demand.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the allocation parameter (cache size) dynamically based on workload phase detection. By identifying whether workloads are in compute-bound or memory-bound phases, the system adjusts cache allocation parameters in real-time, ensuring baseline performance is maintained while optimizing for overall system productivity and cache utilization.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If cache is shared among multiple tenants to increase system-wide performance, then productivity is improved, but reliability deteriorates due to performance interference from resource competition

Engineering Contradiction:
Improvesystem-wide performanceVSAvoidperformance isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by providing performance isolation specifically to tenants who require it while allowing full sharing for others. The system detects workload characteristics and applies different allocation strategies: some tenants receive guaranteed baseline cache allocation for performance isolation, while others benefit from dynamic sharing. This localized application of quality ensures reliability where needed while maximizing productivity through sharing where appropriate.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments the cache resource allocation into different categories: baseline cache allocation that guarantees minimum performance levels, and dynamic cache allocation that optimizes for overall system performance. This segmentation allows the system to simultaneously provide performance isolation through baseline guarantees and maximize productivity through dynamic sharing of additional cache resources.

Inventive Principle:
Principle #1Segmentation

3Productivity

If more cache is allocated to a single tenant to improve their performance, then productivity is improved for that tenant, but loss of substance increases as cache becomes unavailable to other users

Engineering Contradiction:
Improveindividual tenant performanceVSAvoidcache availability to other users
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The system dynamically adjusts cache allocation based on real-time workload monitoring. When a tenant requires additional cache for improved performance, the system temporarily allocates cache from underutilized tenants rather than permanently dedicating resources. This dynamic reallocation ensures that individual tenant performance can be improved when needed while minimizing loss of cache availability to other users, as the allocation adjusts continuously based on actual demand.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10896059B2Dynamically allocating cache in a multi-tenant processing infrastructure
Publication Date: 2021.01.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10896059B2 patent drawing
  • US10896059B2 patent drawing
  • US10896059B2 patent drawing

AI summary

Dynamically allocating cache in a multi-tenant infrastructure includes monitoring cache usage for multiple workloads in a multi-tenant processing infrastructure to determine a workload phase. A baseline performance level per workload is determined. The baseline performance level is dependent upon the workload phase. The workloads for each tenant are categorized based on cache utilization and the cache is allocated to each workload based on the baseline performance level, cache utilization, and system wide cache capacity.