我使用以下代码在不同盒子上的工作节点之间进行同步:
MPI_Barrier(MPI_COMM_WORLD);
gettimeofday(&time[0], NULL);
printf("RANK: %d starts at %lld sec, %lld usec\n",rank, time[0].tv_sec, time[0].tv_usec);
当我在同一个节点上运行两个任务时,开始时间非常接近:
RANK: 0 starts at 1379381886 sec, 27296 usec
RANK: 1 starts at 1379381886 sec, 27290 usec
但是,当我在两个不同的节点上运行两个任务时,我最终得到了更多不同的开始时间:
RANK: 0 starts at 1379381798 sec, 720113 usec
RANK: 1 starts at 1379381798 sec, 718676 usec
以下不同是否合理?或者它意味着节点之间的一些通信问题?