Re: [Gems-users] Ruby_cycles != opal0.cycle ?!


Date: Sat, 5 Mar 2005 22:54:18 -0600
From: Weihang Jiang <weihang.jiang@xxxxxxxxx>
Subject: Re: [Gems-users] Ruby_cycles != opal0.cycle ?!
Thanks Milo and Min.

Let me describe my understanding. Correct me if I am wrong.

1)If ruby is used alone, SIMICS_RUBY_MULTIPLIER = CPU.freq_mhz / ruby_freq.

2)If ruby and opal are used together, SIMICS_RUBY_MULTIPLIER can be ignored. 

opal_freq = CPU.freq_mhz
OPAL_RUBY_MULTIPLIER = opal_freq / ruby_freq

L2_REQUEST_LATENCY: 4 
MEMORY_LATENCY: 80 
means L2 latency is 4 ruby cycles, and memory latency is 80 cycles. 

If CPU.freq_mhz = 2GHz and OPAL_RUBY_MULTIPLIER = 2, then L2 latency
is 4ns and memory latency is 80ns.



On Fri, 4 Mar 2005 12:04:13 -0600, Min Xu (Hsu) <xu@xxxxxxxxxxx> wrote:
> Got ya! I think this should be included in GEMS wiki.
> I am wondering how many systems have different clock
> domains for processor and cache (not memory). But
> thinking it that way is certainly OK.
> 
> On Fri, 04 Mar 2005 Milo Martin wrote :
> > Min and others -
> >
> > Concerning the OPAL_RUBY_MULTIPLIER and the SIMICS_RUBY_MULTIPLIER
> > variables.  In many systems the memory system runs at a different
> > frequency than the memory system.  In GEMS, these two multiplier
> > variables allow such a ratio of clocks.  In general, I like to think of
> > the memory system latencies as specified in nanoseconds, and the
> > OPAL_RUBY_MULTIPLIER as determining the processor frequency.  For
> > example, an OPAL_RUBY_MULTIPLIER of 1, 2 and 4 would specify processor
> > frequencies of 1Ghz, 2GHz, and 4Ghz, respectively.  In essence, this
> > allows the processor frequency to change with needing assume that DRAM
> > latencies also changed.
> >
> > - Milo
> >
> > On Mar 4, 2005, at 12:35 PM, Min Xu (Hsu) wrote:
> >
> > >Weihang,
> > >
> > >You are right. There are two MULTIPLIERs in ruby. I don't know why
> > >both of them are set to 2 by default. Can someone else shine some
> > >light here?
> > >
> > >Hi group,
> > >
> > >Bk tells me both parameters are changed by milo in revision 1.28
> > >at Feb 03 2004. The comment simply says it "makes more sense" to
> > >have both MULTIPLIER be 2, instead of SIMICS_RUBY_MULTIPIER
> > >be 4 and OPAL_RUBY_MULTIPLIER be 1.
> > >
> > >BTW, I found in opal/system/system.C:1894, there is another
> > >"SIMICS_MULTIPLIER" constant, which seems to has something
> > >to do with tracing. I wonder if the name for the constant
> > >is too general. Should we rename it to some more specific
> > >name?
> > >
> > >-Min
> > >
> > >On Fri, 04 Mar 2005 Weihang Jiang wrote :
> > >>Thank you so much, Min :)
> > >>
> > >>One last question about this thread. I found two similar parameters:
> > >>SIMICS_RUBY_MULTIPLIER: and  OPAL_RUBY_MULTIPLIER.
> > >>
> > >>I assume you were referring to the one of these. So my question is
> > >>what the other one is.
> > >>
> > >>Acutually, I am not very sure how to use ruby/opal for multi-processor
> > >>simulation.
> > >>
> > >>What I did is following "QuickStart":
> > >>ruby0.setparam g_NUM_PROCESSORS 2
> > >>ruby0.init
> > >>opal0.init
> > >>
> > >>It is correct?
> > >>
> > >>On Fri, 4 Mar 2005 00:32:55 -0600, Min Xu (Hsu) <xu@xxxxxxxxxxx>
> > >>wrote:
> > >>>Weihang,
> > >>>
> > >>>First question first, the multiplier is used to allow us to
> > >>>use the in-order simics cpu model to approximate a N-way issue
> > >>>super-scalar processor. In other words, every ruby cycle, we
> > >>>could allow N-instructions to be executed in simics.
> > >>>
> > >>>However, when running with opal, the multiplier should be set
> > >>>to 1, because every opal cycle, up to X number of instructions
> > >>>are executed. There is no need to allow opal advance N cycles
> > >>>for every 1 ruby cycle, unless you want to simulate a slower
> > >>>memory somehow.
> > >>>
> > >>>As to your second question, when opal is running with ruby,
> > >>>its own cache model is not used. So the parameters you listed
> > >>>are safe to ignore. The only case where opal's own cache model
> > >>>is used is when running single processor simulation without
> > >>>ruby. Opal's own cache model doesn't support coherence yet.
> > >>>
> > >>>-Min
> > >>>
> > >>>On Thu, 03 Mar 2005 Weihang Jiang wrote :
> > >>>>One related question:
> > >>>>opal0.listparam lists configuration related to Memory System:
> > >>>>
> > >>>>IL1_ASSOC                                   :                1
> > >>>>IL1_SET_BITS                                :                8
> > >>>>IL1_BLOCK_BITS                              :                6
> > >>>>IL1_MSHR_ENTRIES                            :              256
> > >>>>IL1_STREAM_BUFFERS                          :                0
> > >>>>IL1_IDEAL                                   :                0
> > >>>>IL1_NL_TYPE                                 :                0
> > >>>>IL1_NL_LINES                                :                0
> > >>>>IL1_MSHR_QUEUE_SIZE                         :               32
> > >>>>IL1_MSHR_QUEUE_ISSUE_WIDTH                  :                2
> > >>>>DL1_ASSOC                                   :                1
> > >>>>DL1_SET_BITS                                :                8
> > >>>>DL1_BLOCK_BITS                              :                6
> > >>>>DL1_MSHR_ENTRIES                            :              256
> > >>>>DL1_STREAM_BUFFERS                          :                0
> > >>>>DL1_IDEAL                                   :                0
> > >>>>L2_ASSOC                                    :                4
> > >>>>L2_SET_BITS                                 :               12
> > >>>>L2_BLOCK_BITS                               :                6
> > >>>>L2_MSHR_ENTRIES                             :              128
> > >>>>L2_STREAM_BUFFERS                           :                0
> > >>>>L2_LATENCY                                  :                6
> > >>>>L2_IDEAL                                    :                0
> > >>>>MEMORY_DRAM_LATENCY                         :               80
> > >>>>
> > >>>>Most of them can also be found in ruby. Do I need to unify these
> > >>>>values between ruby and opal? Or it is only useful when opal is used
> > >>>>alone?
> > >>>>
> > >>>>
> > >>>>On Thu, 3 Mar 2005 21:58:28 -0600, Weihang Jiang
> > >>>><weihang.jiang@xxxxxxxxx> wrote:
> > >>>>>Min:
> > >>>>>Yes, it has been set to 2. What is the exact use of "multiplier"?
> > >>>>>When
> > >>>>>should it be used?
> > >>>>>
> > >>>>>Thanks
> > >>>>>
> > >>>>>
> > >>>>>On Thu, 3 Mar 2005 21:06:19 -0600, Min Xu (Hsu) <xu@xxxxxxxxxxx>
> > >>>>>wrote:
> > >>>>>>Weihang,
> > >>>>>>
> > >>>>>>I notice the opal cycle is exactly twice of the ruby cycle.
> > >>>>>>I think the difference came from the ruby/opal multiplier.
> > >>>>>>Did you set the multiplier to 2?
> > >>>>>>
> > >>>>>>-Min
> > >>>>>>
> > >>>>>>On Thu, 03 Mar 2005 Weihang Jiang wrote :
> > >>>>>>>Hi,
> > >>>>>>>    opal0.cycle tells me that "The current cycle is: 228737428".
> > >>>>>>>But
> > >>>>>>>ruby0.dump-stats tells
> > >>>>>>>me that "Ruby_cycles: 114368714". Why?
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>--
> > >>>>>>>Weihang Jiang
> > >>>>>>>_______________________________________________
> > >>>>>>>Gems-users mailing list
> > >>>>>>>Gems-users@xxxxxxxxxxx
> > >>>>>>>https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > >>>>>>_______________________________________________
> > >>>>>>Gems-users mailing list
> > >>>>>>Gems-users@xxxxxxxxxxx
> > >>>>>>https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > >>>>>>
> > >>>>>
> > >>>>>--
> > >>>>>Weihang Jiang
> > >>>>>
> > >>>>
> > >>>>
> > >>>>--
> > >>>>Weihang Jiang
> > >>>_______________________________________________
> > >>>Gems-users mailing list
> > >>>Gems-users@xxxxxxxxxxx
> > >>>https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > >>>
> > >>
> > >>
> > >>--
> > >>Weihang Jiang
> > >_______________________________________________
> > >Gems-users mailing list
> > >Gems-users@xxxxxxxxxxx
> > >https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > >
> > --
> > Milo M. K. Martin (milom@xxxxxxxxxxxxx)
> > http://www.cis.upenn.edu/~milom/
> > Assistant Professor
> > Computer and Information Sciences Department
> > University of Pennsylvania
> >
> 
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> 


-- 
Weihang Jiang
[← Prev in Thread] Current Thread [Next in Thread→]