SimGrid
3.13
Versatile Simulation of Distributed Systems
|
SURF model interface class. More...
#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 | next_occuring_event (double now) |
Share the resources between the actions. More... | |
virtual double | next_occuring_event_lazy (double now) |
virtual double | next_occuring_event_full (double now) |
double | shareResourcesMaxMin (ActionList *running_actions, lmm_system_t sys, void(*solve)(lmm_system_t)) |
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 | next_occuring_event_isIdempotent ()=0 |
Returns whether this model have an idempotent shareResource() More... | |
Protected Attributes | |
ActionLmmListPtr | modifiedSet_ |
lmm_system_t | maxminSystem_ = nullptr |
e_UM_t | updateMechanism_ = UM_UNDEFINED |
int | selectiveUpdate_ |
xbt_heap_t | actionHeap_ |
SURF model interface class.
A model is an object which handle the interactions between its Resources and its Actions
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::VMHL13Model, simgrid::surf::StorageN11Model, simgrid::surf::HostCLM03Model, simgrid::surf::NetworkConstantModel, and simgrid::surf::NetworkNS3Model.
|
virtual |
|
virtual |
Reimplemented in simgrid::surf::NetworkModel, and simgrid::surf::CpuCas01Model.
double simgrid::surf::Model::shareResourcesMaxMin | ( | ActionList * | running_actions, |
lmm_system_t | sys, | ||
void(*)(lmm_system_t) | solve | ||
) |
|
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::VMHL13Model, simgrid::surf::HostCLM03Model, simgrid::surf::StorageN11Model, simgrid::surf::NetworkConstantModel, and simgrid::surf::NetworkNS3Model.
|
virtual |
Reimplemented in simgrid::surf::CpuModel, and simgrid::surf::NetworkCm02Model.
|
virtual |
Reimplemented in simgrid::surf::CpuModel, and simgrid::surf::NetworkCm02Model.
|
pure virtual |
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.
Implemented in simgrid::surf::StorageModel, simgrid::surf::NetworkL07Model, simgrid::surf::HostModel, simgrid::surf::CpuModel, simgrid::surf::NetworkCm02Model, simgrid::surf::NetworkConstantModel, and simgrid::surf::NetworkNS3Model.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |