[mvapich-discuss] MV2_CPU_MAPPING in 1.2-rc1
Lei Chai
chai.15 at osu.edu
Fri Aug 8 19:07:07 EDT 2008
Manfred,
Thanks for trying the user defined cpu mapping function and sending us
the feedbacks. mvapich and mvapich2 have so far supported cpu affinity
and mapping on Linux only, not on Solaris yet. Sorry about the
inconvenience. The reason you didn't observe process migration with
mvapich-1.0 might be because the processes didn't migrate during that
time. Did you observe it consistently during a long run program?
We have noted down your feedback, and will consider to add the cpu
affinity and mapping support for solaris in the future mvapich2 releases.
Lei
Manfred Muecke wrote:
> Hi,
>
> I tried to test the user defined CPU (Core) Mapping (as described in
> http://mvapich.cse.ohio-state.edu/support/user_guide_mvapich2-1.2rc1.html#x1-320006.8),
> but fail to see any effect.
>
> I work on a Sun Cluster with two DualCore Opterons per node, Infiniband
> interconnect and running Solaris 10 1/06. Some time ago, I wrote a small
> DTrace script showing task migration of my application. Running the
> application with four processes on a single node (four cores) without the
> use of MV2_CPU_MAPPING results in each process being assigned to a
> different node but with the processes migrating happily back and forth
> every few milliseconds. Below is a snippet of the output for a single
> process.
>
> 49052us pid: 4379: cpu1 -> cpu3
> 60327us pid: 4379: cpu3 -> cpu0
> 64067us pid: 4379: cpu0 -> cpu1
> 68705us pid: 4379: cpu1 -> cpu0
> 70325us pid: 4379: cpu0 -> cpu1
> 72929us pid: 4379: cpu1 -> cpu0
> 73176us pid: 4379: cpu0 -> cpu3
>
> With MVAPICH 1.0, I succeeded to get rid of the task migration using
> VIADEV_CPU_MAPPING.
>
> Now with MVAPICH2 1.2rc1 (the first version of MVAPICH2 supporting CPU
> mapping - thanks a lot, BTW), I tried again:
> "mpdrun -np 4 -env MV2_ENABLE_AFFINITY 1 -env MV2_CPU_MAPPING 0:1:2:3 a.out"
> which results in the following output (again for a single process only):
>
> 79040us pid: 4438: cpu2 -> cpu3
> 79662us pid: 4438: cpu3 -> cpu2
> 83276us pid: 4438: cpu2 -> cpu3
> 97615us pid: 4438: cpu3 -> cpu1
> 98513us pid: 4438: cpu1 -> cpu3
> 99471us pid: 4438: cpu3 -> cpu1
> 99794us pid: 4438: cpu1 -> cpu0
>
> Again, the tasks migrate every few milliseconds. It seems like setting
> MV2_CPU_MAPPING has no effect on my system.
>
> What is your preffered way of verifying this functionality? Do you have
> any suggestions on other parameters in my configuration to check?
>
> Thanks, Manfred
>
>
>
>
More information about the mvapich-discuss
mailing list