Date: | Thu, 25 Feb 2010 14:02:43 -0600 |
---|---|
From: | Dan Gibson <degibson@xxxxxxxx> |
Subject: | Re: [Gems-users] Number of instructions executed per core |
I believe what you are observing is inherent to the simulation, and to real executions, for the following reasons: 1. Lack of explicit locking does not imply lack of spinning. There are implicit barriers at the end of most OpenMP #pragmas, and looking at art's source code, I see that there are several #pragmas without barrier elision. Moreover, it is possible to spin in the OS, or in other processes. 2. It is entirely possible that something other than art is running on your cores. Look into pset_bind, and processor_bind. With openMP, I'd recommend pset_create instead of explicit binding. 3. /Simics/ does not choose what code runs on which core. The operating system does that. Look for ways to affect the OS, not Simics. 4. I'm sure its been said on this list before (because I have said it) that instruction count is a BAD metric for multithreaded code. 5. art on my serengeti target takes a LOT of TLB misses (one almost every iteration). I'm not sure if individual cores would react differently or not to TLB misses. 6. art uses a dynamically-scheduled parallel section. Load imbalance in those iterations would cause one core to lag or complete early. Regards, Dan On Thu, Feb 25, 2010 at 1:51 PM, <ubaid001@xxxxxxx> wrote:
-- http://www.cs.wisc.edu/~gibson [esc]:wq! |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [Gems-users] Number of instructions executed per core, ubaid001 |
---|---|
Next by Date: | [Gems-users] Removing Supervisor instructions from Opal Simulation, ubaid001 |
Previous by Thread: | [Gems-users] Number of instructions executed per core, ubaid001 |
Next by Thread: | Re: [Gems-users] Number of instructions executed per core, ubaid001 |
Indexes: | [Date] [Thread] |