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

SURF cpu model interface class. More...

#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

 CpuModel ()
 
virtual Cpu * createCpu (simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core)=0
 Create a Cpu. More...
 
void updateActionsStateLazy (double now, double delta)
 
void updateActionsStateFull (double now, double delta)
 
bool next_occuring_event_isIdempotent ()
 Returns whether this model have an idempotent shareResource() More...
 
- Public Member Functions inherited from simgrid::surf::Model
 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...
 

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 cpu model interface class.

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

Constructor & Destructor Documentation

simgrid::surf::CpuModel::CpuModel ( )
inline

Member Function Documentation

virtual Cpu* simgrid::surf::CpuModel::createCpu ( simgrid::s4u::Host *  host,
xbt_dynar_t  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.

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

Reimplemented from simgrid::surf::Model.

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

Reimplemented from simgrid::surf::Model.

bool simgrid::surf::CpuModel::next_occuring_event_isIdempotent ( )
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.

Implements simgrid::surf::Model.


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