gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Re: [gem5-users] Why the trace file and stats.txt file do not match with each other?

DW
Dawei Wang
Mon, Aug 15, 2011 5:24 PM

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

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
NB
nathan binkert
Mon, Aug 15, 2011 5:31 PM

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

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 >