Demote Threads Manage Cache Segments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache management systems face challenges in efficiently demoting tracks from the cache to prevent cache depletion, leading to increased latency and queuing of I/O requests due to insufficient demotion rates.

Innovation Solution

Implementing multiple demote ready lists across processors, where demote threads and I/O threads work in conjunction to select and remove tracks from the cache, dynamically invoking the number of demote threads based on available free cache segments and thresholds to maintain cache segment availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single demote thread is used to manage cache segments, then device complexity is reduced, but the demotion rate is insufficient leading to cache depletion and I/O queuing

Engineering Contradiction:
Improvedemotion rateVSAvoidthread management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the single demote thread function into multiple demote threads, each responsible for processing specific demote ready lists. This segmentation increases the overall demotion rate by enabling parallel processing of track demotions across multiple threads, directly resolving the contradiction between productivity and complexity by distributing the workload.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by creating multiple demote threads operating concurrently on different demote ready lists. This dimensional expansion from single-threaded to multi-threaded architecture enables simultaneous track demotions, significantly improving demotion throughput without proportionally increasing system complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If multiple demote threads are invoked to increase demotion rate, then cache depletion is prevented, but processor resources are consumed

Engineering Contradiction:
Improvecache segment availabilityVSAvoidprocessor resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent dynamically adjusts the number of active demote threads based on cache segment availability and system conditions. When cache segments are abundant, fewer demote threads are active, conserving processor resources. When cache segments become scarce, more demote threads are invoked to prevent cache depletion, thus dynamically balancing reliability and resource consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by adjusting the number of active demote threads based on cache state metrics. This parameter adjustment allows the system to optimize processor resource usage while maintaining cache segment availability, resolving the contradiction between reliability and energy consumption.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If tracks are not demoted efficiently, then cache segments are depleted, but I/O requests experience increased latency and queuing

Engineering Contradiction:
ImproveI/O request throughputVSAvoidI/O latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by proactively demoting tracks from the cache before the cache becomes completely full. Multiple demote threads continuously process demote ready lists and free cache segments in advance, ensuring that sufficient cache space is available for incoming I/O requests, thereby preventing I/O queuing and reducing latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by having multiple demote threads continuously operate on demote ready lists, ensuring uninterrupted track demotion. This continuous demotion process maintains a steady supply of free cache segments, preventing cache depletion and ensuring continuous I/O request processing without latency spikes.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10642755B2Invoking demote threads on processors to demote tracks from a cache based on free cache segments
Publication Date: 2020.05.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10642755B2 patent drawing
  • US10642755B2 patent drawing
  • US10642755B2 patent drawing

AI summary

Provided are a computer program product, system, and method for invoking demote threads on processors to demote tracks from a cache. A plurality of demote ready lists indicate tracks eligible to demote from the cache. In response to determining that a number of free cache segments in the cache is below a free cache segment threshold, a determination is made of a number of demote threads to invoke on processors based on the number of free cache segments and the free cache segment threshold. The determined number of demote threads are invoked to demote tracks in the cache indicated in the demote ready lists, wherein each invoked demote thread processes one of the demote ready lists to select tracks to demote from the cache to free cache segments in the cache.