SimGrid  3.18
Versatile Simulation of Distributed Systems
simgrid::surf::NetworkSmpiModel Class Reference

#include <network_smpi.hpp>

Inheritance diagram for simgrid::surf::NetworkSmpiModel:
simgrid::surf::NetworkCm02Model simgrid::surf::NetworkModel simgrid::surf::Model simgrid::surf::NetworkIBModel

Public Member Functions

 NetworkSmpiModel ()
 
 ~NetworkSmpiModel ()
 
double latencyFactor (double size)
 Get the right multiplicative factor for the latency. More...
 
double bandwidthFactor (double size)
 Get the right multiplicative factor for the bandwidth. More...
 
double bandwidthConstraint (double rate, double bound, double size)
 Get definitive bandwidth. More...
 
- Public Member Functions inherited from simgrid::surf::NetworkCm02Model
 NetworkCm02Model ()
 
 NetworkCm02Model (void(*solve_fun)(lmm_system_t self))
 
virtual ~NetworkCm02Model ()=default
 
LinkImplcreateLink (const std::string &name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy) override
 Create a Link. More...
 
void updateActionsStateLazy (double now, double delta) override
 
void updateActionsStateFull (double now, double delta) override
 
Actioncommunicate (s4u::Host *src, s4u::Host *dst, double size, double rate) override
 Create a communication between two hosts. More...
 
- Public Member Functions inherited from simgrid::surf::NetworkModel
 NetworkModel ()
 Constructor. More...
 
 ~NetworkModel () override
 Destructor. More...
 
double nextOccuringEventFull (double now) override
 
- Public Member Functions inherited from simgrid::surf::Model
 Model ()
 
virtual ~Model ()
 
virtual ActionListgetReadyActionSet () const
 Get the set of actions in ready state. More...
 
virtual ActionListgetRunningActionSet () const
 Get the set of actions in running state. More...
 
virtual ActionListgetFailedActionSet () const
 Get the set of actions in failed state. More...
 
virtual ActionListgetDoneActionSet () const
 Get the set of actions in done state. More...
 
virtual ActionLmmListPtr getModifiedSet () const
 Get the set of modified actions. More...
 
lmm_system_t getMaxminSystem () const
 Get the maxmin system of the current Model. More...
 
e_UM_t getUpdateMechanism () const
 Get the update mechanism of the current Model. More...
 
void setUpdateMechanism (e_UM_t mechanism)
 
heap_typegetActionHeap ()
 Get Action heap. More...
 
double actionHeapTopDate () const
 
ActionactionHeapPop ()
 
bool actionHeapIsEmpty () const
 
virtual double nextOccuringEvent (double now)
 Share the resources between the actions. More...
 
virtual double nextOccuringEventLazy (double now)
 
virtual void updateActionsState (double now, double delta)
 Update action to the current time. More...
 
virtual bool nextOccuringEventIsIdempotent ()
 Returns whether this model have an idempotent shareResource() More...
 

Additional Inherited Members

- Public Attributes inherited from simgrid::surf::NetworkModel
void(* f_networkSolve )(lmm_system_t) = simgrid::kernel::lmm::lmm_solve
 Function pointer to the function to use to solve the lmm_system_t. More...
 
LinkImplloopback_ = nullptr
 
- Protected Attributes inherited from simgrid::surf::Model
ActionLmmListPtr modifiedSet_
 
lmm_system_t maxminSystem_ = nullptr
 
bool selectiveUpdate_
 

Constructor & Destructor Documentation

◆ NetworkSmpiModel()

simgrid::surf::NetworkSmpiModel::NetworkSmpiModel ( )

◆ ~NetworkSmpiModel()

simgrid::surf::NetworkSmpiModel::~NetworkSmpiModel ( )
default

Member Function Documentation

◆ latencyFactor()

double simgrid::surf::NetworkSmpiModel::latencyFactor ( double  size)
virtual

Get the right multiplicative factor for the latency.

Depending on the model, the effective latency when sending a message might be different from the theoretical latency of the link, in function of the message size. In order to account for this, this function gets this factor.

Parameters
sizeThe size of the message.
Returns
The latency factor.

Reimplemented from simgrid::surf::NetworkModel.

◆ bandwidthFactor()

double simgrid::surf::NetworkSmpiModel::bandwidthFactor ( double  size)
virtual

Get the right multiplicative factor for the bandwidth.

Depending on the model, the effective bandwidth when sending a message might be different from the theoretical bandwidth of the link, in function of the message size. In order to account for this, this function gets this factor.

Parameters
sizeThe size of the message.
Returns
The bandwidth factor.

Reimplemented from simgrid::surf::NetworkModel.

◆ bandwidthConstraint()

double simgrid::surf::NetworkSmpiModel::bandwidthConstraint ( double  rate,
double  bound,
double  size 
)
virtual

Get definitive bandwidth.

It gives the minimum bandwidth between the one that would occur if no limitation was enforced, and the one arbitrary limited.

Parameters
rateThe desired maximum bandwidth.
boundThe bandwidth with only the network taken into account.
sizeThe size of the message.
Returns
The new bandwidth.

Reimplemented from simgrid::surf::NetworkModel.


The documentation for this class was generated from the following files: