Hello, Ali

Thank for you advice.

I refine the grep pattern with follow command line,

$cat cache.trc | grep  -E "system.l2: ReadExReq \w* hit$" | wc -l
42068

$cat cache.trc | grep  -E "system.l2: ReadExReq \w* miss$" | wc -l
63564

The first command is to get the number of hit ReadExReq from traces,
the second command is to get the number of miss ReadExReq from traces.

As you can see, even the number of hit ReadExReq from cache.trc is
much larger the total
number of ReadExReq reported from stats.txt, which is 25859.

I think, if the ReadExReq is hit, there is no need for a L1 cache send
the request again,
so the number of ReadExReq hit from two method should match with each other.
While, in fact, they are not. Any other advice?

Thanks again
Dawei


$cat parsec/blackscholes/stats.txt | grep system.l2.ReadExReq_accesses::total
system.l2.ReadExReq_accesses::total  9175
    # number of ReadExReq accesses(hits+misses)

system.l2.ReadExReq_accesses::total  5680
    # number of ReadExReq accesses(hits+misses)

system.l2.ReadExReq_accesses::total  1477
    # number of ReadExReq accesses(hits+misses)

system.l2.ReadExReq_accesses::total  9527
    # number of ReadExReq accesses(hits+misses)

Total system.l2.ReadExReq_accesses of the statis.txt is
9175+5680+1477+9527= 25859

> ------------------------------
>
> Message: 3
> Date: Sun, 14 Aug 2011 22:19:23 -0500
> From: Ali Saidi <[email protected]>
> To: gem5 users mailing list <[email protected]>
> Subject: Re: [gem5-users] Why the trace file and stats.txt file do not
>        match   with each other?
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=us-ascii
>
> You'd need to look carefully at what you're actually seeing in the cache. If 
> the cache tries to send a packet multiple times, it might you'll see multiple 
> traces of the same request. You'll also see ReadEx requests go out of the L2.
>
> Ali
>
> On Aug 14, 2011, at 5:12 PM, Dawei Wang wrote:
>
>> Hello, everyone,
>>
>> Today I have simulate one of the PARSEC benchmarks, collecting cache
>> access activities, the following is the command line
>>
>> build/ALPHA_FS/m5.opt --trace-start=2000000000000
>> --trace-file=cache.trc --debug-flags=Cache configs/example/fs.py -n 4
>> --script=../parsec_lib/scripts/blackscholes_4c_simdev.rcS --detailed
>> --caches --l2cache -F 5000000000
>>
>> I am interesting in cache coherence protocol, so I count the ReadExReq
>> from cache.trc and stats.txt file. Below are the results
>>
>> $cat cache.trc | grep ReadExReq | wc -l
>> 280468
>>
>> $cat parsec/blackscholes/stats.txt | grep system.l2.ReadExReq_accesses::total
>> system.l2.ReadExReq_accesses::total              9175
>>     # number of ReadExReq accesses(hits+misses)
>>
>> system.l2.ReadExReq_accesses::total              5680
>>     # number of ReadExReq accesses(hits+misses)
>>
>> system.l2.ReadExReq_accesses::total              1477
>>     # number of ReadExReq accesses(hits+misses)
>>
>> system.l2.ReadExReq_accesses::total              9527
>>     # number of ReadExReq accesses(hits+misses)
>>
>> Total system.l2.ReadExReq_accesses of the statis.txt is
>> 9175+5680+1477+9527= 25859, where as the cache.trc is 280468, the
>> difference is too big ( 1:10.85 ).
>>
>> Can anyone give a reasonable explanation? Which one should we trust,
>> or both are right?
>>
>> Thanks in advances
>>
>> Dawei
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to