abps - advanced branch prediction simulator

23
07/06/22 1 ABPS – Advanced Branch Prediction Simulator http://sourceforge.net/projects/abps Ciprian V. RADU, Horia CALBOREAN, Adrian CRAPCIU Lucian VINŢAN, Adrian FLOREA

Upload: adrian-florea

Post on 17-Dec-2014

1.125 views

Category:

Technology


0 download

DESCRIPTION

ABPS - is an interactive graphical trace-driven simulator for teaching branch prediction. With ABPS simulator we identify unbiased branches and may run a plenty of branch predictors, from classical two-level up to neural state-of-the art, varying the most important parameters and illustrating simulations’ results. Also important, ABPS permits the migration of some mature actual scientific problems to students’ understanding level.

TRANSCRIPT

Page 1: ABPS - Advanced Branch Prediction Simulator

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

Page 2: ABPS - Advanced Branch Prediction Simulator

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.

Page 3: ABPS - Advanced Branch Prediction Simulator

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.

Page 4: ABPS - Advanced Branch Prediction Simulator

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.

Page 5: ABPS - Advanced Branch Prediction Simulator

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).

Page 6: ABPS - Advanced Branch Prediction Simulator

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.

Page 7: ABPS - Advanced Branch Prediction Simulator

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.

Page 8: ABPS - Advanced Branch Prediction Simulator

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.

Page 9: ABPS - Advanced Branch Prediction Simulator

10/04/23 9

ABPS is a Predictor (Cont.)

• Two level predictors:– GAg– GShare – PAg – PAp

• Neural Predictors:– Simple perceptron– Fast Path-based perceptron

Page 10: ABPS - Advanced Branch Prediction Simulator

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.

Page 11: ABPS - Advanced Branch Prediction Simulator

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.

Page 12: ABPS - Advanced Branch Prediction Simulator

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;

Page 13: ABPS - Advanced Branch Prediction Simulator

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

Page 14: ABPS - Advanced Branch Prediction Simulator

10/04/23 14

How does ABPS look like

Page 15: ABPS - Advanced Branch Prediction Simulator

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.

Page 16: ABPS - Advanced Branch Prediction Simulator

10/04/23 16

ABPS architecture – a user view

Page 17: ABPS - Advanced Branch Prediction Simulator

10/04/23 17

ABPS architecture – main view

Page 18: ABPS - Advanced Branch Prediction Simulator

10/04/23 18

ABPS architecture – process flow

Page 19: ABPS - Advanced Branch Prediction Simulator

10/04/23 19

ABPS architecture – detection process

Page 20: ABPS - Advanced Branch Prediction Simulator

10/04/23 20

ABPS architecture – detector core

Page 21: ABPS - Advanced Branch Prediction Simulator

10/04/23 21

ABPS architecture – predictor core

Page 22: ABPS - Advanced Branch Prediction Simulator

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.

Page 23: ABPS - Advanced Branch Prediction Simulator

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.