Store Queue Controller Barrier Optimization via L1 Cache Miss Filtering

Solution Overview

Problem

In weakly-ordered memory systems, conventional barrier implementations often cause performance delays by propagating unnecessary store operations, violating causality and ordering more stores than required, which affects the efficiency of atomicity and operation ordering.

Innovation Solution

The proposed solution involves a store queue controller that uses L1 cache miss information to limit and remove unnecessary dependencies in the store queue, optimizing the execution of barrier instructions by ignoring stores that did not hit in the L1 cache, thereby reducing undue ordering effects and improving the efficiency of cumulativity support.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional barrier implementations propagate all store operations through the store queue, then cumulativity and atomicity are maintained, but performance delays occur due to unnecessary ordering of stores

Engineering Contradiction:
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments store operations into two categories: L1 cache hits and L1 cache misses. By using L1 cache miss information to limit dependencies, the system selectively orders only the necessary store operations (those that actually hit in L1 cache) while allowing L1 cache misses to proceed without unnecessary ordering constraints. This segmentation resolves the contradiction by maintaining reliability for critical stores while eliminating performance delays for non-critical stores.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different dependency handling rules to different store operations based on their L1 cache behavior. Store operations that hit in L1 cache receive full dependency enforcement to maintain cumulativity, while store operations that miss in L1 cache have their dependencies limited or removed. This local quality approach ensures that ordering is applied precisely where needed (L1 hits) rather than uniformly to all stores, thereby reducing performance delays while maintaining atomicity where required.

Inventive Principle:
Principle #3Local quality

2Reliability

If barrier instructions order all store operations in the store queue, then atomicity is enforced, but unnecessary stores are ordered affecting efficiency

Engineering Contradiction:
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of ordering all store operations (excessive action), the patent applies partial ordering based on L1 cache miss information. Only store operations that actually hit in L1 cache are subject to dependency enforcement and ordering by barrier instructions. This partial action approach maintains atomicity for the necessary stores while avoiding the productivity loss that would result from ordering unnecessary stores, thus resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the store queue maintains dependencies for all threads, then cumulativity is supported, but unnecessary dependencies reduce performance

Engineering Contradiction:
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes unnecessary dependencies from the dependency data structure by using L1 cache miss information as a filter. Dependencies are set only for store operations that hit in L1 cache, while dependencies for L1 cache misses are removed. This extraction of unnecessary dependencies reduces device complexity and improves performance while maintaining cumulativity support for the essential store operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9959213B2Implementing barriers to efficiently support cumulativity in a weakly-ordered memory system
Publication Date: 2018.05.01
  • US9959213B2 patent drawing
  • US9959213B2 patent drawing
  • US9959213B2 patent drawing

AI summary

A technique for operating a lower level cache memory of a data processing system includes receiving, by a store queue controller, an operation that is associated with a first thread. The store queue controller uses level one (L1) cache memory miss information for the operation to limit dependencies in a dependency data structure of a store queue of the lower level cache memory that are set and to remove dependencies that are otherwise unnecessary.