Re: [Gems-users] MAI


Date: Sun, 19 Nov 2006 09:53:55 -0600
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] MAI
I'd like to continue this discussion in the gems-users list to allow others to one day profit from this discussion.

Ruby is returing a large "forever" stall to Simics because Ruby does not know a priori at memory-request-time what the actual latency will be. Ruby is *supposed* to be called periodically by Simics to run its event queue-- obviously under MAI this is not occuring. Ruby always returns one of two "stall values" directly -- 0 in the case of a fast-path hit, or 2,000,000 in the case of ANY kind of miss. Ruby will explicitly unstall Simics from its event queue at a later time to model the actual timing of the system.

If you want to use Ruby with MAI, we recommend that you have your MAI-based code call Ruby directly (as in, make Ruby think its running with Opal) rather than installing Ruby as the timing model for the physical memory object. Your MAI-based code will also periodically need to run Ruby's event queue.

Ruby's debug explicity can be changed by varying the debug paramters in rubyconfig.defaults.

Regards,
Dan Gibson

floydian wrote:
I know you can attach RUBY as a timing model to the physical memory object in simics. However I am seeing the first fetch is being stalled forever.
RUBY seems to return a large number back to simics as memory latency and then nothing happens.
In the case of plain ruby (without MAI) , I see that it still returns a large value of memory latency back to simics the first time , but the instruction is tried again after some cycles and then it returns a 0 stall value, after which simics goes ahead and performs the operation. I dont see that happening in this case though
Any ideas why  ?
Also, what is the best wat to debug ruby, if i dont want to use the trace module. IS there a flag that I can set while compilation that will print a lot  of steps within RUBY ?
thanks
-fl
On 11/19/06, Dan Gibson <degibson@xxxxxxxx> wrote:
I know that it is possible to use Ruby in conjuction with an MAI-based out-of-order model -- I recall that it has been done before. Ruby is not intended to use the MAI interface directly.  You will find that Ruby's interface is sufficiently generic to be useful in many different interfaces.

Regards,
Dan Gibson


floydian wrote:
Hi, I was wondering if someone has ever used Ruby with the Simics MAI model. We already have a lot of code for the MAI model and need to use RUBY only for better memory model simulation.
I found that Ruby does not directly work with MAI. The first instruction fetch seems to be stalled forever.
Has anyone ever looked at this ?

I apologise for not using the list, for some reason, my mails are bouncing from the list

-fl



[← Prev in Thread] Current Thread [Next in Thread→]
  • Re: [Gems-users] MAI, Dan Gibson <=