Ignore:
Timestamp:
10/11/21 14:41:56 (3 years ago)
Author:
ymipsl
Message:
  • Update of the tranfer protocol using one sided communication
  • Introduce MPI_Improb/MPI_mrecv to listen incomming request
  • Introducing latency when looping over managers

YM

File:
1 edited

Legend:

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

    r2208 r2246  
    66#include "type.hpp" 
    77#include "cxios.hpp" 
     8#include "timer.hpp" 
    89 
    910namespace xios 
     
    1617    MPI_Comm_rank(poolComm, &commRank) ; 
    1718    MPI_Comm_size(poolComm, &commSize) ; 
    18  
    19  
     19    info(40)<<"CPoolRessource::CPoolRessource  : creating new pool : "<<Id<<endl ; 
    2020    if (commRank==localLeader_) 
    2121    { 
     
    5151    occupancy_.erase(occupancy_.begin(),it) ; 
    5252    occupancy_.insert(procs_update.begin(),procs_update.end()) ; 
    53  
     53     
     54    info(40)<<"CPoolRessource::createService  : notify createService to all pool members ; serviceId : "<<serviceId<<endl ; 
    5455    for(int rank=0; rank<commSize; rank++) 
    5556    { 
     
    102103  bool CPoolRessource::eventLoop(bool serviceOnly) 
    103104  { 
    104     checkCreateServiceNotification() ; 
     105    CTimer::get("CPoolRessource::eventLoop").resume(); 
     106    
     107    double time=MPI_Wtime() ; 
     108    if (time-lastEventLoop_ > eventLoopLatency_)  
     109    { 
     110      checkCreateServiceNotification() ; 
     111      lastEventLoop_=time ; 
     112    } 
     113     
    105114    for (auto it=services_.begin(); it!=services_.end() ; ++it)  
    106115    { 
     
    112121      } 
    113122    } 
    114  
     123    CTimer::get("CPoolRessource::eventLoop").suspend(); 
    115124    if (services_.empty() && finalizeSignal_) return true ; 
    116125    else return false ; 
     
    137146  void CPoolRessource::createNewService(const std::string& serviceId, int type, int size, int nbPartitions, bool in) 
    138147  { 
     148      
     149     info(40)<<"CPoolRessource::createNewService  : receive createService notification ; serviceId : "<<serviceId<<endl ; 
    139150     MPI_Comm serviceComm, newServiceComm ; 
    140151     int commRank ; 
Note: See TracChangeset for help on using the changeset viewer.