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