Distributed Predicate Prediction for Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecode distribution capabilityVSAvoidpredicate evaluation speed
Core Design Contradiction:
ProductivityVSSpeed

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvepredicate prediction accuracyVSAvoidfetch bandwidth
Core Design Contradiction:
Measurement precisionVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improvecontrol flow accuracyVSAvoidinstruction distribution capability
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8433885B2Method, system and computer-accessible medium for providing a distributed predicate prediction
Publication Date: 2013.04.30 BOARD OF RGT THE UNIV OF TEXAS SYST
  • US8433885B2 patent drawing
  • US8433885B2 patent drawing
  • US8433885B2 patent drawing

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.