|
SimGrid
3.12
Versatile Simulation of Distributed Systems
|
SURF network model interface class. More...
#include <network_interface.hpp>
Public Member Functions | |
| NetworkModel () | |
| Constructor. | |
| ~NetworkModel () | |
| Destructor. | |
| virtual Link * | createLink (const char *name, double bw_initial, tmgr_trace_t bw_trace, double lat_initial, tmgr_trace_t lat_trace, e_surf_resource_state_t state_initial, tmgr_trace_t state_trace, e_surf_link_sharing_policy_t policy, xbt_dict_t properties)=0 |
| Create a Link. More... | |
| virtual Action * | communicate (RoutingEdge *src, RoutingEdge *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... | |
Public Member Functions inherited from Model | |
| Model () | |
| Constructor. | |
| virtual | ~Model () |
| Destructor. | |
| virtual ActionList * | getReadyActionSet () |
| Get the set of actions in ready state. More... | |
| virtual ActionList * | getRunningActionSet () |
| Get the set of actions in running state. More... | |
| virtual ActionList * | getFailedActionSet () |
| Get the set of actions in failed state. More... | |
| virtual ActionList * | getDoneActionSet () |
| Get the set of actions in done state. More... | |
| virtual ActionLmmListPtr | getModifiedSet () |
| Get the set of modified actions. More... | |
| lmm_system_t | getMaxminSystem () |
| Get the maxmin system of the current Model. More... | |
| e_UM_t | getUpdateMechanism () |
| Get the update mechanism of the current Model. More... | |
| xbt_heap_t | getActionHeap () |
| Get Action heap. More... | |
| virtual double | shareResources (double now) |
| share the resources More... | |
| virtual void | updateActionsState (double now, double delta) |
| Update state of actions. More... | |
| virtual bool | shareResourcesIsIdempotent ()=0 |
| Returns whether this model have an idempotent shareResource() More... | |
Data Fields | |
| void(* | f_networkSolve )(lmm_system_t) = lmm_solve |
| Function pointer to the function to use to solve the lmm_system_t. More... | |
SURF network model interface class.
A model is an object which handles the interactions between its Resources and its Actions
|
pure virtual |
Create a Link.
| name | The name of the Link |
| bw_initial | The initial bandwidth of the Link in bytes per second |
| bw_trace | The trace associated to the Link bandwidth |
| lat_initial | The initial latency of the Link in seconds |
| lat_trace | The trace associated to the Link latency |
| state_initial | The initial Link (state)[e_surf_resource_state_t] |
| state_trace | The trace associated to the Link (state)[e_surf_resource_state_t] |
| policy | The sharing policy of the Link |
| properties | Dictionary of properties associated to this Resource |
|
pure virtual |
Create a communication between two hosts.
It makes calls to the routing part, and execute the communication between the two end points.
| src | The source of the communication |
| dst | The destination of the communication |
| size | The size of the communication in bytes |
| rate | Allows to limit the transfer rate. Negative value means unlimited. |
|
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.
| size | The size of the message. |
|
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.
| size | The size of the message. |
|
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.
| rate | The desired maximum bandwidth. |
| bound | The bandwidth with only the network taken into account. |
| size | The size of the message. |
| void(* NetworkModel::f_networkSolve) (lmm_system_t) = lmm_solve |
Function pointer to the function to use to solve the lmm_system_t.
| system | The lmm_system_t to solve |