SimGrid  3.13
Versatile Simulation of Distributed Systems
simgrid::surf::VMModel Class Referenceabstract

SURF VM model interface class. More...

#include <virtual_machine.hpp>

Inheritance diagram for simgrid::surf::VMModel:
simgrid::surf::HostModel simgrid::surf::Model simgrid::surf::VMHL13Model

Public Types

typedef boost::intrusive::member_hook< VirtualMachine, boost::intrusive::list_member_hook<>,&VirtualMachine::vm_hookVmOptions
 
typedef boost::intrusive::list< VirtualMachine, VmOptions, boost::intrusive::constant_time_size< false > > vm_list_t
 

Public Member Functions

 VMModel ()
 
 ~VMModel ()
 
virtual VirtualMachinecreateVM (const char *name, sg_host_t host_PM)=0
 Create a new VM. More...
 
void adjustWeightOfDummyCpuActions ()
 
- Public Member Functions inherited from simgrid::surf::HostModel
 HostModel ()
 
 ~HostModel () override
 
HostImplcreateHost (const char *name, NetCard *net, Cpu *cpu)
 
virtual ActionexecuteParallelTask (int host_nb, sg_host_t *host_list, double *flops_amount, double *bytes_amount, double rate)
 
bool next_occuring_event_isIdempotent () override
 Returns whether this model have an idempotent shareResource() More...
 
- Public Member Functions inherited from simgrid::surf::Model
 Model ()
 
virtual ~Model ()
 
virtual ActionListgetReadyActionSet ()
 Get the set of actions in ready state. More...
 
virtual ActionListgetRunningActionSet ()
 Get the set of actions in running state. More...
 
virtual ActionListgetFailedActionSet ()
 Get the set of actions in failed state. More...
 
virtual ActionListgetDoneActionSet ()
 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)
 

Static Public Attributes

static vm_list_t ws_vms
 

Additional Inherited Members

- Protected Attributes inherited from simgrid::surf::Model
ActionLmmListPtr modifiedSet_
 
lmm_system_t maxminSystem_ = nullptr
 
e_UM_t updateMechanism_ = UM_UNDEFINED
 
int selectiveUpdate_
 
xbt_heap_t actionHeap_
 

Detailed Description

SURF VM model interface class.

A model is an object which handle the interactions between its Resources and its Actions

Member Typedef Documentation

typedef boost::intrusive::member_hook< VirtualMachine, boost::intrusive::list_member_hook<>, &VirtualMachine::vm_hook> simgrid::surf::VMModel::VmOptions
typedef boost::intrusive::list<VirtualMachine, VmOptions, boost::intrusive::constant_time_size<false> > simgrid::surf::VMModel::vm_list_t

Constructor & Destructor Documentation

simgrid::surf::VMModel::VMModel ( )
inline
simgrid::surf::VMModel::~VMModel ( )
inline

Member Function Documentation

virtual VirtualMachine* simgrid::surf::VMModel::createVM ( const char *  name,
sg_host_t  host_PM 
)
pure virtual

Create a new VM.

Parameters
nameThe name of the new VM
host_PMThe real machine hosting the VM

Implemented in simgrid::surf::VMHL13Model.

void simgrid::surf::VMModel::adjustWeightOfDummyCpuActions ( )
inlinevirtual

Reimplemented from simgrid::surf::HostModel.

Reimplemented in simgrid::surf::VMHL13Model.

Member Data Documentation

VMModel::vm_list_t simgrid::surf::VMModel::ws_vms
static

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