Multi-tenant Cache Partitioning for IOPS Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant cloud environments, performance degradation occurs due to shared cache constraints, where high-paying applications experience latency and reduced input/output operations per second (IOPS) as the cache fills up with requests from lower-paying applications, leading to unfair resource allocation and scalability issues.

Innovation Solution

Implementing dedicated cache partitions and NVMe I/O queues based on application classes (gold, silver, bronze) to direct I/O operations, ensuring each class gets its fair share of cache resources, thereby optimizing performance and IOPS according to their payment tier.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a shared cache is used for all applications in a multi-tenant environment, then cache resource utilization is improved, but performance of high-paying applications deteriorates due to interference from lower-paying applications

Engineering Contradiction:
Improvecache resource utilizationVSAvoidIOPS of high-paying applications
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The shared cache is segmented into multiple cache partitions, where each partition is dedicated to a specific application class (gold, silver, bronze). This segmentation allows high-paying applications to have guaranteed cache resources isolated from lower-paying applications, preventing performance degradation while maintaining overall cache utilization through systematic resource allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache partitions are assigned different quality levels based on application class. Gold class applications receive high-priority cache partitions with faster access and higher retention, while bronze class applications receive lower-priority partitions. This local quality differentiation ensures that high-paying applications experience optimal performance while the system maintains efficient overall cache utilization.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If cache resources are shared among all application classes, then system scalability is improved, but resource allocation fairness deteriorates

Engineering Contradiction:
Improvesystem scalabilityVSAvoidresource allocation fairness
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The cache is segmented into class-specific partitions that can be independently managed and scaled. Each application class has its own dedicated cache partition that can be adjusted in size and capacity based on demand, allowing the system to scale fairly by allocating resources proportionally to each class rather than through competitive sharing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache partition allocation is made dynamic and adaptable to changing workload conditions. The system can dynamically adjust cache partition sizes and I/O queue configurations based on real-time performance metrics and service level agreements, ensuring both scalability and fairness as the multi-tenant environment evolves.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If I/O operations are processed through a single shared queue, then system complexity is reduced, but I/O latency increases due to bottlenecks

Engineering Contradiction:
ImproveI/O queue structureVSAvoidI/O latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The single shared I/O queue is segmented into multiple class-specific I/O queues (gold, silver, bronze). Each queue handles I/O operations for its corresponding application class, eliminating bottlenecks caused by mixed-workload processing. While this increases structural complexity, it dramatically reduces I/O latency by providing dedicated processing paths for each class.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The I/O queue system is made dynamic with the ability to create, configure, and manage multiple queues based on application class requirements. The system can dynamically allocate queue resources and adjust processing priorities, reducing latency for time-sensitive operations from high-paying applications while maintaining manageable complexity through automated queue management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11934672B2Cached workload management for a multi-tenant host
Publication Date: 2024.03.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11934672B2 patent drawing
  • US11934672B2 patent drawing
  • US11934672B2 patent drawing

AI summary

A computer-implemented method and a computer system for improving cached workload management. A host, which is in a system comprising the host and a storage system, obtains information about classes of applications accessing the storage system. The host determines input/output queues dedicated to respective ones of the classes. The storage system creates, in the storage system, cache partitions dedicated to the respective ones of the classes, based on information about classes. The host creates the input/output queues and sets bit flags for respective ones of the input/output queues. The host pumps inputs/outputs coming from the respective ones of the classes to the respective ones of the input/output queues. The storage system directs the input/output queues to respective ones of the cache partitions.