virtual int getCore();
virtual double getSpeed(double load);
virtual double getAvailableSpeed();
+
+ virtual double getCurrentPowerPeak()=0;
+ virtual double getPowerPeakAt(int pstate_index)=0;
+ virtual int getNbPstates()=0;
+ virtual void setPowerPeakAt(int pstate_index)=0;
+ virtual double getConsumedEnergy()=0;
+
void addTraces(void);
double m_powerPeak; /*< CPU power peak */
double m_powerScale; /*< Percentage of CPU disponible */
-protected:
int m_core;
+protected:
//virtual boost::shared_ptr<Action> execute(double size) = 0;
//virtual boost::shared_ptr<Action> sleep(double duration) = 0;
public:
CpuLmm(){};
CpuLmm(CpuModelPtr model, const char* name, xbt_dict_t properties) : ResourceLmm(), Cpu(model, name, properties) {};
-
+ /* Note (hypervisor): */
+ lmm_constraint_t *p_constraintCore;
};
/**********
CpuActionLmm(ModelPtr model, double cost, bool failed)
: Action(model, cost, failed), ActionLmm(model, cost, failed), CpuAction(model, cost, failed) {};
void updateRemainingLazy(double now);
+ virtual void updateEnergy()=0;
+ void setAffinity(CpuLmmPtr cpu, unsigned long mask);
+ void setBound(double bound);
+ double m_bound;
};