Multiperspective Perceptron Predictor with TAGE

Slides:



Advertisements
Similar presentations
Perceptron Branch Prediction with Separated T/NT Weight Tables Guangyu Shi and Mikko Lipasti University of Wisconsin-Madison June 4, 2011.
Advertisements

Dead Block Replacement and Bypass with a Sampling Predictor Daniel A. Jiménez Department of Computer Science The University of Texas at San Antonio.
André Seznec Caps Team IRISA/INRIA 1 Looking for limits in branch prediction with the GTL predictor André Seznec IRISA/INRIA/HIPEAC.
H-Pattern: A Hybrid Pattern Based Dynamic Branch Predictor with Performance Based Adaptation Samir Otiv Second Year Undergraduate Kaushik Garikipati Second.
Hardware-based Devirtualization (VPC Prediction) Hyesoon Kim, Jose A. Joao, Onur Mutlu ++, Chang Joo Lee, Yale N. Patt, Robert Cohn* ++ *
Exploring Correlation for Indirect Branch Prediction 1 Nikunj Bhansali, Chintan Panirwala, Huiyang Zhou Department of Electrical and Computer Engineering.
Computer Science Department University of Central Florida Adaptive Information Processing: An Effective Way to Improve Perceptron Predictors Hongliang.
André Seznec Caps Team IRISA/INRIA 1 The O-GEHL branch predictor Optimized GEometric History Length André Seznec IRISA/INRIA/HIPEAC.
Computer Organization and Architecture (AT70.01) Comp. Sc. and Inf. Mgmt. Asian Institute of Technology Instructor: Dr. Sumanta Guha Slide Sources: Based.
Yue Hu David M. Koppelman Lu Peng A Penalty-Sensitive Branch Predictor Department of Electrical and Computer Engineering Louisiana State University.
A PPM-like, tag-based predictor Pierre Michaud. 2 Main characteristics global history based 5 tables –one 4k-entry bimodal (indexed with PC) –four 1k-entry.
TAGE-SC-L Branch Predictors
Dibakar Gope and Mikko H. Lipasti University of Wisconsin – Madison Championship Branch Prediction 2014 Bias-Free Neural Predictor.
CPE 731 Advanced Computer Architecture ILP: Part II – Branch Prediction Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University.
1 Lecture: Branch Prediction Topics: branch prediction, bimodal/global/local/tournament predictors, branch target buffer (Section 3.3, notes on class webpage)
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Oct. 7, 2002 Topic: Instruction-Level Parallelism (Dynamic Branch Prediction)
VLSI Project Neural Networks based Branch Prediction Alexander ZlotnikMarcel Apfelbaum Supervised by: Michael Behar, Spring 2005.
Goal: Reduce the Penalty of Control Hazards
Computer Architecture Instruction Level Parallelism Dr. Esam Al-Qaralleh.
Dynamic Branch Prediction
EENG449b/Savvides Lec /25/05 March 24, 2005 Prof. Andreas Savvides Spring g449b EENG 449bG/CPSC 439bG.
CIS 429/529 Winter 2007 Branch Prediction.1 Branch Prediction, Multiple Issue.
Optimized Hybrid Scaled Neural Analog Predictor Daniel A. Jiménez Department of Computer Science The University of Texas at San Antonio.
1 Storage Free Confidence Estimator for the TAGE predictor André Seznec IRISA/INRIA.
Analysis of Branch Predictors
Microprocessor Arch. 김인식 - 인사
André Seznec Caps Team IRISA/INRIA 1 Analysis of the O-GEHL branch predictor Optimized GEometric History Length André Seznec IRISA/INRIA/HIPEAC.
Microbenchmarks and Mechanisms for Reverse Engineering of Branch Predictor Structures Vladimir Uzelac and Aleksandar Milenković LaCASA Laboratory Electrical.
Microprocessor Microarchitecture Instruction Fetch Lynn Choi Dept. Of Computer and Electronics Engineering.
1 A New Case for the TAGE Predictor André Seznec INRIA/IRISA.
1 Dynamic Branch Prediction. 2 Why do we want to predict branches? MIPS based pipeline – 1 instruction issued per cycle, branch hazard of 1 cycle. –Delayed.
1 Revisiting the perceptron predictor André Seznec IRISA/ INRIA.
Sampling Dead Block Prediction for Last-Level Caches
T-BAG: Bootstrap Aggregating the TAGE Predictor Ibrahim Burak Karsli, Resit Sendag University of Rhode Island.
André Seznec Caps Team IRISA/INRIA 1 A 256 Kbits L-TAGE branch predictor André Seznec IRISA/INRIA/HIPEAC.
Adapted from Computer Organization and Design, Patterson & Hennessy, UCB ECE232: Hardware Organization and Design Part 13: Branch prediction (Chapter 4/6)
Idealized Piecewise Linear Branch Prediction Daniel A. Jiménez Department of Computer Science Rutgers University.
1 The Inner Most Loop Iteration counter a new dimension in branch history André Seznec, Joshua San Miguel, Jorge Albericio.
Temporal Stream Branch Predictor (TS Predictor) Yongming Shen, Michael Ferdman.
Branch Prediction Perspectives Using Machine Learning Veerle Desmet Ghent University.
André Seznec Caps Team IRISA/INRIA 1 Analysis of the O-GEHL branch predictor Optimized GEometric History Length André Seznec IRISA/INRIA/HIPEAC.
Multiperspective Perceptron Predictor Daniel A. Jiménez Department of Computer Science & Engineering Texas A&M University.
Dynamic Branch Prediction
MICRO-48, 2015 Computer System Lab, Kim Jeong Won.
Multilayer Perceptron based Branch Predictor
CS203 – Advanced Computer Architecture
Dynamic Branch Prediction
CS5100 Advanced Computer Architecture Advanced Branch Prediction
COSC3330 Computer Architecture Lecture 15. Branch Prediction
Dynamically Sizing the TAGE Branch Predictor
FA-TAGE Frequency Aware TAgged GEometric History Length Branch Predictor Boyu Zhang, Christopher Bodden, Dillon Skeehan ECE/CS 752 Advanced Computer Architecture.
CMSC 611: Advanced Computer Architecture
Exploring Value Prediction with the EVES predictor
Looking for limits in branch prediction with the GTL predictor
Perceptrons for Dummies
Using Dead Blocks as a Virtual Victim Cache
Dynamic Hardware Branch Prediction
Scaled Neural Indirect Predictor
Dynamic Branch Prediction
Lecture 10: Branch Prediction and Instruction Delivery
TAGE-SC-L Again MTAGE-SC
5th JILP Workshop on Computer Architecture Competitions
So far we have dealt with control hazards in instruction pipelines by:
Adapted from the slides of Prof
So far we have dealt with control hazards in instruction pipelines by:
rePLay: A Hardware Framework for Dynamic Optimization
Consider the following code segment for a loop: int a = 3, b = 4;
The O-GEHL branch predictor
Gang Luo, Hongfei Guo {gangluo,
Eshan Bhatia1, Gino Chacon1, Elvira Teran2, Paul V. Gratz1, Daniel A
Presentation transcript:

Multiperspective Perceptron Predictor with TAGE * 07/16/96 Multiperspective Perceptron Predictor with TAGE Daniel A. Jiménez Department of Computer Science & Engineering Texas A&M University *

Multiperspective Idea Instead of just global/local history, use a wide range of features Multiple perspectives on branch history Multiperspective Perceptron Predictor Hashed Perceptron Sum weights indexed by hashes of features Update weights using perceptron training Contribution is a wide range of features

Main Idea “Statistical corrector” in TAGE-SC-L is a perceptron predictor Augment it with multiperspective features

Traditional Features SC already contains some traditional features GHIST – global branch outcome history LOCAL – 11-bit local history Callstack history

Novel Features IMLI – from Seznec’s innermost loop iteration counter work: When a backward branch is taken, count up When a backward branch is not taken, reset counter I propose an alternate IMLI When a forward branch is not taken, count up When a forward branch is taken, reset counter This represents loops where the decision to continue is at the top Typical in code compiled for size or by JIT compilers Forward IMLI works better than backward IMLI on these traces I use both forward and backward in the predictor

Novel Features cont. MODHIST – modulo history Branch histories become misaligned when some branches are skipped MODHIST records only branches whose PC is congruent to 0 modulo some n. Hopefully branches responsible for misalignment will not be recorded Try many values of n to come up with a good MODHIST feature

Novel Features cont. MODPATH – same idea with path of branch PCs RECENCY Keep a recency stack of n branch PCs managed with LRU replacement Hash the stack to get the feature RECENCYPOS Position (0..n-1) of current branch in recency stack, or n if no match Works surprisingly well

Novel Features cont. BLURRYPATH Shift higher-order bits of branch PC into an array Only record the bits if they don’t match the current bits Parameters are the depth of the array and the number of bits to truncate Give a view of the region a branch came from rather than the precise location

Novel Features cont. ACYCLIC The current PC indexes a small array, recording the branch outcome there The array always has the latest outcome for a given bin of branches. Acyclic – loop or repetition behavior is not recorded

Putting it Together Statistical corrector of TAGE-SC-L is augmented with these features Each feature is computed, hashed, and XORed with the current PC Resulting index selects weight from a table Weights are summed, thresholded to make prediction Weights are updated with perceptron learning

Optimizations Searched for good TAGE table sizes to enable sufficient perceptron table sizes Optimized TAGE hash functions for ARM Adaptive threshold training Hashing some tables together with IMLI and RECENCYPOS

Contribution of Features (64KB)

Results 8KB – 5.226 MPKI 64KB – 4.048 MPKI Unlimited – 2.967 MPKI