Hi,

Erik, I think Ali was also referring to "size" as number of entries. By aliasing (also known as collisions) he means that, if you have N branches and M entries, if N>M then some branches end up updating (and being predicted by) the same entry. This situation is not a problem, it happens in real predictors, it's just a parameter that has to be controlled tuning the size of the tables and the hash functions.

Regarding your original question, there is no need that the sizes are the same.

Lluc

On Fri, 26 Oct 2012 15:10:23 +0100, Erik Tomusk wrote:
Hi Ali,

When I said "size," I meant number of entries rather than depth of
the saturating counters. I'm not sure I follow what you mean by
aliasing. Currently the threshold for taken/not taken is set by the
size of the local counter, so if the global or choice counters are
different in size, their predictions will be skewed. (I want to fix
this.)

I think the best thing to do is make sure the parameters just do what
they say they do, throw up errors if the user is asking for something
self-contradictory, and leave the real-world feasibility of a set of
parameters as an exercise for the user.

-Erik

On 26/10/12 14:35, Ali Saidi wrote:
Hi Erik,

I don' think it has to be, but some situations wouldn't make sense. I don't think there would be a reason for choice> local&& choice> global. You could have the choice predictor being less than the other ones, but then they're would be aliasing in predicting which predictor to pick. I don't know how bad this would be.

Ali



On Oct 26, 2012, at 9:25 AM, Erik Tomusk wrote:

Hi Ali,

I've moved this thread to the dev list because it looks like I'll be making this patch.

One thing I'm unsure of is that currently the global and choice predictor tables end up being the same size (for all practical purposes). I don't see any reason why this should necessarily be the case, but I'm not an expert on branch predictors. Thoughts?

-Erik

On 25/10/12 17:24, Ali Saidi wrote:
Hi Erik,

I posted a patch last night that fixed some issues with the local predictor, but it all certainly could be cleaned up. We'd be very happy to commit patches that clean up and parameters and code to address the issues you've identified.

Thanks,

Ali

On 25.10.2012 11:31, Erik Tomusk wrote:

Hi All,

It seems to me that some of the tournament branch predictor parameters
are redundant, at least given how the predictor is currently
implemented. Has anyone else run into this?

Specifically, the tournament predictor takes nine parameters that can be
configured independently:
localPredictorSize,
localCtrBits,
localHistoryTableSize,
localHistoryBits,
globalPredictorSize,
globalHistoryBits,
globalCtrBits,
choicePredictorSize,
choiceCtrBits

However, the code assumes that 2^(globalHistoryBits) =
globalPredictorSize = choicePredictorSize, and 2^(localHistoryBits) = localPredictorSize. These assumptions aren't tested, so it's possible to crash gem5 if, for example, 2^(globalHistoryBits)> globalPredictorSize.

There's also a redundancy in the three *CtrBits. The prediction
threshold is based on localCtrBits, but used for the other two as well.
The *CtrBits can be defined independently, but it looks like the
saturating counters' thresholds will be skewed unless all the *CtrBits are the same. (There is a comment that the thresholds should be separated)

So the question is, how much of this is bug, and how much is feature?
Has this caused problems for anyone?

Thanks,
Erik



_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev



WARNING / LEGAL TEXT: This message is intended only for the use of the
individual or entity to which it is addressed and may contain
information which is privileged, confidential, proprietary, or exempt
from disclosure under applicable law. If you are not the intended
recipient or the person responsible for delivering the message to the
intended recipient, you are strictly prohibited from disclosing,
distributing, copying, or in any way using this message. If you have
received this communication in error, please notify the sender and
destroy and delete any copies you may have received.

http://www.bsc.es/disclaimer
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to