Dynamic Cache Coherence Protocol Selection via Central Ordering Point
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache coherence protocols, such as write invalidate and write update protocols, are not equally efficient in all scenarios due to lack of dynamic adaptation to operational circumstances, and information necessary for optimal protocol selection is often distributed among multiple entities in processor-based devices.
Innovation Solution
A processor-based device dynamically selects between write invalidate and write update protocols on a store-by-store basis using protocol preference indicators from the master PE, snooper PEs, and the central ordering point to optimize cache coherence based on current conditions, such as the number of PEs holding cached copies and likelihood of re-reading.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If write invalidate protocol is used, then energy consumption is reduced in scenarios with many subsequent store operations, but performance deteriorates when multiple PEs need to read updated data
Solution Approach 1:
The system dynamically selects between write invalidate and write update protocols based on runtime conditions. The COP monitors factors such as the number of PEs holding cached copies and the likelihood of re-reading, then adaptively chooses the optimal protocol for each store operation, transforming a static protocol selection into a dynamic, condition-based decision process
Solution Approach 2:
The system changes the operational parameter (protocol type) based on system state. By evaluating conditions like cache hit rates, number of cached copies across PEs, and access patterns, the system adjusts the protocol parameter to optimize the trade-off between energy consumption and performance for each specific scenario
2Productivity
If write update protocol is used, then performance is improved when multiple PEs read updated data, but energy consumption increases
Solution Approach 1:
The system dynamically switches between protocols based on runtime conditions. When conditions indicate high likelihood of reads by multiple PEs, the system dynamically selects write update protocol to maximize performance; when conditions indicate sequential stores with low read probability, it switches to write invalidate to minimize energy consumption
Solution Approach 2:
The system adjusts the protocol parameter based on system state metrics. By monitoring cache coherence state, number of cached copies, and access patterns, the system changes the operational mode to optimize the performance-energy trade-off
3Device complexity
If a single entity (COP) makes protocol selection decisions, then system complexity is reduced, but decision accuracy deteriorates due to lack of access to distributed information
Solution Approach 1:
The decision-making process is segmented between the COP and individual PEs. The COP receives input from multiple PEs about their cache states and access patterns, then synthesizes this distributed information to make the final protocol selection. This segmentation allows accurate decision-making while maintaining centralized coordination
Solution Approach 2:
The COP acts as an intermediary that collects information from distributed PEs and makes the protocol selection decision. Rather than each PE independently deciding or a single PE having complete information, the COP mediates by gathering relevant data from multiple sources and synthesizing it into an optimal decision
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Providing dynamic selection of cache coherence protocols in processor-based devices is disclosed. In this regard, a processor-based device includes a master PE and at least one snooper PE, as well as a central ordering point (COP). The COP dynamically selects, on a store-by-store basis, either a write invalidate protocol or a write update protocol as a cache coherence protocol to use for maintaining cache coherency for a memory store operation by the master PE. The selection is made by the COP based on one or more protocol preference indicators that may be generated and provided by one or more of the master PE, the at least one snooper PE, and the COP itself. After selecting the cache coherence protocol to use, the COP sends a response message to each of the master PE and the at least one snooper PE indicating the selected cache coherence protocol.