Ignore:
Timestamp:
11/19/21 15:41:40 (3 years ago)
Author:
ymipsl
Message:

Improvment of one sided protocol

  • removed latency
  • solve dead-lock

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/context_server.cpp

    r2259 r2260  
    166166        MPI_Win_create_dynamic(MPI_INFO_NULL, winComm_[rank], &windows_[rank][1]); 
    167167        CTimer::get("create Windows").suspend() ; 
     168        MPI_Barrier(winComm_[rank]) ; 
    168169      } 
    169170      else 
     
    302303        buffers[rank]->notifyBufferResizing() ; 
    303304        buffers[rank]->updateCurrentWindows() ; 
     305        info(100)<<"Receive NotifyChangeBufferSize from client rank "<<rank<<endl ; 
    304306      }  
    305307      else if (timeLine==timelineEventChangeBufferSize) 
     
    310312        buffers.erase(rank) ; 
    311313        buffers.insert(pair<int,CServerBuffer*>(rank,new CServerBuffer(windows_[rank], winAdress, 0, newSize))); 
     314        info(100)<<"Receive ChangeBufferSize from client rank "<<rank<<"  newSize : "<<newSize<<" Address : "<<winAdress[0]<<" & "<<winAdress[1]<<endl ; 
    312315      } 
    313316      else 
    314317      { 
     318        info(100)<<"Receive standard event from client rank "<<rank<<"  with timeLine : "<<timeLine<<endl ; 
    315319        it=events.find(timeLine); 
    316320        if (it==events.end()) it=events.insert(pair<int,CEventServer*>(timeLine,new CEventServer(this))).first; 
     
    391395      else if (pendingRequest.empty()) getBufferFromClient(currentTimeLine) ; 
    392396    } 
    393     else if (pureOneSided) getBufferFromClient(currentTimeLine) ; // if pure one sided check buffer even if no event recorded at current time line 
     397    else if (pendingRequest.empty()) getBufferFromClient(currentTimeLine) ; // if pure one sided check buffer even if no event recorded at current time line 
    394398  } 
    395399 
Note: See TracChangeset for help on using the changeset viewer.