Hi Robert, Sorry if this is offtopic for the more knowledgeable here...
On 14-Jul-09, at 7:50 PM, Robert Kubrick wrote:
By setting processor affinity you can force execution of each process on a specific core, thus limiting context switching. I know affinity wasn't supported on MacOS last year, I don't know if the situation has changed. But running oversubscription without process affinity might cancel the benefit of SMT because the OS will try to allocate each process to whatever core becomes available, thus increasing context switching.
This is a little over my head (i.e. SMT?). However, to explain, the jobs were a gridded simulation, with the grid divided into 8, or 16 'tiles' . Each core gets a tile and passes info the the adjacent ones. I would be very surprised to find out that the tiles were changing cores mid simulation. Why would the OS do something so silly?
The machines were certainly still running other processes to keep the operating system going. If you watch the cpu monitor, the total would occasionally drop from 100% to 98% as some operating system process kicked in, but in general the jobs were pegged, leaving little opportunity for one core to decide to take over what another core was already doing.
Thanks, and if I'm incorrect about how the jobs get distributed between cores, I'd be more than happy to be corrected. As I said, my knowledge of this stuff is pretty abstract.
Thanks, Jody