Domain State Field for Cache Coherence Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor systems, maintaining cache coherence across multiple processors with increasing numbers of processing elements and shared resources is challenging due to the complexity of cache coherence protocols and the overhead of directory-based schemes, particularly in distributed systems where ensuring consistency and reducing latency and energy consumption is difficult.

Innovation Solution

The introduction of a domain state field within a cache tag directory hierarchy allows for efficient cache coherency management by indicating the status of cache lines, including which domain has the latest copy and whether requests can be serviced locally or need to propagate to higher levels, thereby minimizing unnecessary accesses and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a directory-based cache coherency scheme is used in multi-processor systems, then cache coherence can be maintained across processors, but system complexity and overhead increase significantly

Engineering Contradiction:
Improvecache coherenceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cache tag directory is segmented into multiple levels (L1, L2, L3) distributed across different domains. Each domain maintains its own tag directory entries, allowing local coherence management without requiring a single centralized directory. This segmentation reduces the complexity burden on any single component while maintaining system-wide coherence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the cache directory structure, organizing tag directories across multiple levels and domains. This hierarchical arrangement allows coherence management to be distributed vertically through the hierarchy rather than requiring a flat, monolithic directory, thereby reducing overall system complexity.

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

2Reliability

If cache lines are accessed across multiple domains to ensure coherence, then consistency is maintained, but latency and energy consumption increase

Engineering Contradiction:
ImproveconsistencyVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Each domain is equipped with its own tag directory entries and coherence management capabilities, enabling local domains to service cache requests independently without cross-domain communication. This local autonomy reduces latency for requests that can be satisfied within the same domain while maintaining consistency through the hierarchical structure.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The hierarchical tag directory structure pre-organizes cache line ownership and coherence state information across domains. When a cache request is made, the system can quickly determine the owning domain through the pre-established hierarchy, avoiding unnecessary cross-domain traffic and reducing access latency.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a centralized tag directory is used to track all cache lines, then coherence can be enforced, but the overhead of directory updates increases

Engineering Contradiction:
Improvecoherence enforcementVSAvoiddirectory update overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The centralized tag directory is segmented into distributed tag directory entries across multiple domains and hierarchical levels. Each domain maintains relevant tag information locally, eliminating the need for a single centralized directory that must be updated for every cache operation. This segmentation reduces the energy overhead of directory updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hierarchical structure introduces intermediate domain-level tag directories that act as mediators between local caches and the global coherence system. These intermediaries handle local coherence management, reducing the frequency and energy cost of updates to the global directory structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If more processing elements are added to increase parallelism, then more tasks can be executed, but shared resource management becomes more difficult

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache coherence system is segmented into multiple independent domains, each capable of autonomous coherence management. This segmentation allows processing elements to be distributed across domains without proportionally increasing global coordination complexity, as each domain handles its own coherence independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to resource management, organizing processing elements and their associated caches into a multi-level domain hierarchy. This hierarchical organization allows parallelism to scale across domains while maintaining manageable complexity at each hierarchical level through localized coherence protocols.

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

Data Source

PatentUS9588889B2Domain state
Publication Date: 2017.03.07 INTEL CORP
  • US9588889B2 patent drawing
  • US9588889B2 patent drawing
  • US9588889B2 patent drawing

AI summary

Method and apparatus to efficiently maintain cache coherency by reading/writing a domain state field associated with a tag entry within a cache tag directory. A value may be assigned to a domain state field of a tag entry in a cache tag directory. The cache tag directory may belong to a hierarchy of cache tag directories. Each tag entry may be associated with a cache line from a cache belonging to a first domain. The first domain may contain multiple caches. The value of the domain state field may indicate whether its associated cache line can be read or changed.