Clustered Cache Coherence via Shared Level Indicators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity and cost associated with implementing coherence in clustered cache hierarchies, particularly due to the high number of states in hierarchical invalidation-based directory protocols, hinder scalability and increase implementation complexity.

Innovation Solution

A method that determines a common shared level (CSL) for data blocks within a cluster, allowing for simplified coherence mechanisms like self-invalidation and write-through, which are restricted to operate within the cluster, thereby eliminating complex recursive operations across the hierarchy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hierarchical invalidation-based directory protocols are used for cache coherence in clustered cache hierarchies, then coherence is maintained across the entire hierarchy, but the number of states and implementation complexity increases significantly

Engineering Contradiction:
Improvecache coherenceVSAvoidnumber of states
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the cache hierarchy into clusters, where each cluster operates as an independent coherence domain. This segmentation allows coherence to be maintained within clusters using simplified protocols, while reducing the overall system complexity by avoiding the need for a single hierarchical directory that tracks all cores across the entire hierarchy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by implementing coherence mechanisms that are tailored to local cluster characteristics rather than applying a uniform hierarchical protocol across the entire system. Each cluster can manage its own coherence states independently, reducing the global state complexity while maintaining local coherence guarantees.

Inventive Principle:
Principle #3Local quality

2Reliability

If hierarchical invalidation-based directory protocols are used for cache coherence, then coherence is maintained across the entire hierarchy, but implementation complexity and cost increase

Engineering Contradiction:
Improvecache coherenceVSAvoidimplementation complexity
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent divides the system into independent cluster units that can be manufactured and validated separately. This segmentation reduces implementation complexity by allowing each cluster to be designed, tested, and manufactured as a modular unit, rather than requiring complex integration across the entire hierarchical directory structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each cluster is designed to be self-sufficient in managing its own coherence, with clusters independently handling invalidation and synchronization within their boundaries. This self-service approach reduces the need for complex centralized control logic and simplifies the overall implementation.

Inventive Principle:
Principle #25Self-service

3Productivity

If clustered cache hierarchies are used, then network congestion is reduced and scalability is improved, but coherence complexity must be managed within clusters

Engineering Contradiction:
ImprovescalabilityVSAvoidcoherence complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the coherence management responsibility to the cluster level, allowing each cluster to independently handle its own coherence complexity. This segmentation enables scalability by allowing clusters to be added or removed without affecting the coherence management of other clusters, while containing complexity within manageable boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional organization of coherence management by shifting from a flat hierarchical directory structure to a clustered dimensional structure. This dimensional change allows coherence to be managed in parallel across multiple independent cluster domains, improving scalability while containing complexity within each dimension.

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

Data Source

PatentUS11068410B2Multi-core computer systems with private/shared cache line indicators
Publication Date: 2021.07.20 ARRAY CACHE TECHNOLOGIES LLC
  • US11068410B2 patent drawing
  • US11068410B2 patent drawing
  • US11068410B2 patent drawing

AI summary

According to embodiments described herein, the hierarchical complexity for coherence protocols associated with clustered cache architectures can be encapsulated in a simple function, i.e., that of determining when a data block is shared entirely within a cluster (i.e., a sub-tree of the hierarchy) and is private from the outside. This allows embodiments to eliminate complex recursive coherence operations that span the hierarchy and instead employ simple coherence mechanisms such as self-invalidation and write-through but which are restricted to operate where a data block is shared. Thus embodiments recognize that, in the context of clustered cache hierarchies, data can be shared entirely within one cluster but can be private (unshared) to this cluster when viewed from the perspective of other clusters. This characteristic of the data can be determined and then used to locally simplify coherence protocols.