performance of MPI_Win_lock

performance of MPI_Win_lock

I face a big problem to justify the performance of the following snapshot of my code that uses intel MPI library

double time=0
time = time - MPI_Wtime();
MPI_Win_lock(MPI_LOCK_EXCLUSIVE,0,0,win_global_scheduling_step); 
MPI_Win_unlock(0,win_global_scheduling_step);
time= time + MPI_Wtime();
if(id==0)
sleep(10);
printf("%d sync time %f\n", id, time); 
The output is always depend on how much rank 0 sleep. for example
0 sync time 0.000305
1 sync time 10.00045
2 sync time 10.00015 

if I change the sleep of the rank 0 to be 5 seconds instead of 10 , then the sync time at the other ranks will be of the same scale of 5 seconds

The actual data associated with the window "win_global_step" is owned by rank 0

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.