Adaptive Cache Partitioning by Stream ID to Prevent Thrashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache thrashing occurs due to competing memory requests from client devices for limited cache resources, leading to decreased performance and increased power consumption in integrated circuit devices, particularly in mobile computing devices.

Innovation Solution

Implement a caching policy that identifies computing tasks through stream ids, allowing the cache to allocate different partitions to different tasks, thereby reducing resource competition and optimizing cache usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cache partitions are allocated to client devices, then cache usage is increased, but cache thrashing occurs when memory requests compete for the same resources

Engineering Contradiction:
Improvecache usageVSAvoidcache performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The cache is divided into multiple partitions that can be independently allocated to different computing tasks. Each partition acts as an isolated resource pool, preventing tasks from competing for the same cache space. This segmentation resolves the cache thrashing problem by ensuring that memory requests from different tasks access different physical regions of the cache, thereby maintaining high cache usage while improving performance reliability.

Inventive Principle:
Principle #1Segmentation

2Productivity

If stream allocation is optimized to reduce competition, then cache hit rate increases, but system complexity increases

Engineering Contradiction:
Improvecache hit rateVSAvoidstream allocation management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements adaptive stream allocation that monitors cache performance metrics and dynamically adjusts partition assignments based on observed hit rates and task behavior patterns. This feedback mechanism allows the system to learn optimal allocation strategies over time, increasing cache hit rates without requiring complex manual configuration. The automated adaptation process manages system complexity by using simple performance data to drive intelligent resource distribution decisions.

Inventive Principle:
Principle #23Feedback

3Reliability

If cache partitions are increased to reduce competition, then resource allocation improves, but available cache space decreases

Engineering Contradiction:
Improveresource allocationVSAvoidavailable cache space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The cache partitioning scheme is dynamic rather than static, allowing the number and size of partitions to be adjusted at runtime based on system workload and task characteristics. When few tasks are active, fewer larger partitions are created, maximizing available cache space. When many tasks are active, more smaller partitions are created to reduce competition. This dynamic adaptation resolves the contradiction by allowing the system to optimize the balance between resource allocation quality and total cache capacity based on actual operational conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20260064595A1Adaptive Caching Of Memory Request Streams
Publication Date: 2026.03.05 GOOGLE LLC
  • US20260064595A1 patent drawing
  • US20260064595A1 patent drawing
  • US20260064595A1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for allocating cache resources according to stream ids. One of the methods includes caching memory requests for each of the one or more integrated client devices, distinguishing different computing tasks using stream ids of the memory requests, and allocating different partitions of the cache memory to different respective computing tasks.