Paco probability based pa th co nfidence prediction
Download
1 / 37

PaCo Probability-Based Pa th Co nfidence Prediction - PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on

PaCo Probability-Based Pa th Co nfidence Prediction. Kshitiz Malik, Mayank Agarwal, Vikram Dhar, Matthew Frank Implicitly Parallel Architectures Group University of Illinois at Urbana-Champaign. Summary. Path Confidence: likelihood of correct path Pipeline Gating, SMT Fetch

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' PaCo Probability-Based Pa th Co nfidence Prediction' - pilis


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Paco probability based pa th co nfidence prediction

PaCoProbability-Based Path Confidence Prediction

Kshitiz Malik, Mayank Agarwal, Vikram Dhar,

Matthew Frank

Implicitly Parallel Architectures Group

University of Illinois at Urbana-Champaign


Summary
Summary

  • Path Confidence: likelihood of correct path

    • Pipeline Gating, SMT Fetch

  • Conventional: use count of low-conf branches

    • Inaccurate

  • PaCo: Directly estimates goodpath probability

    • Highly accurate, modest hardware

    • Improves performance on gating, SMT Fetch

HPCA-14

February 18, 2008


Outline
Outline

  • Overview

  • Motivation

  • Design

  • Evaluation

  • Applications

HPCA-14

February 18, 2008


Branch confidence prediction
Branch Confidence Prediction

  • Branch Confidence: Single Branches

    • Low Conf / High Conf

    • Applications: Checkpointing, Multipath etc

HPCA-14

February 18, 2008


Path confidence prediction
Path Confidence Prediction

  • Path Confidence: likelihood of being on correct path

  • Contributions from Multiple Branches

  • Conventionally: Count of (unexecuted) low-confidence branches.

HPCA-14

February 18, 2008


Path confidence applications
Path Confidence: Applications

  • Path Confidence: Multiple Branches

    • Count of low-confidence branches.

    • Applications: Pipeline Gating, SMT Prioritization

Gate-Count = 5

(Fetch gated when conf >= 5)

Gated

HPCA-14

February 18, 2008


Path confidence applications1
Path Confidence: Applications

  • Path Confidence: Multiple Branches

    • Count of low-confidence branches.

    • Applications: Pipeline Gating, SMT Prioritization

HPCA-14

February 18, 2008


Issues with conventional approach
Issues with Conventional Approach

  • Path Confidence: Multiple Branches

    • Count of low-confidence branches.

    • Applications: Pipeline Gating, SMT Prioritization

  • Problem: implicit assumption that

    • High-conf branches never mispredict

    • All low-conf branches have same misprediction probability

HPCA-14

February 18, 2008


Path confidence using paco
Path Confidence using PaCo

  • Directly estimates goodpath probability

  • Highly Accurate: RMS error 3.8%

  • Modest Hardware: 60 bytes of counters

  • Excellent Performance in applications

    • Gating: BadpathInstrs. Performance Conv↓ 7%↓ 0.1%

      PaCo ↓ 32%↓ 0.01%

    • SMT Fetch Prioritization: ↑ perfupto 23% (5.5% av.)

HPCA-14

February 18, 2008


Outline1
Outline

  • Overview

  • Motivation

  • Design

  • Evaluation

  • Applications

HPCA-14

February 18, 2008


Branch confidence prediction1
Branch Confidence Prediction

  • Classify branches as low conf. or high conf.

  • JRS predictor:

    • Count consecutive correct predictions

    • Below threshold: Low Confidence

  • Table of Miss-Distance Counters (MDCs)

MDC Value

<

Threshold?

+

MDC Table

MDC

Value

5

Mispredict?

1

Branch

PC

0

+

On Branch Execution

Global

Hist

HPCA-14

February 18, 2008

4 bits


Conventional path confidence prediction
Conventional Path Confidence Prediction

  • Count of low-confidence branches = measure of path confidence

  • Threshold-and-Count Approach

  • Inaccurate

    • Coarseness

    • No relation to goodpath probability

MDC

Table

Threshold Function

Sum

Low Conf / High Conf

(1 bit)

Miss Distance Counter Value

(4 bits)

Path Confidence

Branch

HPCA-14

February 18, 2008


Coarseness

Threshold Function

Low Conf / High Conf

(1 bit)

Coarseness

Miss Distance Counter Value

(4 bits)

a

JRS Threshold = 3

  • All low-conf branches are equal

  • Eg: SMT prior.

    • gcc:

      • a pending

      • 0.57 gpathprob

    • vortex:

      • 2 bpend.

      • Prob = 0.88*0.88 = .78

    • yet, fetch from gcc!

b

High Conf

Low Conf

HPCA-14

February 18, 2008


Coarseness1

Threshold Function

Low Conf / High Conf

(1 bit)

Coarseness

Miss Distance Counter Value

(4 bits)

  • All low-conf branches are equal

  • High-conf branches don’t mispredict

    • twolf, vortex, mdc=3

    • Don’t affect conf.

