paco probability based pa th co nfidence prediction
Download
Skip this Video
Download Presentation
PaCo Probability-Based Pa th Co nfidence Prediction

Loading in 2 Seconds...

play fullscreen
1 / 37

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


  • 76 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

slide35

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

slide36

+

MDC Table

5

Mispredict?

1

Branch

PC

0

+

Global

Hist

HPCA-14

February 18, 2008

HPCA-14

February 18, 2008

4 bits

ad