Distributed Predicate Prediction for Multi-Core Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed large-window processors, the deferral of predicate evaluation can significantly reduce performance, and existing technologies either avoid predication or centralize fetch and prediction, limiting the distribution of instructions across a large distributed multi-core processor.
Innovation Solution
A predicate prediction scheme is implemented in a distributed multi-core microarchitecture, where the compiler encodes approximate predicate path information in branch instructions, allowing distributed predicate predictors to generate dynamic histories for accurate high-confidence predicate prediction, reducing communication between cores and moving predicate evaluation from execution to the dispatch/predict stage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If predication is used in distributed large-window processors, then code can be distributed over many execution units, but predicate evaluation is deferred to execute time which reduces performance
Solution Approach 1:
The patent applies preliminary action by performing predicate evaluation at dispatch time rather than deferring to execute time. The predicate predictor evaluates predicates when instructions are dispatched to execution units, before actual execution occurs. This allows the control flow to be determined earlier in the pipeline, maintaining the benefits of code distribution while improving performance by avoiding late evaluation.
2Measurement precision
If fetch and predicate prediction are centralized into a single unit, then prediction can be performed, but fetch bandwidth is reduced which precludes distribution over large multi-core processor
Solution Approach 1:
The patent applies segmentation by distributing predicate predictors to multiple processor cores rather than using a single centralized predictor. Each core has its own predicate predictor that operates independently on local instructions. This segmentation maintains prediction accuracy locally while enabling parallel operation across multiple cores, thereby preserving both prediction quality and fetch bandwidth through distributed operation.
Solution Approach 2:
The patent transitions from a single-dimension centralized prediction model to a multi-dimensional distributed prediction model. By adding the dimension of spatial distribution across multiple cores, the system achieves both accurate local prediction and high aggregate bandwidth through parallel fetch operations at each core.
3Reliability
If all branches are kept as branches rather than converted to predicates, then control flow is maintained, but every control decision becomes a branch which limits distribution over distributed processor
Solution Approach 1:
The patent applies preliminary action by evaluating predicates at dispatch time to determine control flow before execution. This allows branches to be converted to predicates that are evaluated early in the pipeline, enabling instructions to be distributed across multiple execution units while maintaining accurate control flow determination through early predicate evaluation.
Data Source
AI summary
Examples of a system, method and computer accessible medium are provided to generate a predicate prediction for a distributed multi-core architecture. Using such system, method and computer accessible medium, it is possible to intelligently encode approximate predicate path information on branch instructions. Using this statically generated information, distributed predicate predictors can generate dynamic predicate histories that can facilitate an accurate prediction of high-confidence predicates, while minimizing the communication between the cores.


