Hybrid Coherency Protocol for Multiprocessor Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multiprocessor computer systems face performance drawbacks in maintaining cache coherency due to limitations in existing broadcast and directory-based protocols, including high latency, network congestion, and increased complexity, especially in scalable systems with varying numbers of processors.
Innovation Solution
A hybrid system that dynamically switches between broadcast and point-to-point coherency protocols based on network conditions, using a mode control unit and mode table to determine the transmission mode for coherence requests, allowing for efficient communication and reducing latency by optimizing network usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a broadcast protocol is used to maintain cache coherency, then all processors receive coherence requests in the same order ensuring correctness, but network congestion increases and latency increases due to broadcasting to all devices
Solution Approach 1:
The system segments the coherency protocol into two distinct modes: broadcast mode for ensuring global ordering and correctness, and point-to-point mode for reducing latency and network congestion. The mode control unit selects appropriate segments (modes) based on system state, allowing the protocol to leverage benefits of both approaches without suffering from their respective drawbacks simultaneously.
Solution Approach 2:
The system dynamically switches between broadcast and point-to-point modes based on real-time network conditions and coherency requirements. The mode control unit monitors system state and adjusts the protocol mode accordingly, making the system adaptive rather than static, thereby optimizing performance while maintaining correctness when needed.
2Stability of the object's composition
If a broadcast protocol is used to maintain cache coherency, then all processors observe requests in the same order, but network bandwidth is consumed and performance is limited
Solution Approach 1:
The protocol is segmented into broadcast operations for maintaining ordering consistency and point-to-point operations for improving performance. By dividing the coherency maintenance task into these two segments, the system can maintain consistency where required while achieving higher performance through targeted communication instead of universal broadcasting.
Solution Approach 2:
The system applies different protocol qualities to different situations: global broadcast quality for maintaining ordering consistency when multiple processors may be affected, and localized point-to-point quality for performance-critical paths where only specific processors need to be notified. This local optimization improves overall productivity without sacrificing necessary consistency.
3Loss of energy
If directory-based protocols are used to reduce network traffic, then network congestion is reduced, but system complexity increases due to directory management
Solution Approach 1:
The mode control unit acts as an intermediary that manages the complexity of protocol selection. Rather than requiring complex directory management structures, the mode control unit mediates between coherency requests and the appropriate protocol mode, simplifying the overall system architecture while still achieving reduced network traffic through intelligent mode selection.
4Reliability
If access rights are modified in the order requests are received, then coherency correctness is maintained, but latency increases when data is received out of request order
Solution Approach 1:
The system dynamically adjusts the ordering semantics based on the protocol mode. In point-to-point mode, the system allows out-of-order data usage when correctness is not compromised, reducing latency. In broadcast mode, strict ordering is maintained for correctness. This dynamic adaptation resolves the contradiction by allowing flexibility where safe and maintaining rigor where needed.
Data Source
AI summary
A system may include several nodes coupled by an inter-node network configured to convey coherency messages between the nodes. Each node may include several active devices coupled by an address network and a data network. The nodes implement a coherency protocol such that if an active device in one of the nodes has an ownership responsibility for a coherency unit, no active device in any of the other nodes has a valid access right to the coherency unit. For example, if a node receives a coherency message requesting read access to a coherency unit from another node, the node may respond by conveying a proxy address packet, receipt of which removes ownership, on the node's address network to an owning active device. In contrast, the active device's ownership responsibility may not be removed in response to a device within the same node requesting read access to the coherency unit.


