SURF network model interface class.
A model is an object which handles the interactions between its Resources and its Actions
|
| NetworkModel () |
| Constructor. More...
|
|
| ~NetworkModel () override |
| Destructor. More...
|
|
virtual LinkImpl * | createLink (const std::string &name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy)=0 |
| Create a Link. More...
|
|
virtual Action * | communicate (simgrid::s4u::Host *src, simgrid::s4u::Host *dst, double size, double rate)=0 |
| Create a communication between two hosts. More...
|
|
virtual double | latencyFactor (double size) |
| Get the right multiplicative factor for the latency. More...
|
|
virtual double | bandwidthFactor (double size) |
| Get the right multiplicative factor for the bandwidth. More...
|
|
virtual double | bandwidthConstraint (double rate, double bound, double size) |
| Get definitive bandwidth. More...
|
|
double | nextOccuringEventFull (double now) override |
|
| Model () |
|
virtual | ~Model () |
|
virtual ActionList * | getReadyActionSet () const |
| Get the set of actions in ready state. More...
|
|
virtual ActionList * | getRunningActionSet () const |
| Get the set of actions in running state. More...
|
|
virtual ActionList * | getFailedActionSet () const |
| Get the set of actions in failed state. More...
|
|
virtual ActionList * | getDoneActionSet () 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_type & | getActionHeap () |
| Get Action heap. More...
|
|
double | actionHeapTopDate () const |
|
Action * | actionHeapPop () |
|
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 void | updateActionsStateLazy (double now, double delta) |
|
virtual void | updateActionsStateFull (double now, double delta) |
|
virtual bool | nextOccuringEventIsIdempotent () |
| Returns whether this model have an idempotent shareResource() More...
|
|
double simgrid::surf::NetworkModel::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
-
size | The size of the message. |
- Returns
- The latency factor.
Reimplemented in simgrid::surf::NetworkSmpiModel.
double simgrid::surf::NetworkModel::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
-
size | The size of the message. |
- Returns
- The bandwidth factor.
Reimplemented in simgrid::surf::NetworkSmpiModel.