SimGrid
3.16
Versatile Simulation of Distributed Systems
|
SURF model interface class.
A model is an object which handle the interactions between its Resources and its Actions
#include <surf_interface.hpp>
Public Member Functions | |
Model () | |
virtual | ~Model () |
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 | nextOccuringEvent (double now) |
Share the resources between the actions. More... | |
virtual double | nextOccuringEventLazy (double now) |
virtual double | nextOccuringEventFull (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... | |
Protected Attributes | |
ActionLmmListPtr | modifiedSet_ |
lmm_system_t | maxminSystem_ = nullptr |
e_UM_t | updateMechanism_ = UM_UNDEFINED |
bool | selectiveUpdate_ |
xbt_heap_t | actionHeap_ |
simgrid::surf::Model::Model | ( | ) |
|
virtual |
|
inlinevirtual |
Get the set of actions in ready state.
|
inlinevirtual |
Get the set of actions in running state.
|
inlinevirtual |
Get the set of actions in failed state.
|
inlinevirtual |
Get the set of actions in done state.
|
inlinevirtual |
Get the set of modified actions.
|
inline |
Get the maxmin system of the current Model.
|
inline |
|
inline |
Get Action heap.
|
virtual |
Share the resources between the actions.
now | The current time of the simulation |
Reimplemented in simgrid::surf::CpuTiModel, simgrid::surf::HostL07Model, simgrid::surf::StorageN11Model, simgrid::surf::HostCLM03Model, simgrid::surf::NetworkConstantModel, and simgrid::surf::NetworkNS3Model.
|
virtual |
|
virtual |
Reimplemented in simgrid::surf::NetworkModel.
|
virtual |
Update action to the current time.
now | The current time of the simulation |
delta | The delta of time since the last update |
Reimplemented in simgrid::surf::CpuTiModel, simgrid::surf::HostL07Model, simgrid::surf::StorageN11Model, simgrid::surf::HostCLM03Model, simgrid::surf::NetworkConstantModel, and simgrid::surf::NetworkNS3Model.
|
virtual |
Reimplemented in simgrid::surf::NetworkCm02Model, and simgrid::surf::CpuModel.
|
virtual |
Reimplemented in simgrid::surf::NetworkCm02Model, and simgrid::surf::CpuModel.
|
inlinevirtual |
Returns whether this model have an idempotent shareResource()
The only model that is not is NS3: computing the next timestamp moves the model up to that point, so we need to call it only when the next timestamp of other sources is computed.
Reimplemented in simgrid::surf::NetworkNS3Model.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |