XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
Référence de la classe xios::CClientServerMappingDistributed

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>

+ Graphe d'héritage de xios::CClientServerMappingDistributed:
+ Graphe de collaboration de xios::CClientServerMappingDistributed:

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 GlobalIndexMapgetGlobalIndexOnServer () const
 Return global index of data on each connected server. Plus de détails...
 
GlobalIndexMapgetGlobalIndexOnServer ()
 

Attributs protégés

CClientClientDHTIntccDHT_
 
- 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...
 

Description détaillée

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.

Documentation des constructeurs et destructeur

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_.

xios::CClientServerMappingDistributed::~CClientServerMappingDistributed ( )
virtual

Default destructor

Définition à la ligne 29 du fichier client_server_mapping_distributed.cpp.

Références ccDHT_.

Documentation des fonctions membres

void xios::CClientServerMappingDistributed::computeServerIndexMapping ( const CArray< size_t, 1 > &  globalIndexOnClient,
int  nbServer 
)
virtual

Compute mapping global index of server which client sends to.

Paramètres
[in]globalIndexOnClientglobal index client has
[in]nbServersize 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().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

Documentation des données membres

CClientClientDHTInt* xios::CClientServerMappingDistributed::ccDHT_
protected

La documentation de cette classe a été générée à partir des fichiers suivants :