Dynamic Snoop Filter Extension for Precise Cache Coherence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processor systems, existing cache coherence mechanisms suffer from over-snooping penalties, leading to increased latency, bandwidth consumption, and energy waste due to inefficient snoop filters that lack precision in tracking cache coherence.
Innovation Solution
Implementing a hybrid snoop filter system that dynamically switches between precise and imprecise tracking modes, using a base SFT entry to store a limited number of agent IDs and an extra SFT entry to handle cases where more agents share a coherence granule, reducing over-snooping by maintaining precise tracking while minimizing hardware overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a traditional snoop filter tracks all agent IDs using a fixed-size tracking_information field, then it can maintain cache coherence for a limited number of agents, but it cannot handle cases where more agents share a coherence granule, leading to over-snooping penalties
Solution Approach 1:
The tracking_information field is segmented into a base portion and an extended portion. The base SFT entry contains a base tracking_information field with a fixed number of agent ID slots, while an extra SFT entry contains an extended tracking_information field with additional agent ID slots. This segmentation allows the system to track more agents when needed by combining both portions, resolving the contradiction between fixed-size tracking and variable agent participation.
Solution Approach 2:
The patent adds a temporal dimension to the tracking capacity by introducing an extension mechanism. When the base tracking_information field is full, the system can extend tracking to include an extra SFT entry with additional agent ID slots. This transforms the fixed-dimensional tracking structure into a dynamically expandable one, allowing the snoop filter to adapt to varying numbers of participating agents without over-snooping.
2Adaptability or versatility
If the snoop filter entry size is increased to track more agent IDs, then it can handle more agents sharing a cogran, but it increases hardware overhead and complexity
Solution Approach 1:
The snoop filter entry structure is made dynamic through the use of an indicator field that specifies whether the tracking_information field is in a base state or an extended state. This allows the entry size to adapt based on the actual number of agents sharing the coherence granule. When fewer agents are involved, only the base entry is used; when more agents are involved, the extra entry is allocated. This dynamic approach resolves the contradiction by making the complexity conditional rather than fixed.
Solution Approach 2:
The patent applies local quality by making different parts of the SFT structure serve different functions based on the tracking needs. The base SFT entry handles the common case of fewer agents with a compact structure, while the extra SFT entry handles the less common case of more agents with an extended structure. This localized differentiation allows the system to optimize for the common case while still handling the extended case when necessary, reducing overall hardware overhead.
3Loss of energy
If the snoop filter uses precise tracking of all agent IDs, then it reduces over-snooping penalties, but it increases bandwidth consumption and energy waste when tracking many agents
Solution Approach 1:
The patent implements partial tracking by maintaining a base tracking_information field that always tracks a limited number of agent IDs, and an optional extended tracking through the extra SFT entry. This partial tracking approach resolves the contradiction by tracking only the necessary number of agents in each specific case, rather than always tracking all possible agents. The system applies precise tracking only when needed (when the extension is activated), reducing unnecessary bandwidth consumption and energy waste from tracking excessive agents.
Data Source
AI summary
The described technology provides a method including generating a base snoop filter (SFT) entry for a coherence granule (cogran) in agent cache, the base SFT entry comprising a tracking_information field configured to track a plurality of agent IDs, each agent ID identifying an agent that holds a copy of the cogran, determining a number of agents that hold the copy of the cogran, comparing the and number of agents that store the copy of the cogran with number of the plurality of agent IDs tracked in the tracking_information field of the base SFT entry; and in response to determining that the number of agents that hold the copy of the cogran is greater than the number of the plurality of agent IDs tracked in the tracking_information field of the base SFT entry, selecting a second SFT entry as an extra SFT entry, wherein the extra SFT entry is configured to store a portion of tracking vector wherein each bit of the tracking vector indicates cache validity state of the cogran for a related agent.