HPCA-14

February 18, 2008


Sum probability
Sum ≠ Probability

Sum

Low Conf / High Conf

(1 bit)

Path Confidence

  • Gating at count=5

    • Too aggressive for gzip, not useful for route

  • SMT Fetch:

    • gzip and route, conf = 5. Equal bandwith?

Goodpath Likelihood when 5 low-confidence branches are pending

HPCA-14

February 18, 2008


Sum probability1
Sum ≠ Probability

Goodpath Likelihood when 5 low-confidence branches are pending

HPCA-14

February 18, 2008


Sum probability2
Sum ≠ Probability

Sum

Low Conf / High Conf

(1 bit)

Path Confidence

  • Hard to choose optimal gate-count

    • Different gate-counts for different benchmarks

    • Different gate-counts for different phases

  • Hard to compare path confidence of diff. apps

    • SMT Fetch Prioritization sub-optimal

HPCA-14

February 18, 2008


Outline2
Outline

  • Overview

  • Motivation

  • Design

  • Evaluation

  • Applications

HPCA-14

February 18, 2008


Design
Design

  • Calculate Goodpath Probability directly

  • Finding ‘correct prediction probability’ for a branch

    • MDC table good differentiator of misprediction rates

    • Find misprediction rate for each MDC value

    • No thresholding!

    • Other, more h/w intensive approaches possible

HPCA-14

February 18, 2008


Threshold and count vs paco
Threshold-and-count vs. PaCo

MDC

Table

Threshold Function

Sum

Low Conf / High Conf

(1 bit)

Miss Distance Counter Value

(4 bits)

Path Confidence

Branch

Mispredict Rate

Calculator

(MRT)

Product

Mispredict

Probability

Path Confidence

Mispred Rate Table

0

PaCo

1

2

.

.

.

Misprediction

Rate

13

14

15

HPCA-Practice Talk

February 13, 2008

MDC Value


Hardware complexity
Hardware Complexity

  • Remove floating point: scale to integer values

  • Hardware Complexity

    • Floating point MUL and DIV required

  • Use logarithms, remove mul/div

HPCA-14

February 18, 2008


Paco hardware

MDC Table

PaCo Hardware

5

Branch

PC

Feedback from Backend

60 bytes of counters, 10-bit shift register

Global

Hist

Mispredict Rate Calculator

Path Confidence Predictor

Encoded

Probability

Correct Preds

MDC 0

Mispreds

MDC 0

MDC 1

Correct Preds

MDC 1

Log

Circuit

Mispreds

.

.

.

.

.

.

.

.

.

.

.

Path Confidence

6 bits

+

+

10 bits

Correct Preds

MDC 15

MDC 15

Mispreds

12 bits


Outline3
Outline

  • Overview

  • Motivation

  • Design

  • Evaluation

  • Applications

HPCA-14

February 18, 2008


Evaluation prediction accuracy
Evaluation: Prediction Accuracy

  • RMS Error = 0.038.

  • Example:

    • Predicted 60% goodpath likelihood

    • Should be within (60 ± 3.8) = 56.2% - 63.8%

HPCA-14

February 18, 2008



Outline4
Outline

  • Overview

  • Motivation

  • Design

  • Evaluation

  • Applications

HPCA-14

February 18, 2008


Applications pipeline gating
Applications: Pipeline Gating

GateCount=1

GateCount=2

GateCount=10

HPCA-14

February 18, 2008


Applications pipeline gating1
Applications: Pipeline Gating

0.1% perf loss

32% redn. in badpath instructions

HPCA-14

February 18, 2008



Conclusions
Conclusions

  • Threshold-and-Count predictors are inaccurate

  • PaCo: Directly produces goodpath probability

  • Uses modest h/w by using logarithms

  • Highly accurate: low RMS error (3.8%)

  • PaCo does very well in Pipeline Gating and SMT Fetch Prioritization

HPCA-14

February 18, 2008


Questions
Questions?

HPCA-14

February 18, 2008


Backup1 comparison with wpup
Backup1: Comparison with WPUP

  • WPUP: Perfect Fetch gating improves average performance by 2.3% (excl. mcf and parser)

  • Badpath Instructions

    • Good: prefetching (useful: small ROBs, wide machines)

    • Bad: BTB/Cache pollution (prob: smaller BTBs/caches)

  • Prefetching much less useful with 512 ROB


Pipeline parameters fetch gating
Pipeline Parameters: Fetch Gating

HPCA-14

February 18, 2008


Pipeline parameters smt
Pipeline Parameters: SMT

HPCA-14

February 18, 2008


MDC

Table

Threshold Function

Sum

Low Conf / High Conf

(1 bit)

Miss Distance Counter Value

(4 bits)

Path Confidence

Branch

HPCA-Practice Talk

February 13, 2008


+

MDC Table

5

Mispredict?

1

Branch

PC

0

+

Global

Hist

HPCA-14

February 18, 2008

HPCA-14

February 18, 2008

4 bits



ad