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 <saidi(a)umich.edu>
To: gem5 users mailing list <gem5-users(a)gem5.org>
Subject: Re: [gem5-users] Why the trace file and stats.txt file do not
match with each other?
Message-ID: <768D1E25-EC74-4E80-A7AF-FE53F19FAFFE(a)umich.edu>
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
Are statistics being reset? Many configurations will do that at some point.
Nate
On Mon, Aug 15, 2011 at 10:24 AM, Dawei Wang
<david.albert.wang(a)gmail.com> wrote:
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 <saidi(a)umich.edu>
To: gem5 users mailing list <gem5-users(a)gem5.org>
Subject: Re: [gem5-users] Why the trace file and stats.txt file do not
match with each other?
Message-ID: <768D1E25-EC74-4E80-A7AF-FE53F19FAFFE(a)umich.edu>
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
gem5-users(a)gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users