Hi,
     I was wondering if there is any way to reduce the cpu usage the
openmpi seems to spend in the busy wait loop.
Thanks,

/David


On Thu, Feb 28, 2013 at 4:34 PM, Bokassa <boka...@gmail.com> wrote:

> Hi,
>    I notice that a simple MPI program in which rank 0 sends 4 bytes to
> each rank and receives a reply uses a
>    considerable amount of CPU in system call.s
>
>    % time     seconds  usecs/call     calls    errors syscall
> ------ ----------- ----------- --------- --------- ----------------
>  61.10    0.016719           3      5194           gettimeofday
>  20.77    0.005683           2      2596           epoll_wait
>  18.13    0.004961           2      2595           sched_yield
>   0.00    0.000000           0         4           write
>   0.00    0.000000           0         4           stat
>   0.00    0.000000           0         2           readv
>   0.00    0.000000           0         2           writev
> ------ ----------- ----------- --------- --------- ----------------
> 100.00    0.027363                 10397           total
>
> and
>
>   Process 2512 attached - interrupt to quit
> 16:32:17.793039 sched_yield()           = 0 <0.000078>
> 16:32:17.793276 gettimeofday({1362065537, 793330}, NULL) = 0 <0.000070>
> 16:32:17.793460 epoll_wait(4, {}, 32, 0) = 0 <0.000114>
> 16:32:17.793712 gettimeofday({1362065537, 793773}, NULL) = 0 <0.000097>
> 16:32:17.793914 sched_yield()           = 0 <0.000089>
> 16:32:17.794107 gettimeofday({1362065537, 794157}, NULL) = 0 <0.000083>
> 16:32:17.794292 epoll_wait(4, {}, 32, 0) = 0 <0.000072>
> 16:32:17.794457 gettimeofday({1362065537, 794541}, NULL) = 0 <0.000115>
> 16:32:17.794695 sched_yield()           = 0 <0.000079>
> 16:32:17.794877 gettimeofday({1362065537, 794927}, NULL) = 0 <0.000081>
> 16:32:17.795062 epoll_wait(4, {}, 32, 0) = 0 <0.000079>
> 16:32:17.795244 gettimeofday({1362065537, 795294}, NULL) = 0 <0.000082>
> 16:32:17.795432 sched_yield()           = 0 <0.000096>
> 16:32:17.795761 gettimeofday({1362065537, 795814}, NULL) = 0 <0.000079>
> 16:32:17.795940 epoll_wait(4, {}, 32, 0) = 0 <0.000080>
> 16:32:17.796123 gettimeofday({1362065537, 796191}, NULL) = 0 <0.000121>
> 16:32:17.796388 sched_yield()           = 0 <0.000127>
> 16:32:17.796635 gettimeofday({1362065537, 796722}, NULL) = 0 <0.000121>
> 16:32:17.796951 epoll_wait(4, {}, 32, 0) = 0 <0.000089>
>
> What is the purpose of this behavior.
>
> Thanks,
>             David
>
>

Reply via email to