![]() |
fpmas 1.6
|
#include <hard_sync_mode.h>
Public Member Functions | |
HardSyncMode (fpmas::api::graph::DistributedGraph< T > &graph, fpmas::api::communication::MpiCommunicator &comm) | |
HardSyncLinker< T > & | getSyncLinker () override |
![]() | |
HardSyncModeBase (fpmas::api::graph::DistributedGraph< T > &graph, fpmas::api::communication::MpiCommunicator &comm, ServerPackBase &server_pack) | |
HardSyncMutex< T > * | buildMutex (fpmas::api::graph::DistributedNode< T > *node) override |
HardDataSync< T > & | getDataSync () override |
virtual Mutex< T > * | buildMutex (api::graph::DistributedNode< T > *node)=0 |
virtual SyncLinker< T > & | getSyncLinker ()=0 |
virtual DataSync< T > & | getDataSync ()=0 |
Additional Inherited Members | |
![]() | |
TerminationAlgorithm | termination |
MutexServer< T > | mutex_server |
Hard synchronization mode implementation.
ghost_link::HardSyncMode defines the strongest level of graph data synchronization, but relaxes the link operations synchronization.
At each DISTANT node data access, the HardSyncMutex instance performs distant communication with host processes to ensure :
Contrary to hard_link::HardSyncMode, DISTANT link() and unlink() operations are performed using collective communications upon synchronization, using the ghost_link::HardSyncLinker component, what is likely to be more efficient.
A TerminationAlgorithm is still used to finalize data synchronization operations.
|
inline |
HardSyncMode constructor.
graph | reference to managed graph |
comm | MPI communicator |
|
inlineoverridevirtual |
Returns a reference to the internal GhostSyncLinker instance.
Implements fpmas::api::synchro::SyncMode< T >.