Spanning Tree Cache Coherency Routing in Multi-Processor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In point-to-point interconnected multi-processor systems with partial connectivity, existing cache coherency methods face challenges in efficiently routing snoop messages without causing conflicts in input snoop ports, particularly due to the need for dynamic configuration changes during reconfiguration events.

Innovation Solution

The implementation of routing software that generates and assigns spanning trees to each processing node, allowing for conflict-free and efficient transmission of snoop messages by determining the optimal routing paths and configuring snoop ports as either forwarding or terminating based on the spanning tree structure, and selectively reusing existing tree paths to avoid configuration conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If snoop messages are sent directly to all processors in a fully-connected point-to-point interconnection network, then cache coherency is ensured, but hardware cost increases substantially

Engineering Contradiction:
Improvecache coherencyVSAvoidhardware cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the fully-connected network into multiple spanning trees, each covering a subset of processors. Instead of establishing direct links between all processor pairs, the network is divided into hierarchical routing domains where snoop messages are routed through intermediate processors along tree paths, reducing the number of required direct connections while maintaining coherency coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate processors that act as mediators in the spanning tree structure. When a processor needs to send a snoop message to another processor not directly connected, the message is routed through intermediate processors along the tree path. These intermediaries forward messages without requiring direct point-to-point links between all pairs, reducing hardware complexity while preserving coherency functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If spanning trees are generated for each processing node to optimize routing paths, then message transmission efficiency is improved, but configuration complexity increases due to reconfiguration events

Engineering Contradiction:
Improvemessage transmission efficiencyVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent pre-generates spanning trees for each processing node before actual message transmission occurs. During system initialization or reconfiguration events, the routing software computes optimal tree structures in advance and configures the snoop ports accordingly. This preliminary configuration eliminates the need for dynamic path computation during message transmission, improving efficiency while containing configuration complexity to periodic reconfiguration events.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic spanning tree generation that adapts to reconfiguration events. When the system topology changes or reconfiguration events occur, the routing software dynamically regenerates appropriate spanning trees and updates port configurations. This dynamic adaptation allows the system to maintain optimal routing efficiency while responding to changing conditions, balancing performance with configuration flexibility.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If snoop ports are dynamically reconfigured during message transmission, then routing flexibility is improved, but transmission conflicts occur due to configuration changes

Engineering Contradiction:
Improverouting flexibilityVSAvoidmessage transmission reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent configures snoop ports in advance according to the predetermined spanning tree structure before message transmission begins. Each snoop port is assigned a specific role (forwarding or terminating) based on the tree configuration, and this configuration remains stable during message transmission. This preliminary setup eliminates configuration changes during active transmission, preventing conflicts and ensuring reliable message delivery while maintaining routing flexibility through the tree structure design.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7936703B2Optimized cache consistency algorithm in a point-to-point interconnected multiple processor system
Publication Date: 2011.05.03 INTEL CORP
  • US7936703B2 patent drawing
  • US7936703B2 patent drawing
  • US7936703B2 patent drawing

AI summary

A spanning tree is assigned to a processing node for each processing node in a point-to-point network that connects a plurality of processing nodes. The spanning tree uses the processing nodes as vertices and links of the network as edges. Each processing node includes input snoop ports that can be configured as either terminating or forwarding. According to the assigned spanning trees and the configuration of the input snoop ports, the network routes snoop messages efficiently and without conflicts.