Hybrid Cache Coherence via Fine-Grained Message Passing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing message passing systems in distributed shared memory architectures face scalability issues due to high complexity and inefficiency in maintaining cache coherence, particularly in large systems, where snoopy protocols do not scale and software-based solutions incur significant overhead and false sharing.
Innovation Solution
A hybrid hardware/software scheme that implements cache coherence using fine-grained direct messages, converting memory transactions into messages and vice versa, maintaining coherence at the granularity of cache blocks with moderate overhead, reducing false sharing and bandwidth demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If snoopy protocols are used for cache coherence, then cache coherence is maintained, but the system does not scale to large systems
Solution Approach 1:
The patent segments the cache coherence management by dividing the system into home nodes and foreign nodes, with each node maintaining a directory of cache blocks. This segmentation replaces the monolithic snoopy protocol with distributed, localized coherence management, enabling the system to scale to large numbers of processors while maintaining coherence through fine-grained control.
2Ease of manufacture
If software-based cache coherence solutions are used, then implementation flexibility is achieved, but processing overhead and false sharing increase
Solution Approach 1:
The patent replaces software-based coherence management with a hardware-supported directory-based mechanism. The system interface hardware automatically generates and processes coherence messages, eliminating the need for software intervention in coherence operations. This substitution reduces processing overhead and false sharing while maintaining implementation flexibility through the directory structure.
3Productivity
If fine-grained hardware message passing is used, then processing overhead is reduced, but system complexity increases
Solution Approach 1:
The patent introduces a system interface as an intermediary between the processor and the coherence protocol. This interface automatically generates coherence messages, manages directory updates, and handles message passing between nodes. By offloading coherence management to this intermediary hardware component, the processor is freed from coherence overhead while the system maintains manageable complexity through standardized interface operations.
Data Source
AI summary
Multiprocessor systems conducting operations utilizing global shared memory must ensure that the memory is coherent. A hybrid system that combines hardware memory transactions with that of direct messaging provides memory coherence with minimal overhead requirement or bandwidth demands. Memory access transactions are intercepted and converted to direct messages which are then communicated to a target and/or remote node. Thereafter the message invokes a software handler which implements the cache coherence protocol. The handler uses additional messages to invalidate or fetch data in other caches, as well as to return data to the requesting processor. These additional messages are converted to appropriate hardware transactions by the destination system interface hardware.


