Priority-Driven Random Replacement for Shared Storage Entries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-threaded data processing systems, existing replacement schemes for storage units do not adequately prioritize high priority program threads, leading to potential performance degradation when lower priority threads evict data from high priority threads.

Innovation Solution

A priority-driven random replacement policy that maintains a record to identify entries associated with high and lower priority threads, randomly generating candidate entries and preferentially selecting victims from lower priority threads to evict, thereby increasing the likelihood of retaining high priority thread data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a random replacement scheme is used to select victim entries in a storage unit, then the implementation is simple and fair, but high priority program threads may have their data evicted by lower priority threads, degrading performance

Engineering Contradiction:
Improvesimplicity of replacement schemeVSAvoiddata retention for high priority threads
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies local quality by differentiating the treatment of entries based on their association with different priority threads. A record structure tracks whether each entry is associated with a high priority or lower priority thread, and the replacement circuitry uses this information to apply different selection criteria. This allows the system to maintain simple operation while ensuring high priority thread data is preferentially retained, resolving the contradiction between simplicity and reliability.

Inventive Principle:
Principle #3Local quality

2Reliability

If a replacement scheme prioritizes high priority threads, then data retention for high priority threads improves, but the complexity of the replacement circuitry increases

Engineering Contradiction:
Improvedata retention for high priority threadsVSAvoidcomplexity of replacement circuitry
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-establishing a record structure that tracks the priority association of each entry before replacement is needed. This record is updated whenever entries are written or accessed, so that when replacement is required, the information is already available. This approach improves data retention for high priority threads while minimizing the added complexity, as the tracking mechanism is maintained continuously rather than being activated only during replacement events.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If all entries are treated equally in the storage unit, then the storage unit is simple to manage, but lower priority threads can evict data from high priority threads, reducing overall system throughput

Engineering Contradiction:
Improveprocessor throughputVSAvoidcomplexity of entry management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by modifying the replacement criteria based on the priority parameter of the threads associated with entries. Instead of treating all entries equally, the system changes the selection parameter to favor entries associated with high priority threads. The record structure provides this priority information, and the replacement circuitry uses it to adjust the victim selection process. This resolves the contradiction by improving throughput through parameter-based differentiation while keeping the overall management structure relatively simple.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8195886B2Data processing apparatus and method for implementing a replacement scheme for entries of a storage unit
Publication Date: 2012.06.05 ARM LTD
  • US8195886B2 patent drawing
  • US8195886B2 patent drawing
  • US8195886B2 patent drawing

AI summary

A data processing apparatus and method are provided for implementing a replacement scheme for entries of a storage unit. The data processing apparatus has processing circuitry for executing multiple program threads including at least one high priority program thread and at least one lower priority program thread. A storage unit is then shared between the multiple program threads and has multiple entries for storing information for reference by the processing circuitry when executing the program threads. A record is maintained identifying for each entry whether the information stored in that entry is associated with a high priority program thread or a lower priority program thread. Replacement circuitry is then responsive to a predetermined event in order to select a victim entry whose stored information is to be replaced. To achieve this, the replacement circuitry performs a candidate generation operation to identify a plurality of randomly selected candidate entries, and then references the record in order to preferentially select as the victim entry a candidate entry whose stored information is associated with a lower priority program thread. This improves the performance of the high priority program thread(s) by preferentially evicting from the storage unit entries associated with lower priority program threads.