I conducted an experiment to figure out how many calls are made to the
hash table to check if the given address exists in the cache. For the same
setup as before, less than 10% calls are made. That is out of about
880,000,000 calls to the isTagPresent function, only about 81,000,000
actually go and search the hash table.
I think we should work towards removing some of the redundant calls. I
have a partial fix for some portion of the code. But again, it is not a
design change. I am unsure how to change the design of Ruby and/or Slicc
to get done with these redundant calls.
Brad, do you have something in mind on this?
Thanks
Nilay
On Fri, 26 Nov 2010, Steve Reinhardt wrote:
Hi Nilay,
Good job, this is clearly progress... you've sped up isTagPresent by 2X and
the simulation overall by almost 10%. That's nothing to sneeze at. It's
sad that isTagPresent is still the top function though. Can you do some
tracing or other experiments to get a feel for whether keeping the last N
tags instead of the last 1 (for some small value of N, like 2 or 3) would be
useful? Just printing out a trace of calls to isTagPresent should be enough
to get a feeling for whether that's worth hacking in a test implementation.
Also, I see a lot of your patch has to do with removing const labels from
isTagPresent... this is exactly the scenario the 'mutable' keyword was
designed for; if you mark your m_mru_* fields as mutable, then you shouldn't
have to remove the const labels from any of the function calls.
Steve
On Fri, Nov 26, 2010 at 9:37 AM, Nilay Vaish <ni...@cs.wisc.edu> wrote:
I profiled the un-modified and the modified m5 ten times (this time there
was no load on the machine). Here are the average results:
% time std. dev actual time std. dev
un-modified
isTagPresent 19.99 0.35 47.17 1.23
cumulative 100 0.00 235.91 3.37
modified
isTagPresent 10.35 0.28 21.22 0.57
cumulative 100 0.00 205.11 2.94
Below is the patch, though it may not apply cleanly to current version of
m5 since I have few un-committed patches enqueued.
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev