Ignore:
Timestamp:
05/15/17 15:00:24 (3 years ago)
Author:
oabramkina
Message:

Two-level server: merging new grid functionalities and changes in the communication protocol (e.g. non-blocking context finalize, registries, oasis).

Tests on curie: test_client, test_complete, nemo (test_xios2_cmip6.exe).

To do: non-structured grid, check reading, possible bug in client/server initialization (?).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_olga/src/client.cpp

    r1054 r1130  
    235235    } 
    236236 
    237 ///--------------------------------------------------------------- 
    238 /*! 
    239   * \fn void CClient::registerContextByClienOfServer(const string& id, MPI_Comm contextComm) 
    240   * \brief Sends a request to create contexts on secondary servers. Creates clientPrimServer/serverPrimServer contexts. 
    241   * \param [in] id id of context. 
    242   * \param [in] contextComm. 
    243   * Function is called by primary server. 
    244   * The only difference with CClient::registerContext() is naming of contexts on servers (appearing of pool id at the end). 
    245   */ 
    246 //        void CClient::registerContextByClientOfServer(const string& id, MPI_Comm contextComm) 
    247 //        { 
    248 //          CContext::setCurrent(id) ; 
    249 //          CContext* context=CContext::create(id); 
    250 //          StdString idServer(id); 
    251 //          idServer += "_server_"; 
    252 // 
    253 //          int size,rank,globalRank ; 
    254 //          size_t message_size ; 
    255 //          int leaderRank ; 
    256 //          MPI_Comm contextInterComm ; 
    257 // 
    258 //          MPI_Comm_size(contextComm,&size) ; 
    259 //          MPI_Comm_rank(contextComm,&rank) ; 
    260 //          MPI_Comm_rank(CXios::globalComm,&globalRank) ; 
    261 //          if (rank!=0) globalRank=0 ; 
    262 // 
    263 //          CMessage msg ; 
    264 // 
    265 //          int messageSize ; 
    266 //          void * buff ; 
    267 // 
    268 //          for (int i = 0; i < serverLeader.size(); ++i) 
    269 //          { 
    270 //            StdString str = idServer + boost::lexical_cast<string>(i); 
    271 //            msg<<str<<size<<globalRank ; 
    272 //            messageSize = msg.size() ; 
    273 //            buff = new char[messageSize] ; 
    274 //            CBufferOut buffer(buff,messageSize) ; 
    275 //            buffer<<msg ; 
    276 // 
    277 //            MPI_Send(buff, buffer.count(), MPI_CHAR, serverLeader[i], 1, CXios::globalComm) ; 
    278 //            MPI_Intercomm_create(contextComm, 0, CXios::globalComm, serverLeader[i], 10+globalRank, &contextInterComm) ; 
    279 //            info(10)<<"Register new Context : "<<id<<endl ; 
    280 //            MPI_Comm inter ; 
    281 //            MPI_Intercomm_merge(contextInterComm,0,&inter) ; 
    282 //            MPI_Barrier(inter) ; 
    283 // 
    284 //            context->initClient(contextComm,contextInterComm) ; 
    285 // 
    286 ////            contextInterComms.push_back(contextInterComm); 
    287 //            MPI_Comm_free(&inter); 
    288 //            delete [] buff ; 
    289 //          } 
    290 //        } 
    291  
    292237    void CClient::finalize(void) 
    293238    { 
Note: See TracChangeset for help on using the changeset viewer.