struct
#include <src/vt/topos/location/manager.h>
LocationManager A core VT component that manages instances of location managers for specific virtual entity instances across a distributed machine.
Tracks multiple instances of EntityLocationCoord
which is the actual manager for a common instance of distributed entities (like a collection that is spread out across nodes). The LocationManager
manages those instances based on instance identifiers with a consistent mapping across the distributed system.
The location manager creates these coordinators on demand, because messages might arrive out-of-order wrt the construction of the location coordinator.
Base classes
-
template<typename T>struct vt::runtime::component::Component<LocationManager>
Component
class for a generic VT runtime module, CRTP'ed over the component's actual type
Public types
-
template<typename LocType>using PtrType = LocType*
- using LocCoordPtrType = LocationCoord*
- using LocInstContainerType = std::unordered_map<LocInstType, LocCoordPtrType>
- using VrtLocType = EntityLocationCoord<int32_t>
- using VrtLocProxyType = EntityLocationCoord<VirtualProxyType>
-
template<typename IndexT>using IndexedElmType = EntityLocationCoord<IndexT>
-
template<typename IndexT>using CollectionLocType = PtrType<IndexT>
- using CollectionContainerType = std::unordered_map<VirtualProxyType, ObjGroupProxyType>
Constructors, destructors, conversion operators
- LocationManager() defaulted
- System call to construct a location manager.
- ~LocationManager() virtual
Public functions
- auto name() -> std::string override
- Get the name of the component.
- void initialize() override
- Empty default overridden initialize method.
-
template<typename IndexT>auto makeCollectionLM(VirtualProxyType proxy) -> objgroup::
proxy:: Proxy<IndexedElmType<IndexT>> - Make a new location coordinator for a collection.
-
template<typename IndexT>auto getCollectionLM(VirtualProxyType proxy) -> IndexedElmType<IndexT>*
- Get the new location coordinator for a collection.
-
template<typename IndexT>void destroyCollectionLM(VirtualProxyType proxy)
- Destroy a location manager.
-
template<typename SerializerT>void serialize(SerializerT& s)
Public variables
Function documentation
template<typename IndexT>
objgroup:: proxy:: Proxy<IndexedElmType<IndexT>> vt:: location:: LocationManager:: makeCollectionLM(VirtualProxyType proxy)
Make a new location coordinator for a collection.
Parameters | |
---|---|
proxy in | the collection proxy bits |
Returns | proxy to location manager |
template<typename IndexT>
IndexedElmType<IndexT>* vt:: location:: LocationManager:: getCollectionLM(VirtualProxyType proxy)
Get the new location coordinator for a collection.
Parameters | |
---|---|
proxy in | the collection proxy bits |
Returns | the location manager |
template<typename IndexT>
void vt:: location:: LocationManager:: destroyCollectionLM(VirtualProxyType proxy)
Destroy a location manager.
Parameters | |
---|---|
proxy in | the collection proxy bits |