Cache Line Distribution via Lateral Castout in Vertical Hierarchies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor computer systems, the distribution of cache lines among vertical cache hierarchies is inefficient, leading to increased access latency and resource overload during cache injection requests, as data is concentrated in a few cache hierarchies rather than being distributed across multiple vertical cache hierarchies.

Innovation Solution

Implementing a distribute field in cache directory entries to indicate that data should be distributed among multiple vertical cache hierarchies, allowing for lateral castout of cache lines from one hierarchy to another upon eviction, thereby distributing cache lines and reducing concentration in a single hierarchy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is injected into a single vertical cache hierarchy, then the cache hierarchy can process data quickly, but the cache hierarchy becomes overloaded and access latency increases

Engineering Contradiction:
Improvedata processing speedVSAvoidcache hierarchy processing capacity
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the cache hierarchy into multiple vertical cache hierarchies (first vertical cache hierarchy and second vertical cache hierarchy) and distributes cache lines between them. When a cache injection request receives data, the system divides the data into multiple cache lines and distributes them to different vertical cache hierarchies, preventing any single hierarchy from becoming overloaded and maintaining high processing capacity across the system.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is concentrated in a few cache hierarchies, then cache injection is efficient, but access latency increases due to resource overload

Engineering Contradiction:
Improvecache injection efficiencyVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a distribution dimension by implementing a distribute field in directory entries that tracks which vertical cache hierarchies should receive cached data. Instead of concentrating data in a few hierarchies, the system uses this dimensional information to spread data across multiple hierarchies, reducing resource overload and maintaining low access latency while preserving injection efficiency.

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

3Productivity

If cache lines are distributed among multiple vertical cache hierarchies, then resource overload is reduced, but system complexity increases

Engineering Contradiction:
Improvesystem throughputVSAvoidcache distribution mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the cache coherence infrastructure automatically manage distribution based on directory entry information. When a cache injection request receives data, the system automatically determines which vertical cache hierarchies should receive the data based on the distribute field in directory entries, and the cache lines are automatically distributed without requiring manual intervention or complex external control mechanisms.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If a distribute field is added to directory entries, then cache line distribution is enabled, but device complexity increases

Engineering Contradiction:
Improvecache distribution capabilityVSAvoiddirectory entry structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the distribute field to serve multiple functions: it indicates whether data should be distributed, identifies which vertical cache hierarchies should receive the data, and enables automatic distribution behavior. This multi-functional approach allows a single field addition to enable comprehensive cache distribution capability without requiring multiple separate mechanisms or complex structural changes.

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

Data Source

PatentUS20230041702A1Distribution of injected data among caches of a data processing system
Publication Date: 2023.02.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20230041702A1 patent drawing
  • US20230041702A1 patent drawing
  • US20230041702A1 patent drawing

AI summary

A data processing system includes a plurality of processor cores each supported by a respective one of a plurality of vertical cache hierarchies. Based on receiving on a system fabric a cache injection request requesting injection of a data into a cache line identified by a target real address, the data is written into a cache in a first vertical cache hierarchy among the plurality of vertical cache hierarchies. Based on a value in a field of the cache injection request, a distribute field is set in a directory entry of the first vertical cache hierarchy. Upon eviction of the cache line the first vertical cache hierarchy, a determination is made whether the distribute field is set. Based on determining the distribute field is set, a lateral castout of the cache line from the first vertical cache hierarchy to a second vertical cache hierarchy is performed.