SimGrid  3.18
Versatile Simulation of Distributed Systems
simgrid::surf::CpuModel Class Referenceabstract

Detailed Description

SURF cpu model interface class.

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

#include <cpu_interface.hpp>

Inheritance diagram for simgrid::surf::CpuModel:
simgrid::surf::Model simgrid::surf::CpuCas01Model simgrid::surf::CpuL07Model simgrid::surf::CpuTiModel

Public Member Functions

virtual CpucreateCpu (simgrid::s4u::Host *host, std::vector< double > *speedPerPstate, int core)=0
 Create a Cpu. More...
 
void updateActionsStateLazy (double now, double delta) override
 
void updateActionsStateFull (double now, double delta) override
 
- Public Member Functions inherited from simgrid::surf::Model
 Model ()
 
virtual ~Model ()
 
virtual ActionListgetReadyActionSet () const
 Get the set of actions in ready state. More...
 
virtual ActionListgetRunningActionSet () const
 Get the set of actions in running state. More...
 
virtual ActionListgetFailedActionSet () const
 Get the set of actions in failed state. More...
 
virtual ActionListgetDoneActionSet () 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_typegetActionHeap ()
 Get Action heap. More...
 
double actionHeapTopDate () const
 
ActionactionHeapPop ()
 
bool actionHeapIsEmpty () const
 
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 bool nextOccuringEventIsIdempotent ()
 Returns whether this model have an idempotent shareResource() More...
 

Additional Inherited Members

- Protected Attributes inherited from simgrid::surf::Model
ActionLmmListPtr modifiedSet_
 
lmm_system_t maxminSystem_ = nullptr
 
bool selectiveUpdate_
 

Member Function Documentation

◆ createCpu()

virtual Cpu* simgrid::surf::CpuModel::createCpu ( simgrid::s4u::Host host,
std::vector< double > *  speedPerPstate,
int  core 
)
pure virtual

Create a Cpu.

Parameters
hostThe host that will have this CPU
speedPerPstateProcessor speed (in Flops) of each pstate. This ignores any potential external load coming from a trace.
coreThe number of core of this Cpu

Implemented in simgrid::surf::CpuTiModel, simgrid::surf::CpuL07Model, and simgrid::surf::CpuCas01Model.

◆ updateActionsStateLazy()

void simgrid::surf::CpuModel::updateActionsStateLazy ( double  now,
double  delta 
)
overridevirtual

Reimplemented from simgrid::surf::Model.

◆ updateActionsStateFull()

void simgrid::surf::CpuModel::updateActionsStateFull ( double  now,
double  delta 
)
overridevirtual

Reimplemented from simgrid::surf::Model.


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