Cache Line Distribution via Lateral Castout in Vertical Hierarchies
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If data is concentrated in a few cache hierarchies, then cache injection is efficient, but access latency increases due to resource overload
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.
3Productivity
If cache lines are distributed among multiple vertical cache hierarchies, then resource overload is reduced, but system complexity increases
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.
4Adaptability or versatility
If a distribute field is added to directory entries, then cache line distribution is enabled, but device complexity increases
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.
Data Source
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.


