[Gems-users] Comparig Ruby Cycles with Number of Instructions Executed


Date: Thu, 15 Jun 2006 11:11:33 +0200
From: "Marco Tirado" <marco.tirado@xxxxxxxxx>
Subject: [Gems-users] Comparig Ruby Cycles with Number of Instructions Executed
Hello:
 
We are simulating a CMP system with 4 to 16 processors using Ruby. When we compare the number of instructions executed with the number of ruby cycles we get strange results, the number of instructions executed by a processor is higher than the number of cycles. Some results are shown bellow:
 
Ruby_cycles: 888027500
instruction_executed: 4532908429 [ 807615319 1253256500 1203266231 1268770379 ]
cycles_per_instruction: 0.783627 [ 1.09957 0.708576 0.738014 0.699912 ]
 
This is for 4 processors. As we can see the number of cycles_per_instruction is less than 1 for three of the processors and this not logical. Some months ago a similar question was posted and this was the reply, I quote:
 
"Ruby_cycles measures simulated time. The value of Ruby_cycles is the count of the number of time the Ruby event queue is invoked in the course of simulation. The Ruby event queue is invoked every SIMICS_RUBY_MULTIPLIER cycles (eg. every 2 cycles, see ruby/config/rubyconfig.defaults) from the Simics event queue associated with Simics processor zero. Each "Ruby cycle" is one simulated cycle of the memory system--analogous to one cycle of a logical "memory" clock. Ruby_cycles are *not* determined by the number of instructions executed on any processor."
 
We have the SIMICS_RUBY_MULTIPLIER = 2 in our simulations also, does this mean that the real number of cycles we have to consider is 2*Ruby_cycles? This would mean that the cycles_per_instruction parameter should also be multiplied by two if we want to get the number of actual cycles per instruction and not the number of ruby cycles per instruction.
 
Thanks in Advance
 
Marco
 
[← Prev in Thread] Current Thread [Next in Thread→]