X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8bcc1dbe28f658ea786ba234a679601edd30758a..7b3e6dbec91461f76c2c94185e583654e967be53:/src/surf/cpu_ti.hpp diff --git a/src/surf/cpu_ti.hpp b/src/surf/cpu_ti.hpp index cf4016b6e4..c4fab1d4d7 100644 --- a/src/surf/cpu_ti.hpp +++ b/src/surf/cpu_ti.hpp @@ -13,6 +13,9 @@ /* Epsilon */ #define EPSILON 0.000000001 +namespace simgrid { +namespace surf { + /*********** * Classes * ***********/ @@ -29,7 +32,7 @@ struct tiTag; *********/ class CpuTiTrace { public: - CpuTiTrace(tmgr_trace_t powerTrace); + CpuTiTrace(tmgr_trace_t speedTrace); ~CpuTiTrace(); double integrateSimple(double a, double b); @@ -47,13 +50,13 @@ private: enum trace_type { TRACE_FIXED, /*< Trace fixed, no availability file */ - TRACE_DYNAMIC /*< Dynamic, availability file disponible */ + TRACE_DYNAMIC /*< Dynamic, have an availability file */ }; class CpuTiTgmr { public: CpuTiTgmr(trace_type type, double value): m_type(type), m_value(value){}; - CpuTiTgmr(tmgr_trace_t power_trace, double value); + CpuTiTgmr(tmgr_trace_t speedTrace, double value); ~CpuTiTgmr(); double integrate(double a, double b); @@ -62,14 +65,14 @@ public: double getPowerScale(double a); trace_type m_type; - double m_value; /*< Percentage of cpu power disponible. Value fixed between 0 and 1 */ + double m_value; /*< Percentage of cpu speed available. Value fixed between 0 and 1 */ /* Dynamic */ - double m_lastTime; /*< Integral interval last point (discret time) */ + double m_lastTime; /*< Integral interval last point (discrete time) */ double m_total; /*< Integral total between 0 and last_pointn */ CpuTiTrace *p_trace; - tmgr_trace_t p_powerTrace; + tmgr_trace_t p_speedTrace; }; /********** @@ -78,10 +81,6 @@ public: class CpuTiAction: public CpuAction { friend class CpuTi; - // friend CpuAction *CpuTi::execute(double size); - // friend CpuAction *CpuTi::sleep(double duration); - // friend void CpuTi::updateActionsFinishTime(double now);//FIXME - // friend void CpuTi::updateRemainingAmount(double now);//FIXME public: CpuTiAction(CpuTiModel *model, double cost, bool failed, CpuTi *cpu); @@ -100,7 +99,7 @@ public: CpuTi *p_cpu; int m_indexHeap; - int m_suspended; + int m_suspended = 0; public: boost::intrusive::list_member_hook<> action_ti_hook; }; @@ -115,11 +114,9 @@ typedef boost::intrusive::list< ************/ class CpuTi : public Cpu { public: - CpuTi() {}; - CpuTi(CpuTiModel *model, const char *name, xbt_dynar_t powerPeak, - int pstate, double powerScale, tmgr_trace_t powerTrace, int core, - e_surf_resource_state_t stateInitial, tmgr_trace_t stateTrace, - xbt_dict_t properties) ; + CpuTi(CpuTiModel *model, simgrid::Host *host, xbt_dynar_t speedPeak, + int pstate, double speedScale, tmgr_trace_t speedTrace, int core, + e_surf_resource_state_t stateInitial, tmgr_trace_t stateTrace) ; ~CpuTi(); void updateState(tmgr_trace_event_t event_type, double value, double date); @@ -130,16 +127,11 @@ public: CpuAction *sleep(double duration); double getAvailableSpeed(); - double getCurrentPowerPeak() {THROW_UNIMPLEMENTED;}; - double getPowerPeakAt(int /*pstate_index*/) {THROW_UNIMPLEMENTED;}; - int getNbPstates() {THROW_UNIMPLEMENTED;}; - void setPstate(int /*pstate_index*/) {THROW_UNIMPLEMENTED;}; - int getPstate() { THROW_UNIMPLEMENTED;} void modified(bool modified); CpuTiTgmr *p_availTrace; /*< Structure with data needed to integrate trace file */ tmgr_trace_event_t p_stateEvent; /*< trace file with states events (ON or OFF) */ - tmgr_trace_event_t p_powerEvent; /*< trace file with availability events */ + tmgr_trace_event_t p_speedEvent; /*< trace file with availability events */ ActionTiList *p_actionSet; /*< set with all actions running on cpu */ double m_sumPriority; /*< the sum of actions' priority that are running on cpu */ double m_lastUpdate; /*< last update of actions' remaining amount done */ @@ -162,12 +154,11 @@ class CpuTiModel : public CpuModel { public: CpuTiModel(); ~CpuTiModel(); - Cpu *createCpu(const char *name, xbt_dynar_t powerPeak, - int pstate, double power_scale, - tmgr_trace_t power_trace, int core, + Cpu *createCpu(simgrid::Host *host, xbt_dynar_t speedPeak, + int pstate, double speedScale, + tmgr_trace_t speedTrace, int core, e_surf_resource_state_t state_initial, - tmgr_trace_t state_trace, - xbt_dict_t cpu_properties); + tmgr_trace_t state_trace); double shareResources(double now); void updateActionsState(double now, double delta); void addTraces(); @@ -177,10 +168,13 @@ public: xbt_heap_t p_tiActionHeap; protected: - void NotifyResourceTurnedOn(Resource*){}; - void NotifyResourceTurnedOff(Resource*){}; + void NotifyResourceTurnedOn(simgrid::surf::Resource*){}; + void NotifyResourceTurnedOff(simgrid::surf::Resource*){}; void NotifyActionCancel(Action*){}; void NotifyActionResume(Action*){}; void NotifyActionSuspend(Action*){}; }; + +} +}