Cache List Insertion Points for Shared Processor Lock Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache management systems face significant lock contention and latency issues when moving tracks to the Most Recently Used (MRU) end of the cache list, particularly in shared cache environments accessed by multiple processors, as existing techniques do not effectively maintain the temporal integrity of cache lists.

Innovation Solution

The introduction of insertion points in the cache list allows for batch processing and precise placement of tracks based on their last accessed timestamps, reducing lock contention by delaying the movement of tracks to the MRU end and ensuring that tracks with similar access times are demoted together, thus improving cache hit ratios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tracks are moved to the MRU end of the cache list immediately when accessed, then the cache hit ratio is improved by maintaining temporal integrity, but lock contention increases due to high demand for the cache list lock

Engineering Contradiction:
Improvecache hit ratioVSAvoidlock contention time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by recording track access information in processor arrays without immediately moving tracks to the MRU end. This preliminary recording allows batch processing later, reducing immediate lock contention while preserving temporal integrity for future batch operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Multiple track access operations are merged into batch operations. Instead of processing each track access individually with immediate MRU end movement, the system combines multiple track indications from processor arrays into single batch operations, reducing the frequency of lock acquisitions and improving overall throughput.

Inventive Principle:
Principle #5Merging (Combining)

2Stability of the object's composition

If tracks are moved to the MRU end individually when accessed, then temporal integrity is maintained, but processing efficiency decreases due to frequent lock operations

Engineering Contradiction:
Improvetemporal integrity of cache listVSAvoidprocessing efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system merges multiple individual track movement operations into batch operations. Processor arrays accumulate track indications that are then processed together in single operations, maintaining temporal integrity while significantly improving processing efficiency by reducing the number of separate lock acquisitions and movements.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Track access information is preliminarily recorded in processor arrays before batch processing. This preliminary action allows the system to maintain accurate temporal integrity data while deferring the actual movement operations to efficient batch processing, thereby improving overall productivity.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If lock contention is reduced by batching track movements, then processing efficiency improves, but temporal integrity may be compromised

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtemporal integrity of cache list
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary recording of track access timestamps and processor information in processor arrays before batch processing. This preliminary action ensures that temporal integrity data is captured accurately at the time of access, and this recorded information is used during batch operations to maintain correct temporal ordering even when movements are delayed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Processor arrays serve as intermediary structures between track access events and the cache list. These arrays temporarily hold track indication information with temporal metadata, acting as a buffer that allows efficient batch processing while preserving the temporal relationships needed for maintaining cache list integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11281593B2Using insertion points to determine locations in a cache list at which to indicate tracks in a shared cache accessed by a plurality of processors
Publication Date: 2022.03.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11281593B2 patent drawing
  • US11281593B2 patent drawing
  • US11281593B2 patent drawing

AI summary

Provided are a computer program product, system, and method for using insertion points to determine locations in a cache list at which to indicate tracks in a shared cache accessed by a plurality of processors. A plurality of insertion points to a cache list for the shared cache having a least recently used (LRU) end and a most recently used (MRU) end identify tracks in the cache list. For each processor, of a plurality of processors, for which indication of tracks accessed by the processor is received, a determination is made of insertion points of the provided insertion points at which to indicate the tracks for which indication is received. The tracks are indicated at positions in the cache list with respect to the determined insertion points.