[PTLsim-devel] Different number of uops every time.

Matt T. Yourst
Fri Oct 5 21:40:13 EDT 2007


On Friday 05 October 2007 20:51, Krist Sun wrote:
> Hi Matt,
>
> After reading your paper at ISPASS, I am impressed by the functions of ptlsim
> especially the supporting of X86 instructions and I am start to use it
> recently.
>
> I can compile the simulator and run some very simple binaries. I feel lucky
> that I don't have the difficulties in building the simulator.
> But I do have problems with the simulation results. Even for the same
> workload, each time I run it, I get different number total committed uops
> and uipcs.

How big is the difference between runs? It's normal to have slight differences 
(should be less than 1%) in the uop count and x86 instruction count, 
especially if your program makes system calls. This happens because it might 
execute different code if e.g. a system call returns a string of a different 
length (or a different timestamp on files) every time you run the benchmark.

You might also try disabling address space randomization
("echo 0 > /proc/sys/kernel/randomize_va_space"), so the same addresses are 
used every time (this ensures you get identical cache performance every 
time).

Also, for comparison purposes, you should always use x86 IPC, not uIPC, since 
different uops may be generated under different simulator configurations, but 
the same x86 instructions will always be executed on every run (and every x86 
processor like those from Intel and AMD if you're comparing PTLsim's output 
against real chips).

> Also, for some workload, I got this error.
> "PageRead detected at fault rip 0x43ad10 @ 56075 commits (62054 uops):
> genuine user exception (PageRead); aborting"
>
> Can you give us any advance?
>

This is not enough information to understand the problem. You should use these 
PTLsim options to create debug information:

  -logfile ptlsim.log -loglevel 4 -ringbuf

This will let you trace backwards from the point where the page fault 
occurred. We sometimes get bug reports about PTLsim failing under specific 
kernel versions that don't properly tell PTLsim about which virtual addresses 
are valid or invalid. It would be helpful if I knew which kernel version you 
were using (run "uname -r") and if I could look at the ptlsim.log output.

- Matt

-------------------------------------------------------
 Matt T. Yourst                    yourst at peptidal.com
 Peptidal Research Inc., Co-Founder and Lead Architect
-------------------------------------------------------


More information about the PTLsim-devel mailing list