Paco probability based pa th co nfidence prediction
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

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


  • 54 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

PaCo Probability-Based Pa th Co nfidence Prediction

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


Accuracy reliability diagram

Accuracy: Reliability Diagram

RMS Error


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


Applications smt fetch prioritization

Applications: SMT Fetch Prioritization


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


Paco probability based pa th co nfidence prediction

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


Paco probability based pa th co nfidence prediction

+

MDC Table

5

Mispredict?

1

Branch

PC

0

+

Global

Hist

HPCA-14

February 18, 2008

HPCA-14

February 18, 2008

4 bits


Applications smt fetch prioritization1

Applications: SMT Fetch Prioritization


  • Login