SimGrid  3.13
Versatile Simulation of Distributed Systems
simgrid::surf::CpuCas01 Class Reference

#include <cpu_cas01.hpp>

Inheritance diagram for simgrid::surf::CpuCas01:
simgrid::surf::Cpu simgrid::surf::Resource

Public Member Functions

 CpuCas01 (CpuCas01Model *model, simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core)
 
 ~CpuCas01 ()
 
void apply_event (tmgr_trace_iterator_t event, double value) override
 Apply an event of external load event to that resource. More...
 
CpuActionexecution_start (double size) override
 Execute some quantity of computation. More...
 
CpuActionsleep (double duration) override
 Make a process sleep for duration (in seconds) More...
 
bool isUsed () override
 Check if the current Resource is used (if it currently serves an action) More...
 
xbt_dynar_t getSpeedPeakList ()
 
- Public Member Functions inherited from simgrid::surf::Cpu
 Cpu (simgrid::surf::Model *model, simgrid::s4u::Host *host, lmm_constraint_t constraint, xbt_dynar_t speedPerPstate, int core)
 Cpu constructor. More...
 
 Cpu (simgrid::surf::Model *model, simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core)
 Cpu constructor. More...
 
 ~Cpu ()
 
virtual int getCore ()
 Get the amount of cores. More...
 
virtual double getSpeed (double load)
 Get the speed, accounting for the trace load and provided process load instead of the real current one. More...
 
virtual double getAvailableSpeed ()
 Get the available speed of the current Cpu. More...
 
virtual double getCurrentPowerPeak ()
 Get the current Cpu power peak. More...
 
virtual double getPowerPeakAt (int pstate_index)
 
virtual int getNbPStates ()
 
virtual void setPState (int pstate_index)
 
virtual int getPState ()
 
simgrid::s4u::Host * getHost ()
 
virtual void setStateTrace (tmgr_trace_t trace)
 
virtual void setSpeedTrace (tmgr_trace_t trace)
 
- Public Member Functions inherited from simgrid::surf::Resource
 Resource (Model *model, const char *name)
 Constructor of non-LMM Resources. More...
 
 Resource (Model *model, const char *name, lmm_constraint_t constraint)
 Constructor of LMM Resources. More...
 
virtual ~Resource ()
 
ModelgetModel () const
 Get the Model of the current Resource. More...
 
const char * getName () const
 Get the name of the current Resource. More...
 
bool operator== (const Resource &other) const
 
virtual bool isOn () const
 Check if the current Resource is active. More...
 
virtual bool isOff () const
 Check if the current Resource is shut down. More...
 
virtual void turnOn ()
 Turn on the current Resource. More...
 
virtual void turnOff ()
 Turn off the current Resource. More...
 
lmm_constraint_t getConstraint () const
 Get the lmm constraint associated to this Resource if it is part of a LMM component (or null if none) More...
 

Protected Member Functions

void onSpeedChange () override
 take into account changes of speed (either load or max) More...
 

Additional Inherited Members

- Public Attributes inherited from simgrid::surf::Cpu
int coresAmount_ = 1
 
simgrid::s4u::Host * host_
 
xbt_dynar_t speedPerPstate_ = NULL
 
int pstate_ = 0
 
lmm_constraint_tp_constraintCore =NULL
 
void ** p_constraintCoreId =NULL
 
tmgr_trace_iterator_t stateEvent_ = nullptr
 
s_surf_metric_t speed_ = {1.0, 0, nullptr}
 
- Protected Attributes inherited from simgrid::surf::Resource
lmm_constraint_t constraint_ = nullptr
 

Constructor & Destructor Documentation

simgrid::surf::CpuCas01::CpuCas01 ( CpuCas01Model model,
simgrid::s4u::Host *  host,
xbt_dynar_t  speedPerPstate,
int  core 
)
simgrid::surf::CpuCas01::~CpuCas01 ( )

Member Function Documentation

void simgrid::surf::CpuCas01::apply_event ( tmgr_trace_iterator_t  event,
double  value 
)
overridevirtual

Apply an event of external load event to that resource.

Parameters
eventWhat happened
value[TODO]

Implements simgrid::surf::Resource.

CpuAction * simgrid::surf::CpuCas01::execution_start ( double  size)
overridevirtual

Execute some quantity of computation.

Parameters
sizeThe value of the processing amount (in flop) needed to process
Returns
The CpuAction corresponding to the processing

Implements simgrid::surf::Cpu.

CpuAction * simgrid::surf::CpuCas01::sleep ( double  duration)
overridevirtual

Make a process sleep for duration (in seconds)

Parameters
durationThe number of seconds to sleep
Returns
The CpuAction corresponding to the sleeping

Implements simgrid::surf::Cpu.

bool simgrid::surf::CpuCas01::isUsed ( )
overridevirtual

Check if the current Resource is used (if it currently serves an action)

Implements simgrid::surf::Resource.

xbt_dynar_t simgrid::surf::CpuCas01::getSpeedPeakList ( )
void simgrid::surf::CpuCas01::onSpeedChange ( )
overrideprotectedvirtual

take into account changes of speed (either load or max)

Reimplemented from simgrid::surf::Cpu.


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