Re: [Gems-users] ruby cycles compare with simics cycles


Date: Fri, 2 Feb 2007 23:43:09 -0500
From: xiaox@xxxxxxxxxx
Subject: Re: [Gems-users] ruby cycles compare with simics cycles
Yeah, SIMICS_RUBY_MULTIPLIER is set to 2.

thanks Derin for your explanation. helps me a lot.
Quoting gems-users-request@xxxxxxxxxxx:

> Send Gems-users mailing list submissions to
> 	gems-users@xxxxxxxxxxx
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> or, via email, send a message with subject or body 'help' to
> 	gems-users-request@xxxxxxxxxxx
> 
> You can reach the person managing the list at
> 	gems-users-owner@xxxxxxxxxxx
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Gems-users digest..."
> 
> 
> Today's Topics:
> 
>    1. network in ruby (hongxia sun)
>    2. Re: network in ruby (Mike Marty)
>    3. Re: network in ruby (hongxia sun)
>    4. Re: network in ruby (hongxia sun)
>    5. ruby_cycles (Dave Z.)
>    6. Re: ruby_cycles (Greg Byrd)
>    7. ruby cycles compare with simics cycles (xiaox@xxxxxxxxxx)
>    8. Re: ruby cycles compare with simics cycles (Mike Marty)
>    9. Re: ruby cycles compare with simics cycles
>       (mehmetderin.harmanci@xxxxxxx)
>   10. Re: Message size and network latency (Alberto Ros Bardisa)
>   11. Loading checkpoints (Srinath Sridharan)
>   12. Re: Loading checkpoints (Dan Gibson)
>   13. Re: Loading checkpoints (Srinath Sridharan)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 1 Feb 2007 10:28:30 +0800
> From: "hongxia sun" <sunhx.seraph@xxxxxxxxx>
> Subject: [Gems-users] network in ruby
> To: "Gems Users" <gems-users@xxxxxxxxxxx>
> Message-ID:
> 	<37fd3bbc0701311828s56488ebcr503ef2eafedd2897@xxxxxxxxxxxxxx>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Dear all,
> 
> I am working on the network code of ruby. And I have several questions on
> it.
> 
> Firstly, I noticed that the SimpleNetwork, the PerfectSwitch and the
> Throttle all defined several MessageBuffer Vectors. Messages were
> transferred among these MessageBuffers. I was wondering that the
> MessageBuffers in PerfectSwitch and Throttle were only private copies of
> MessageBuffer defined in SimpleNetwork or they were independent
> MessageBuffers used to transferred messages. Were all the MessageBuffers
> defined in *.sm files, were not they?
> 
> Secondly, I noticed that when PerfectSwitch->addInPort and
> Throttle->addLinks they set them selves as the Consumers of the
> MessageBuffers. And when a message was enqueued to a corresponding
> MessageBuffer, it would wakeup its Consumer. Am I right?
> 
> Any reply will be very appreciative!
> 
> Best Regards,
> 
> Hongxia SUN
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.cs.wisc.edu/archive/gems-
users/attachments/20070201/e73cc0f7/attachment.html
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Wed, 31 Jan 2007 20:42:30 -0600 (CST)
> From: Mike Marty <mikem@xxxxxxxxxxx>
> Subject: Re: [Gems-users] network in ruby
> To: Gems Users <gems-users@xxxxxxxxxxx>
> Message-ID: <Pine.LNX.4.58.0701312040560.32028@xxxxxxxxxxxxxxxx>
> Content-Type: TEXT/PLAIN; charset=US-ASCII
> 
> > I am working on the network code of ruby. And I have several questions on
> > it.
> >
> > Firstly, I noticed that the SimpleNetwork, the PerfectSwitch and the
> > Throttle all defined several MessageBuffer Vectors. Messages were
> > transferred among these MessageBuffers. I was wondering that the
> > MessageBuffers in PerfectSwitch and Throttle were only private copies of
> > MessageBuffer defined in SimpleNetwork or they were independent
> > MessageBuffers used to transferred messages. Were all the MessageBuffers
> > defined in *.sm files, were not they?
> >
> 
> MessageBuffers are all over the place.  They are in Slicc-defined
> controllers, in Throttles, and in PerfectSwitches.  Messages traverse a
> series of MessageBuffers until they reach the endpoint.
> 
> > Secondly, I noticed that when PerfectSwitch->addInPort and
> > Throttle->addLinks they set them selves as the Consumers of the
> > MessageBuffers. And when a message was enqueued to a corresponding
> > MessageBuffer, it would wakeup its Consumer. Am I right?
> >
> 
> Thats correct.
> 
> --Mike
> 
> 
> 
> ------------------------------
> 
> Message: 3
> Date: Thu, 1 Feb 2007 10:48:11 +0800
> From: "hongxia sun" <sunhx.seraph@xxxxxxxxx>
> Subject: Re: [Gems-users] network in ruby
> To: "Gems Users" <gems-users@xxxxxxxxxxx>
> Message-ID:
> 	<37fd3bbc0701311848x1c0e24e0xf3e41256695f6cd5@xxxxxxxxxxxxxx>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Hi, Mike,
> 
> Thank you for your prompt reply!
> 
> Best Regards,
> 
> Hongxia SUN
> 
> 
> 2007/2/1, Mike Marty <mikem@xxxxxxxxxxx>:
> >
> > > I am working on the network code of ruby. And I have several questions
> > on
> > > it.
> > >
> > > Firstly, I noticed that the SimpleNetwork, the PerfectSwitch and the
> > > Throttle all defined several MessageBuffer Vectors. Messages were
> > > transferred among these MessageBuffers. I was wondering that the
> > > MessageBuffers in PerfectSwitch and Throttle were only private copies of
> > > MessageBuffer defined in SimpleNetwork or they were independent
> > > MessageBuffers used to transferred messages. Were all the MessageBuffers
> > > defined in *.sm files, were not they?
> > >
> >
> > MessageBuffers are all over the place.  They are in Slicc-defined
> > controllers, in Throttles, and in PerfectSwitches.  Messages traverse a
> > series of MessageBuffers until they reach the endpoint.
> >
> > > Secondly, I noticed that when PerfectSwitch->addInPort and
> > > Throttle->addLinks they set them selves as the Consumers of the
> > > MessageBuffers. And when a message was enqueued to a corresponding
> > > MessageBuffer, it would wakeup its Consumer. Am I right?
> > >
> >
> > Thats correct.
> >
> > --Mike
> >
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding "site:
> > https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.cs.wisc.edu/archive/gems-
users/attachments/20070201/d9d00126/attachment.html
> 
> 
> ------------------------------
> 
> Message: 4
> Date: Thu, 1 Feb 2007 16:20:46 +0800
> From: "hongxia sun" <sunhx.seraph@xxxxxxxxx>
> Subject: Re: [Gems-users] network in ruby
> To: "Gems Users" <gems-users@xxxxxxxxxxx>
> Message-ID:
> 	<37fd3bbc0702010020p6a2f9349ve1462b28ef509222@xxxxxxxxxxxxxx>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Hi, Mike,
> 
> Another question: I notice that in the PerfectSwitch.C->wakeup, each
> "incoming" (including machine and other input links) has the number of total
> virtual nets. However, which virtual net that a message belongs to only
> depends on its sender and destination. That means a message will not change
> its virtual net throughout its transferring from node to node. In other
> words, virtual net is set fixed between machines but not set for adaptive
> routing. Am I right? If I change a message's virtual net during its routing
> process, could the message reach its destination without fault?
> 
> Thank you!
> 
> Best Regards,
> Hongxia SUN
> 
> 
> 2007/2/1, Mike Marty <mikem@xxxxxxxxxxx>:
> >
> > > I am working on the network code of ruby. And I have several questions
> > on
> > > it.
> > >
> > > Firstly, I noticed that the SimpleNetwork, the PerfectSwitch and the
> > > Throttle all defined several MessageBuffer Vectors. Messages were
> > > transferred among these MessageBuffers. I was wondering that the
> > > MessageBuffers in PerfectSwitch and Throttle were only private copies of
> > > MessageBuffer defined in SimpleNetwork or they were independent
> > > MessageBuffers used to transferred messages. Were all the MessageBuffers
> > > defined in *.sm files, were not they?
> > >
> >
> > MessageBuffers are all over the place.  They are in Slicc-defined
> > controllers, in Throttles, and in PerfectSwitches.  Messages traverse a
> > series of MessageBuffers until they reach the endpoint.
> >
> > > Secondly, I noticed that when PerfectSwitch->addInPort and
> > > Throttle->addLinks they set them selves as the Consumers of the
> > > MessageBuffers. And when a message was enqueued to a corresponding
> > > MessageBuffer, it would wakeup its Consumer. Am I right?
> > >
> >
> > Thats correct.
> >
> > --Mike
> >
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding "site:
> > https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.cs.wisc.edu/archive/gems-
users/attachments/20070201/0a748c8d/attachment.html
> 
> 
> ------------------------------
> 
> Message: 5
> Date: Thu, 1 Feb 2007 10:48:39 -0800 (PST)
> From: "Dave Z." <zhu_dave@xxxxxxxxx>
> Subject: [Gems-users] ruby_cycles
> To: gems Users <gems-users@xxxxxxxxxxx>
> Message-ID: <969243.48279.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> Content-Type: text/plain; charset=iso-8859-1
> 
> Hello,
> 
> Could you please tell me what ruby cycles represent?
> Is it the number of memory accesses?
> 
> Thanks.
> 
> Dave 
> 
> 
>  
> 
________________________________________________________________________________
____
> Cheap talk?
> Check out Yahoo! Messenger's low PC-to-Phone call rates.
> http://voice.yahoo.com
> 
> 
> ------------------------------
> 
> Message: 6
> Date: Thu, 01 Feb 2007 15:35:58 -0500
> From: Greg Byrd <gbyrd@xxxxxxxx>
> Subject: Re: [Gems-users] ruby_cycles
> To: Gems Users <gems-users@xxxxxxxxxxx>
> Message-ID: <45C24F2E.1040808@xxxxxxxx>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> No, a single memory access can take many ruby cycles.
> 
> A "cycle" is the unit of time used by the event clock in the ruby 
> system.  When the fast path is enabled, a ruby cycle represents an L1 
> cache hit time.  All ruby events are specified in terms of ruby cycles.
> 
> 
> 
> Dave Z. wrote:
> > Hello,
> >
> > Could you please tell me what ruby cycles represent?
> > Is it the number of memory accesses?
> >
> > Thanks.
> >
> > Dave 
> >
> >
> >  
> >
> 
________________________________________________________________________________
____
> > Cheap talk?
> > Check out Yahoo! Messenger's low PC-to-Phone call rates.
> > http://voice.yahoo.com
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >
> >   
> 
> 
> 
> ------------------------------
> 
> Message: 7
> Date: Thu,  1 Feb 2007 17:10:15 -0500
> From: xiaox@xxxxxxxxxx
> Subject: [Gems-users] ruby cycles compare with simics cycles
> To: gems-users@xxxxxxxxxxx
> Message-ID: <1170367815.45c265473f54a@xxxxxxxxxxxxxxxxxx>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> hi, 
> 
> I want to use the ruby_cycles as my performance metric. However, I observe
> that 
> ruby_cycles is different from the number of cycles I counted through Simics?
> 
> Why is that? I suppose ruby always return its latency to Simics. So I should
> 
> have the same number of cycles on both sides. And the simics cycles is almost
> 
> twice as the ruby cycles. Can anyone explain to me how ruby counts its
> cycles?
> 
> many thanks,
> 
> btw, I am using gems1.1 with simics-2.0.28
> 
> 
> 
> 
> ------------------------------
> 
> Message: 8
> Date: Thu, 1 Feb 2007 16:22:28 -0600 (CST)
> From: Mike Marty <mikem@xxxxxxxxxxx>
> Subject: Re: [Gems-users] ruby cycles compare with simics cycles
> To: Gems Users <gems-users@xxxxxxxxxxx>
> Message-ID: <Pine.LNX.4.58.0702011622110.26793@xxxxxxxxxxxxxxxx>
> Content-Type: TEXT/PLAIN; charset=US-ASCII
> 
> is SIMICS_RUBY_MULTIPLIER set to 2?
> 
> > hi,
> >
> > I want to use the ruby_cycles as my performance metric. However, I observe
> that
> > ruby_cycles is different from the number of cycles I counted through
> Simics?
> > Why is that? I suppose ruby always return its latency to Simics. So I
> should
> > have the same number of cycles on both sides. And the simics cycles is
> almost
> > twice as the ruby cycles. Can anyone explain to me how ruby counts its
> cycles?
> >
> > many thanks,
> >
> > btw, I am using gems1.1 with simics-2.0.28
> >
> >
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >
> 
> 
> ------------------------------
> 
> Message: 9
> Date: Thu,  1 Feb 2007 23:47:22 +0100
> From: mehmetderin.harmanci@xxxxxxx
> Subject: Re: [Gems-users] ruby cycles compare with simics cycles
> To: Gems Users <gems-users@xxxxxxxxxxx>
> Message-ID: <1170370042.45c26dfa24cd0@xxxxxxxxxxxxxxx>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> 
> 
>  Hello,
> 
>  Probably, in your rubyconfig.defaults file (or in your command line setting
>  of parameters) you have line such as
> 
>     SIMICS_RUBY_MULTIPLIER: 2
> 
>  Change it to
> 
>     SIMICS_RUBY_MULTIPLIER: 1
> 
> 
>  then you should have the Simics and Ruby cycles the same. GEMS authors
>  will tell you better than I do, but if I understood well form the code
>  one Simics passes a memory access to Ruby, Ruby stores the corresponding
>  messages resulting from the access in its Event queue and return the
> control
>  to Simics and Simics actually wakes Ruby cycle by cycle (these cycles
>  are the cycles of Ruby Event Queue) until Ruby returns a stall value and
>  unstall Simics functionality. So each time Ruby return control to
>  Simics, it tells Simics to count SIMICS_RUBY_MULTIPLIER cycles. Thus, each
>  cycle of Ruby Event Queue corresponds to  SIMICS_RUBY_MULTIPLIER Simics
>  cycles. As a result setting this parameter to 1,you will have both cycles
>  counting the same.
> 
>  I hope this is a correct explanation and will help to solve your problem.
> 
> 
>       Derin Harmanci
> 
> 
> Quoting xiaox@xxxxxxxxxx:
> 
> > hi,
> >
> > I want to use the ruby_cycles as my performance metric. However, I observe
> > that
> > ruby_cycles is different from the number of cycles I counted through
> Simics?
> > Why is that? I suppose ruby always return its latency to Simics. So I
> should
> > have the same number of cycles on both sides. And the simics cycles is
> > almost
> > twice as the ruby cycles. Can anyone explain to me how ruby counts its
> > cycles?
> >
> > many thanks,
> >
> > btw, I am using gems1.1 with simics-2.0.28
> >
> >
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding
> > "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >
> >
> 
> 
> 
> 
> ------------------------------
> 
> Message: 10
> Date: Fri, 02 Feb 2007 17:39:06 +0100
> From: Alberto Ros Bardisa <a.ros@xxxxxxxxxxx>
> Subject: Re: [Gems-users] Message size and network latency
> To: gems-users@xxxxxxxxxxx
> Message-ID: <1170434346.27438.128.camel@xxxxxxxxxxxxxxxxxxxxx>
> Content-Type: text/plain
> 
> On Wed, 2007-01-31 at 12:01 -0600, Mike Marty wrote:
> > Also you might just consider changing Throttle.C to divide the size of the
> > message by the width of the link.  Add this result to the fixed enqueue
> > latency.  This approximation might serve your needs.
> > 
> > --Mike
> > 
> 
> Thank you, I'll try to do this change and measure its effect.
> 
> Alberto Ros.
> 
> > > This is a limitation of the simple networking code.  The MessageSize
> > > certainly affects the bandwidth of a link and therefore can cause
> > > subsequent messages to incur queuing delay.  However if the size of a
> > > message exceeds the size of a link, then it doesn't incur additional
> > > queuing delay for _that_ message.
> > >
> > > It is definitely an area of GEMS that needs improvement I think.  On the
> > > other hand, usually the only messages that exceed the link size are data
> > > messages, and it is reasonable to assume that the critical word arrives
> > > first?
> > >
> > > Thus the latency of a message is affected by queuing delays and the
> fixed
> > > latencies of when a message is enqueued to the next link on the
> > > interconnect.  These fixed latencies are specified in the Slicc file
> when
> > > injecting the message into the network and the fixed latencies specified
> > > for each link in the interconnect.  The latter are either specified for
> > > each link using a FILE_SPECIFIED network, or the NETWORK_LINK_LATENCY
> and
> > > ONCHIP_LINK_LATENCY parameters for the auto-generated topologies.
> > >
> > > You might want to e-mail Valentin Puente at the University of Cantabria.
> > > At one time he integrated his more-detailed interconnect simulator into
> > > Ruby.  Unfortunately for me, I cannot read Spanish code and comments,
> but
> > > this shouldn't be a problem for you ;-)
> > >
> > > --Mike
> > >
> > >
> > > > Dear list,
> > > >
> > > > I have noticed that changing the message size of some messages does
> > > > not affect the network latency for that message.
> > > >
> > > > For example in the MOESI_CMP_directory coherence protocol, I have
> > > > changed the message size from "MessageSizeType:ResponseLocal_Data" to
> > > > "MessageSizeType:Response_Control", and I have measured the latency of
> > > > the message before and after the change, finding the same result (8
> > > > cycles).
> > > >
> > > > How does the MessageSize field affect the behaviour of the network?
> > > > What other parameters affects network latency?
> > > >
> > > > Thanks in advance,
> > > >
> > > > Alberto Ros.
> > > >
> > > >
> > > > _______________________________________________
> > > > Gems-users mailing list
> > > > Gems-users@xxxxxxxxxxx
> > > > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > > > Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> > > >
> > > _______________________________________________
> > > Gems-users mailing list
> > > Gems-users@xxxxxxxxxxx
> > > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > > Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> > >
> > _______________________________________________
> > Gems-users mailing list
> > Gems-users@xxxxxxxxxxx
> > https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> > Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> 
> 
> 
> ------------------------------
> 
> Message: 11
> Date: Fri, 2 Feb 2007 16:06:58 -0500 (EST)
> From: Srinath Sridharan <ssridhar@xxxxxxxxxxx>
> Subject: [Gems-users] Loading checkpoints
> To: gems-users@xxxxxxxxxxx
> Message-ID: <Pine.SOC.4.64.0702021558310.2709@xxxxxxxxxxxxxxxxx>
> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
> 
> Hi,
>    I am trying to follow the document wiki in the gems home page to install 
> ryby and opal.
> 
> I am not able to load any existing checkpoints. When i say
> 
> "read-configuration chkpoint1", it says "failed to read configuration".
> 
> the chkpoint1 config file is targetted for serengetti.
> 
> Can someone explain me whats the problem ?
> 
> Srinath
> 
> 
> 
> ------------------------------
> 
> Message: 12
> Date: Fri, 02 Feb 2007 15:55:45 -0600
> From: Dan Gibson <degibson@xxxxxxxx>
> Subject: Re: [Gems-users] Loading checkpoints
> To: Gems Users <gems-users@xxxxxxxxxxx>
> Message-ID: <45C3B361.9010608@xxxxxxxx>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> I suggest you post this question to the Simics forums at Simics.net, 
> since it does not involve GEMS. Offhand, I'd guess that there's 
> something wrong with file [chkpoint1]... maybe it doesn't exist, isn't 
> in Simics' path, or is the wrong format.
> 
> Srinath Sridharan wrote:
> 
> >Hi,
> >   I am trying to follow the document wiki in the gems home page to install
> 
> >ryby and opal.
> >
> >I am not able to load any existing checkpoints. When i say
> >
> >"read-configuration chkpoint1", it says "failed to read configuration".
> >
> >the chkpoint1 config file is targetted for serengetti.
> >
> >Can someone explain me whats the problem ?
> >
> >Srinath
> >
> >_______________________________________________
> >Gems-users mailing list
> >Gems-users@xxxxxxxxxxx
> >https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> >Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> >
> >
> >  
> >
> 
> 
> ------------------------------
> 
> Message: 13
> Date: Fri, 2 Feb 2007 17:12:46 -0500 (EST)
> From: Srinath Sridharan <ssridhar@xxxxxxxxxxx>
> Subject: Re: [Gems-users] Loading checkpoints
> To: Gems Users <gems-users@xxxxxxxxxxx>
> Message-ID: <Pine.SOC.4.64.0702021712150.3049@xxxxxxxxxxxxxxxxx>
> Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
> 
> hey,
>     I got it right. Yes; there is some problem with the config file.
> 
> 
> Thanks for the help.
> 
> Srinath
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding
> "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.
> 
> End of Gems-users Digest, Vol 76, Issue 4
> *****************************************
> 


[← Prev in Thread] Current Thread [Next in Thread→]