Speculation Blind L1 Cache Eviction for Multiprocessor Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multiprocessor systems require customized core modules for managing speculation in cache memory, leading to the need for new core designs with each generation, which is inefficient and limits scalability.

Innovation Solution

Implementing a speculative thread management system that makes at least one cache level speculation blind, allowing for minimal modifications to commodity processing cores, by writing through the first level cache to the second level cache and evicting lines from the first level cache, while resolving speculation downstream, and enabling selective modes of speculation blind addressing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If customized core modules are used for managing speculation in cache memory, then speculation management capability is improved, but device complexity and manufacturing difficulty increase

Engineering Contradiction:
Improvespeculation management capabilityVSAvoidcore module complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the speculation management functionality from the core processor and relocates it to the L2 cache. The L2 cache is enhanced with metadata storage and management capabilities, allowing it to handle speculation independently. This extraction eliminates the need for customized core modules while maintaining speculation management capability, as the L2 cache becomes the dedicated speculation management unit.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary layer between the core and L2 cache, specifically a prefetch unit that acts as a mediator for speculation management. This prefetch unit handles the complex metadata operations and speculation tracking, shielding the core from complexity while enabling advanced speculation management. The intermediary absorbs the complexity burden away from the core processor.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If new core designs are developed with each generation, then speculation management is improved, but productivity and scalability deteriorate

Engineering Contradiction:
Improvespeculation managementVSAvoidsystem generation scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent makes the L2 cache universal by giving it speculation management capabilities that work across different processor generations. The L2 cache's metadata structure and management mechanisms are designed to be generation-agnostic, allowing the same L2 cache design to handle speculation in multiple processor generations without requiring core redesign. This multi-functionality enables both speculation management and scalability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments the speculation management functionality into distinct components within the L2 cache (metadata storage, validity tracking, eviction policies) that can be independently configured. This segmentation allows different processor generations to utilize the same L2 cache framework while adjusting specific parameters, improving scalability without sacrificing speculation management capability.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If speculation tracking is performed at the first level cache, then speculation management precision is improved, but device complexity and overhead increase

Engineering Contradiction:
Improvespeculation tracking accuracyVSAvoidcache management overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent moves speculation tracking from the traditional horizontal dimension (within the cache hierarchy at L1) to a vertical dimension (at the L2 cache level below L1). This dimensional shift allows speculation tracking to occur at a lower level in the memory hierarchy, providing the same tracking accuracy while reducing L1 cache complexity. The L2 cache's position in the hierarchy provides a broader view for speculation management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Ease of manufacture

If minimal modifications to commodity processing cores are made, then ease of manufacture is improved, but speculation management capability may be limited

Engineering Contradiction:
Improvecore modification requirementVSAvoidspeculation management capability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent extracts all speculation management requirements from the core processor, leaving the core as a simple commodity processor with standard cache interfaces. The complex speculation management functionality is completely relocated to the L2 cache and prefetch unit, allowing the core to remain unchanged and easy to manufacture while maintaining full speculation management capability through the enhanced L2 cache.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8838906B2Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution
Publication Date: 2014.09.16 GLOBALFOUNDRIES US INC
  • US8838906B2 patent drawing
  • US8838906B2 patent drawing
  • US8838906B2 patent drawing

AI summary

In a multiprocessor system with at least two levels of cache, a speculative thread may run on a core processor in parallel with other threads. When the thread seeks to do a write to main memory, this access is to be written through the first level cache to the second level cache. After the write though, the corresponding line is deleted from the first level cache and/or prefetch unit, so that any further accesses to the same location in main memory have to be retrieved from the second level cache. The second level cache keeps track of multiple versions of data, where more than one speculative thread is running in parallel, while the first level cache does not have any of the versions during speculation. A switch allows choosing between modes of operation of a speculation blind first level cache.