[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