History Storage Locking for High-Priority Thread Eviction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-threaded systems, the existing approach of always prioritizing high priority threads in shared storage units can lead to poor performance for lower priority threads due to inflexible resource allocation, causing long delays in accessing memory data.

Innovation Solution

Implementing a data processing apparatus with history storage to track evicted high priority items and setting a lock indication when they return, preventing further eviction and allowing lower priority items to allocate space without displacing high priority data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If high priority threads are always given precedence in shared storage units, then high priority thread performance is improved, but lower priority thread performance deteriorates due to inflexible resource allocation

Engineering Contradiction:
Improvehigh priority thread performanceVSAvoidlower priority thread performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic priority management by introducing a history field that tracks evicted high priority items. The system transitions from static always-prioritize behavior to dynamic behavior where locked entries (indicated by lock bits) prevent further eviction. This allows the storage unit to adapt its priority enforcement based on historical access patterns, improving lower priority thread performance while maintaining high priority thread reliability.

Inventive Principle:
Principle #15Dynamics

2Productivity

If lower priority items are allowed to allocate space in shared storage units, then resource utilization is improved, but high priority items may be evicted causing performance degradation

Engineering Contradiction:
Improveresource utilizationVSAvoidhigh priority thread performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by proactively setting lock bits for evicted high priority items in the history field before they are re-accessed. This preemptive locking mechanism ensures that when high priority items return to the storage unit, they are immediately protected from eviction, preventing performance degradation while allowing lower priority items to utilize available space.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If strict preferential treatment is applied to high priority threads, then high priority thread access is improved, but overall system performance deteriorates due to inflexibility

Engineering Contradiction:
Improvehigh priority thread accessVSAvoidoverall system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements local quality by applying priority protection selectively rather than universally. The history field with lock bits provides localized protection only to specific entries that have been evicted high priority items, while other entries remain accessible to lower priority threads. This selective approach maintains high priority thread access reliability while improving overall system performance through flexible resource allocation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7979642B2Managing the storage of high-priority storage items in storage units in multi-core and multi-threaded systems using history storage and control circuitry
Publication Date: 2011.07.12 ARM LTD
  • US7979642B2 patent drawing
  • US7979642B2 patent drawing
  • US7979642B2 patent drawing

AI summary

A data processing apparatus is provided comprising processing circuitry for executing multiple program threads. At least one storage unit is shared between the multiple program threads and comprises multiple entries, each entry for storing a storage item either associated with a high priority program thread or a lower priority program thread. A history storage for retaining a history field for each of a plurality of blocks of the storage unit is also provided. On detection of a high priority storage item being evicted from the storage unit as a result of allocation to that entry of a lower priority storage item, the history field for the block containing that entry is populated with an indication of the evicted high priority storage item. When later a high priority storage item is allocated to a selected entry of the storage unit, a comparison operation between the allocated high priority storage item and the indication in the history field for the block containing the selected entry is carried out, and on detection of a match condition a lock indication associated with that entry is set to inhibit further eviction of that high priority storage item.