Ricardo,
You can also use perfect signatures to detect false sharing. But based
on my experience imperfect signatures allow more opportunities for false
sharing to occur (since each processor could potentially hold on to cache
lines longer due to NACKs). These extra stalls also excercise corner
cases in the programs (e.g., deadlocks due to the interactions between
low-level locks and transactions).
Xact NACKS by PC and stalls by PC are identical.
Luke
On Wed, 10 Dec 2008, Ricardo Quislant del Barrio wrote:
Hi Luke,
You told me in other message how to pad data structures so as to avoid
false sharing:
"... to avoid false sharing between threads. This is done by running
the smallest imperfect signature (e.g., 64 bit signatures) and working
backwards from the stall stats by PC to see where the stalls occur in
the code."
Why should I start by running the smallest imperfect signature?
If I try with the Perfect Signature I'll get stalls due to false sharing
and due to actual conflicts and with Imperfect Signature I'll get those
conflicts
and false positives too. So, why should I start by running the smallest
imperfect
signature and not the Perfect one?
Another question is: When you say "stall stats by PC" do you mean "xact
Nacks by PC"?
Thanks,
Ricardo
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
|