XIOS
1.0
Xml I/O Server
|
which implements a simple distributed hashed table; Moreover, by extending with hierarchical structure, it allows to reduce greatly the number of communication among processes. Plus de détails...
#include <client_server_mapping_distributed.hpp>
Fonctions membres publiques | |
CClientServerMappingDistributed (const std::unordered_map< size_t, int > &globalIndexOfServer, const MPI_Comm &clientIntraComm, bool isDataDistributed=true) | |
virtual void | computeServerIndexMapping (const CArray< size_t, 1 > &globalIndexOnClientSendToServer, int nbServer) |
Compute mapping global index of server which client sends to. Plus de détails... | |
virtual | ~CClientServerMappingDistributed () |
Fonctions membres publiques inherited from xios::CClientServerMapping | |
CClientServerMapping () | |
virtual | ~CClientServerMapping () |
const GlobalIndexMap & | getGlobalIndexOnServer () const |
Return global index of data on each connected server. Plus de détails... | |
GlobalIndexMap & | getGlobalIndexOnServer () |
Attributs protégés | |
CClientClientDHTInt * | ccDHT_ |
Attributs protégés inherited from xios::CClientServerMapping | |
GlobalIndexMap | indexGlobalOnServer_ |
Global index of data on SERVER, which are calculated by client(s) Plus de détails... | |
Additional Inherited Members | |
Types publics inherited from xios::CClientServerMapping | |
typedef std::unordered_map < int, std::vector< size_t > > | GlobalIndexMap |
Fonctions membres publiques statiques inherited from xios::CClientServerMapping | |
static std::map< int, int > | computeConnectedClients (int nbServer, int nbClient, MPI_Comm &clientIntraComm, const std::vector< int > &connectedServerRank) |
Compute how many clients each server will receive data from On client can send data to several servers as well as one server can receive data originated from some clients. Plus de détails... | |
which implements a simple distributed hashed table; Moreover, by extending with hierarchical structure, it allows to reduce greatly the number of communication among processes.
This class computes index of data which are sent to server as well as index of data on server side with a distributed alogrithm.
Each client has a piece of information about the distribution of servers. To find out all these info, first of all, all client join a discovering process in which each client announces the others about the info they have as well as demand others info they are lacked of. After this process, each client has enough info to decide to which client it need to send a demand for corresponding server of a global index. The alogrithm depends on hashed index.
Définition à la ligne 32 du fichier client_server_mapping_distributed.hpp.
xios::CClientServerMappingDistributed::CClientServerMappingDistributed | ( | const std::unordered_map< size_t, int > & | globalIndexOfServer, |
const MPI_Comm & | clientIntraComm, | ||
bool | isDataDistributed = true |
||
) |
Default constructor
Définition à la ligne 21 du fichier client_server_mapping_distributed.cpp.
Références ccDHT_.
|
virtual |
Default destructor
Définition à la ligne 29 du fichier client_server_mapping_distributed.cpp.
Références ccDHT_.
|
virtual |
Compute mapping global index of server which client sends to.
[in] | globalIndexOnClient | global index client has |
[in] | nbServer | size of server's intracomm |
Implémente xios::CClientServerMapping.
Définition à la ligne 39 du fichier client_server_mapping_distributed.cpp.
Références ccDHT_, xios::CClientClientDHTTemplate< T, HierarchyPolicy >::computeIndexInfoMapping(), xios::CClientClientDHTTemplate< T, HierarchyPolicy >::getInfoIndexMap(), xios::CClientClientDHTTemplate< T, HierarchyPolicy >::getNbClient(), et xios::CClientServerMapping::indexGlobalOnServer_.
Référencé par xios::CDomainAlgorithmInterpolate::exchangeRemapInfo().
|
protected |
Définition à la ligne 46 du fichier client_server_mapping_distributed.hpp.
Référencé par CClientServerMappingDistributed(), computeServerIndexMapping(), et ~CClientServerMappingDistributed().