Cache Manager List Lock Release for Track Removal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache management systems hold locks for extended durations during scanning and track removal operations, leading to prolonged access restrictions and potential bottlenecks in multi-processor environments.

Innovation Solution

Implementing a mechanism where the cache manager releases the list lock during track removal processing, allowing other processors to access the list, and using a pointer to resume scanning from the previous position after processing, thereby reducing lock hold times and improving concurrency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the cache manager holds the LRU lock for the full duration of the scan and track removal operations, then the list integrity is maintained and operations are completed atomically, but the lock hold time becomes excessively long, preventing other processors from accessing the list and creating bottlenecks

Engineering Contradiction:
Improvelist integrityVSAvoidlock hold time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the cache management operations into distinct phases: scanning phase (with lock held) and removal phase (with lock released). The scan identifies tracks for removal, stores their positions in a list, then releases the lock before performing the actual removal operations. This segmentation allows the lock to be held only for the necessary scanning duration, not the entire operation duration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary scanning and identification of tracks to be removed while the lock is held, storing the positions of these tracks in a list. This preliminary action completes all read-only operations before releasing the lock, allowing subsequent removal operations to proceed without holding the lock.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the cache manager holds the lock during both scanning and track removal operations, then concurrent access is prevented and data consistency is maintained, but system throughput decreases due to lock contention in multi-processor environments

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the operation into a scanning segment (locked) and a removal segment (unlocked). During scanning, the lock ensures consistent reads of track positions. After scanning completes and removal tracks are identified and positioned in a list, the lock is released, allowing multiple processors to concurrently access the list during the removal phase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary data structure (the list storing track positions) that decouples the scanning operation from the removal operation. The list serves as a buffer that captures the state of tracks to be removed during the locked scanning phase, then allows unlocked processing during the removal phase, acting as a mediator between these two operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the cache manager releases the lock during track removal processing, then concurrency is improved and other processors can access the list, but the complexity of managing scan resumption increases

Engineering Contradiction:
ImproveconcurrencyVSAvoidlock management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a copy of the track positions to be removed during the scanning phase, storing them in a list before releasing the lock. This copy allows the removal operations to proceed independently without needing to maintain the lock or worry about concurrent modifications to the original list structure.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs the scanning and identification of removal tracks as a preliminary action while the lock is held, capturing all necessary information in a list. This preliminary completion of scanning simplifies the subsequent removal phase, which can proceed without the lock and without needing to manage complex scan resumption logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9921973B2Cache management of track removal in a cache for storage
Publication Date: 2018.03.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9921973B2 patent drawing
  • US9921973B2 patent drawing
  • US9921973B2 patent drawing

AI summary

In one embodiment, a cache manager releases a list lock during a scan when a track has been identified as a track for cache removal processing such as demoting the track, for example. By releasing the list lock, other processors have access to the list while the identified track is processed for cache removal. In one aspect, the position of the previous entry in the list may be stored in a cursor or pointer so that the pointer value points to the prior entry in the list. Once the cache removal processing of the identified track is completed, the list lock may be reacquired and the scan may be resumed at the list entry identified by the pointer. Other features and aspects may be realized, depending upon the particular application.