abps - advanced branch prediction simulator
Post on 17-Dec-2014
1.126 Views
Preview:
DESCRIPTION
TRANSCRIPT
10/04/23 1
ABPS – Advanced Branch Prediction Simulator
http://sourceforge.net/projects/abps
Ciprian V. RADU, Horia CALBOREAN, Adrian CRAPCIU
Lucian VINŢAN, Adrian FLOREA
10/04/23 2
Branch prediction – a major problem
• Without performing branch prediction, it won’t be possible to aggressively exploit instruction level parallelism;
• Both architectural and technological complexity of current processors emphasizes the negative impact on performance and power consumption due to every miss predicted branch.
10/04/23 3
What is ABPS?
• A trace-driven simulator that allows you to study (in an interactive and easy manner) the problem of branch prediction;
• A detector of difficult-to-predict branches;• A predictor of branches;• An interactive tool;• An easy to use and highly configurable
simulator;• An OS independent platform.
10/04/23 4
Why do we need ABPS?
• Lack of simulators dedicated to branch prediction used in didactical purposes despite of plenty used in research goals;
• Most existing simulators (from research) are difficult to use and don’t provide a GUI;
• Studying processors performance requires simulators;
• ABPS permits the migration of some mature actual scientific problems to students’ understanding level.
10/04/23 5
A trace driven Branch Prediction Simulator
• ABPS currently uses two kind of integer benchmarks for simulation purposes:
• 8 Stanford benchmarks - very helpful for didactic purposes (Hennessy);
• 17 SPEC 2000 benchmarks (more complex, 1.000.000 dynamic branches).
10/04/23 6
ABPS is a Detector
• All present branch prediction techniques are limited in their accuracy.
• An important limitation cause is given by the used prediction contexts (global and local histories, path information).
• Some branches are unbiased and non-deterministically shuffled, thus unpredictable.
• The percentages of these branches represents a fundamental prediction limitation.
10/04/23 7
ABPS is a Detector (cont.)
• Detecting difficult to predict branches can be easily done with ABPS, in a highly configurable manner;
• ABPS includes several detection schemes, based on:– Local history (HrL);– Global history (HrG);– HrL + HrG;– HrG + Path;– HrL + HrG + Path.
10/04/23 8
ABPS is a Predictor
• Or, more exactly: a collection of predictors, fully configurable;
• ABPS integrates two level predictors and state of the art (neural) predictors;
• Simulation over different benchmarks, using multiple prediction schemes, allows an easy to perform comparison between different predictors.
10/04/23 9
ABPS is a Predictor (Cont.)
• Two level predictors:– GAg– GShare – PAg – PAp
• Neural Predictors:– Simple perceptron– Fast Path-based perceptron
10/04/23 10
ABPS is a Detector & Predictor
• The two major core elements of ABPS are linked: a predictor should benefit from the results provided by a detector;
• One can use detection results and try a prediction over unbiased branches only;
• Thus, we can observe how a predictor is able to manage unbiased branches;
• With ABPS you have a lot of simulation possibilities.
10/04/23 11
What ABPS has to offer?
• In a simple way of speaking… A LOT;
• ABPS was designed to be flexible. Thus, a lot of results can be obtained;
• ABPS GUI uses 25% of space for inputs and 75% for displaying simulation results.
• Please think of ABPS more like a black box, with a lot of inputs, a lot of outputs, although EASY TO USE.
10/04/23 12
ABPS gives you what you need: results
• ABPS offers results for both detection and prediction processes;
• Metrics:– Prediction accuracy;– Table usage degree;– Confidence;– Saturation degree;
10/04/23 13
ABPS gives you what you need: results (cont.)
• Currently, ABPS gives you results in two distinct ways:– Text mode;– Chart mode.Using charts, ABPS gives you the opportunity:- to better interpret simulation results;- to notice tendencies (outputs = f(inputs));- to observe limits.Results can be saved for further investigation
10/04/23 14
How does ABPS look like
10/04/23 15
ABPS is software for hardware
• The architecture of ABPS tries to follow the architecture of a processor:– Objects for registers;– Data structures that emulate branch predictors;– Use of OOP concepts for detection and prediction
problems.
• ABPS uses an analytical model to determine the impact of unbiased branches and branch miss-predictions on global processing performance.
10/04/23 16
ABPS architecture – a user view
10/04/23 17
ABPS architecture – main view
10/04/23 18
ABPS architecture – process flow
10/04/23 19
ABPS architecture – detection process
10/04/23 20
ABPS architecture – detector core
10/04/23 21
ABPS architecture – predictor core
10/04/23 22
And that’s not all… (further work)
• Main goal of ABPS is to become a framework for branch prediction simulation
• ABPS will:– be a distributed software application;– include a way to persist results (DBMS or file system);– allow you to import and export simulation data;– be integrated in a more complex hardware
architecture which includes: cache, out-of-order execution mechanism, power consumption.
10/04/23 23
ABPS – submitted for EuroSim2007, Ljubljana, Slovenia
• You can reach us any time -> http://sourceforge.net/projects/abps
THANK YOU for your time!
• Requirements:– JRE 1.5;– 1 GHz CPU;– 256 MB RAM;– 1024x768 minimum screen resolution.
top related