Precomputed Cache Coherence for Shared-Memory Multiprocessors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cache coherence protocols in shared memory multiprocessor systems require significant computing resources at runtime, impacting optimal use of resources in confined environments like autonomous vehicles.
Innovation Solution
A precomputed coherence protocol is generated using a learning-based or heuristic approach, optimizing compute task distribution and data positioning, which is then implemented using cache flags in a reservation table to ensure cache coherence without runtime analysis.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cache coherence protocols are implemented at runtime in shared memory multiprocessor systems, then cache coherence is maintained, but significant computing resources are consumed
Solution Approach 1:
The patent applies preliminary action by precomputing the coherence protocol before runtime execution. The system analyzes the compute graph and hardware topology in advance to determine which caches will hold which data, pre-generating the coherence protocol that will be needed during execution. This eliminates the need for complex runtime coherence analysis, as the protocol is already established and can be directly implemented during workload execution.
2Reliability
If runtime analysis is performed for cache coherence, then correct coherence behavior is ensured, but processing resources are consumed
Solution Approach 1:
The system performs the coherence analysis action beforehand by examining the compute graph and hardware topology to pre-determine cache allocation and coherence requirements. This preliminary analysis generates a coherence protocol that is then executed without further analysis during runtime, thereby ensuring correct coherence behavior while eliminating the need for resource-consuming processing during actual workload execution.
3Productivity
If optimal task scheduling is performed using learning-based approaches, then resource optimization is achieved, but computational overhead is introduced
Solution Approach 1:
The patent applies preliminary action by performing the learning-based optimization and task scheduling before runtime. The system uses learning-based approaches to analyze the compute graph and hardware topology, determining optimal task distribution and cache allocation in advance. Once the optimal schedule is computed and the coherence protocol is generated, neither the learning-based analysis nor the optimization computations are needed during execution, thereby achieving resource optimization without incurring computational overhead during runtime.
Data Source
AI summary
A multi-processor computing system (e.g., a system-on-chip) can store, in a shared memory, (i) a reservation table that is accessible by the one or more workload processors, and (ii) a scheduling program. The system can further execute the scheduling program to schedule execution of a set of workloads by one or more workload processors in accordance with an optimized compute graph, an optimized data positioning graph, and a coherence protocol that is precomputed based on the optimized compute graph and the optimized data positioning graph.


