Re: [Gems-users] Different execution instruction numbers between simics and opal


Date: Fri, 28 May 2010 20:41:41 +0800
From: "shanshuchang" <shanshuchang@xxxxxxxxx>
Subject: Re: [Gems-users] Different execution instruction numbers between simics and opal

Thanks for your quickly reply, Dan.

 

--2. I don't think FFT binds itself at all by default, so disabling P2 and P3 might disable FFT threads

 

I did modify the FFT codes to bind the 2 threads into the first 2 cores with command: ./FFT –P2 –a 0 –x 1

 

--3. Do not simply disable CPUs once the system is booted. The OS believes disabled CPUs are still running, and will still involve them in inter-processor interrupts (IPIs), e.g., TLB shootdowns. Disabling even one CPU will fairly rapidly deadlock the system, as the disabled CPU will not respond to IPIs and the system will eventually hang.

 

Yes, that’s true. So If there is any way I can follow if do I want to disables CPUs after the system is running?

 

By the way, I did disable the cpu2 and cpu3 and run the FFT thread with the first two threads.

The command is like this:

 

./simics –stall

>read-configuration /export/workspace/shanshuchang/gems/checkpoint_files/simics-2.x/sol9-4p/redundant_4p/fft-2p.check

>load-module ruby

>ruby0.setparam SIMICS_RUBY_MULTIPLIER 1

>ruby0.init

>magic-break-enable

>cpu2.disable

>cpu3.disable

>c

 

The execution can successfully interrupted by magic instruction after the MAGIC_BREAKPOINT. And the ruby dump data shows the instructions executed:

 

instruction_executed: 4990252 [ 4500056 490194 1 1 ]

simics_cycles_executed: 19924811 [ 4981096 4981713 4981001 4981001 ]

cycles_per_instruction: 3.99266 [ 1.1069 10.1615 4.9811e+06 4.9811e+06 ]

misses_per_thousand_instructions: 1.17529 [ 0.377995 8.4946 0 0 ]

 

As you said, not advancing CPU in opal is the same as disabling the simics, so why they differed so much?

The opal + ruby runs for 10,000,000 but not finished, while the simics+ruby finishes in 450056 insts…

 

I am so confused..

 

Regards

shuchang

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