2nd JILP Championship Branch Prediction Competition (CBP-2) Contest Rules

This page details the rules for the competition including requirements for submission and use of the simulation infrastructure. Click here for an 8MB tar file that contains the infrastructure for the branch prediction competition. Browse the contents of the infrastructure here. That link also contains information about how to use the infrastructure e.g. how to run the simulator, system requirements, etc. Update: The simulation infrastructure has been updated to remove extraneous traces and provide additional software.

Discussion of these rules is welcome on the cbp2 Google group.

Rules Common to Both Tracks

These rules are common to both realistic and idealistic tracks:

Entry into the Competition

No person may take part in more than 3 submissions regardless of track. Co-authors may not be added after the initial submission. Program committee members who do not have access to the undistributed traces may participate in the competition. Of course, anyone else in the world is also free to enter the competition.

Submission Requirements

Your submission will include the following items: The abstract must be submitted before September 29, 2006, 11:59pm EDT (UTC-4). Send the abstract as an ASCII attachment to Daniel A. Jiménez at djimenez@cs.rutgers.edu.

The other items must all be submitted before October 6, 2006, 11:59pm EDT (UTC-4). Send them as attachments to Daniel A. Jiménez, ideally in a single message. Do not send executable code; send only the paper, the C++ header file, and the ASCII predictor output.

Behavior of Your Code

Traces

Your predictor will be evaluated on a set of traces that have not been distributed. That is, you will design your predictor with the distributed traces on this web site, but a different set will be used to rank the traces and determine the winner. This is to avoid having your algorithm be tuned too precisely to a given set of traces so that it will be a more general branch predictor. The non-distributed traces will be similar in nature to the distributed traces.

Rules for the Realistic Track

These rules are specific to the realistic track. The purpose of this track is to evaluate predictors that might reasonably be implemented in a future processor. Thus, part of the evaluation of your predictor will be qualitative. Your predictor should strive to be as accurate as possible but maintaining a reasonable cost. Take into account the latency, complexity, area, and power of your proposed predictor.

Rules for the Idealistic Track

These rules are specific to the idealistic track. The purpose of this track is to push the limit of branch prediction accuracy. Given an almost unlimited budget, how accurately can we predict branches using only control-flow information? You should feel free to use your imagination with this track; we would prefer new ideas over tweaking of previous work. The winner for this track will be selected based only on accuracy; implementability is not a concern. Although "anything goes" for this track, there are a few rules we must set so that we can be sure that it will be possible to evaluate all of the submissions:

Please feel free to comment on these rules on the cbp2 Google group.

This page was written by Daniel A. Jiménez.