Hi Malek,

Thanks for the lightning fast response. So using my command line as it is,
I cannot test with ruby.

First way (Incorrect - Not working)
--------------------------------------------------------------------

I tried to change protocol from build/variables/X86 file

from => PROTOCOL = 'MI_example'
to => PROTOCOL = 'MESI_CMP_directory'

and it didn't work out


Second way (correct ... I suppose)
--------------------------------------------------------------------
and I checked out the command you specified in the review-board

./util/regress --builds=ALPHA_MESI_CMP_directory,ALPHA_MOESI_CMP_directory
--modes=se,fs --compile-variants=opt


this basically does the same thing right? Instead of tweaking with one
build, you create 2 seperate builds and each have its own variable file
configured accordingly. And these configurations are also predefined under
build_opts. I think I can specify add extra files under built_opts and
create different builds.

*build_opts/X86_MESI_CMP_directory*

TARGET_ISA = 'x86'
CPU_MODELS = 'TimingSimpleCPU,O3CPU'
PROTOCOL = 'MESI_CMP_directory'

*build_opts/X86_MOESI_CMP_directory*

TARGET_ISA = 'x86'
CPU_MODELS = 'TimingSimpleCPU,O3CPU'
PROTOCOL = 'MOESI_CMP_directory'

Then use your command;

./util/regress --builds=X86_MESI_CMP_directory,X86_MOESI_CMP_directory
--modes=se,fs --compile-variants=opt


and finally;

build/X86_MESI_CMP_directory/gem5.opt configs/example/ruby_fs.py
--kernel="x86_64-vmlinux-2.6.22.9" --script="boot/queens.rcS" --caches
--l2cache

---------------------------------------------------------------------------

In conclusion, gem5 needs to build from scratch to enable these cache
coherence protocols. Simply changing build/variables/X86 like the first
method will not do any difference, since this file is just a mere copy
after first compilation. And if I compile second time using the same
command, gem5 will check this folder and use build/variables/X86 (not sure
about it tough).

I think this is it, right? I will also come back to confirm if it works.

Sources;
http://www.mail-archive.com/[email protected]/msg02950.html
http://www.mail-archive.com/[email protected]/msg00352.html

2013/2/27 Malek Musleh <[email protected]>

> Hi mehmet,
>
> You shouldn't need to do anything to do anything additional from the
> command line, although looking at your command line, there is a
> mistake:
>
> You are running the classic memory model (the patch is for the ruby
> memory model). You need to run ./builld/X86_MOESI_CMP_directory, or
> ./build/X86_MESI_CMP_directory. If you look at the telnet output
> (m5term 3456) I'm betting that the simulation did not actually run
> (since your mixing ruby_fs.py with classic memory model).
>
> Look at the timestamp of the stats file also.
>
> Malek
>
> On Tue, Feb 26, 2013 at 5:25 PM, mehmet basaran
> <[email protected]> wrote:
> > Hi Malek
> >
> > It does apply cleanly on dev repo. However, I don't know how to get it
> work.
> > Can you write an example command for MESI protocol? And how do we decide
> on
> > using particular protocol in the first place? Do I have to state it
> > explicitly in command, or it is decided in some code file? The command
> line
> > I used is;
> >
> > build/X86/gem5.opt configs/example/ruby_fs.py
> > --kernel="x86_64-vmlinux-2.6.22.9" --script="boot/queens.rcS" --caches
> > --l2cache
> >
> > this gives the same output in ruby.stats when I hadn't applied your
> patch.
> > How should I change it?
> >
> > By the way, I checked out the changes you made in the code and it really
> > helped me get more into it. So thanks a lot.
> >
> > Mehmet
> >
> >
> > 2013/2/15 Malek Musleh <[email protected]>
> >>
> >> Hi mehmet,
> >>
> >> I have posted a patch on the review board that does this:
> >>
> >> http://reviews.gem5.org/r/1467/diff/
> >>
> >> If I recall, I only apply it to the MOESI_CMP, MESI protocols. You can
> >> take a look, or apply the diff (not sure if it will apply cleanly on
> >> the dev repo).
> >>
> >> Malek
> >>
> >> On Fri, Feb 15, 2013 at 9:26 AM, mehmet basaran
> >> <[email protected]> wrote:
> >> > Hi all,
> >> >
> >> > I am trying to get the cache miss & hit ratio counts. I started in se
> >> > mode,
> >> > and observed that by using normal caches in config files, I always get
> >> > miss_rate="1"
> >> >
> >> > So I decided to use ruby_fs mode instead. But ruby.stats file doesn't
> >> > give
> >> > me a miss ratio or hit count.  It seems to me that I cannot get miss &
> >> > hit
> >> > counts correct whether I use ruby or not. Is this the case? Does gem5
> >> > has
> >> > built in mechanism for getting cache miss&hit rates? (without
> modifying
> >> > the
> >> > code)
> >> >
> >> > In addition I have couple of concepts I need to know in ruby.stats
> file;
> >> > 1. All Non-Zero Cycle Demand Cache Accesses
> >> > 2. ruby_cycles_executed: [ 10904501813 ]
> >> > 3. "miss_latency_Locked_RMW_Write_L1Cache: [binsize: 1 max: 3 count:
> >> > 1374
> >> > average:     3 | standard deviation: 0 | 0 0 0 1374 ]"
> >> > what is binsize here ?
> >> >
> >> > Do we have any documentation about the content of ruby.stats file?
> >> >
> >> > My commands;
> >> >
> >> > For se:
> >> > ./build/X86/gem5.opt --debug-flags=Cache --trace-file=my_trace.out
> >> > configs/example/se.py --caches --l2cache --cpu-type=timing -c
> >> > tests/test-progs/queens/bin/x86/linux/queens --options="-c 8"
> >> >
> >> > For fs:
> >> > ./build/X86/gem5.fast configs/example/ruby_fs.py --num-cpus="8"
> >> > --kernel="x86_64-vmlinux-2.6.22.9" --l1i_size="32kB" --l1d_size="32kB"
> >> > --l2_size="8MB" --num-l2caches="8" --topology="Crossbar"
> >> > --cpu-type="timing"
> >> > --script="boot/my_script.rcS"
> >> >
> >> > Thanks in advance.
> >> >
> >> > _______________________________________________
> >> > gem5-users mailing list
> >> > [email protected]
> >> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> >> _______________________________________________
> >> gem5-users mailing list
> >> [email protected]
> >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> >
> >
> >
> > _______________________________________________
> > gem5-users mailing list
> > [email protected]
> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to