[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