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