X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9706edf4ebb5500f6d33984335280f42ad594ff1..4777522533e6b8879482d71969295f683d6112dc:/src/surf/workstation_ptask_L07.cpp diff --git a/src/surf/workstation_ptask_L07.cpp b/src/surf/workstation_ptask_L07.cpp index d34b521246..30e25d4f2c 100644 --- a/src/surf/workstation_ptask_L07.cpp +++ b/src/surf/workstation_ptask_L07.cpp @@ -301,7 +301,8 @@ CpuPtr CpuL07Model::createResource(const char *name, xbt_dynar_t powerPeak, name); CpuL07Ptr cpu = new CpuL07(this, name, cpu_properties, - power_initial, power_scale, power_trace,state_initial, state_trace); + power_initial, power_scale, power_trace, + core, state_initial, state_trace); xbt_lib_set(host_lib, name, SURF_CPU_LEVEL, static_cast(cpu)); @@ -359,7 +360,7 @@ void WorkstationL07Model::addTraces() xbt_assert(host, "Host %s undefined", elm); xbt_assert(trace, "Trace %s undefined", trace_name); - host->p_power.event = tmgr_history_add_trace(history, trace, 0.0, 0, static_cast(host)); + host->p_powerEvent = tmgr_history_add_trace(history, trace, 0.0, 0, static_cast(host)); } /* Connect traces relative to network */ @@ -427,21 +428,18 @@ double WorkstationL07::getConsumedEnergy() } CpuL07::CpuL07(CpuL07ModelPtr model, const char* name, xbt_dict_t props, - double power_scale, - double power_initial, tmgr_trace_t power_trace, - e_surf_resource_state_t state_initial, tmgr_trace_t state_trace) + double power_initial, double power_scale, tmgr_trace_t power_trace, + int core, e_surf_resource_state_t state_initial, tmgr_trace_t state_trace) : Cpu(model, name, props, lmm_constraint_new(ptask_maxmin_system, this, power_initial * power_scale), - 1, 0, 0) + core, power_initial, power_scale) { - p_power.scale = power_scale; - xbt_assert(p_power.scale > 0, "Power has to be >0"); + xbt_assert(m_powerScale > 0, "Power has to be >0"); - m_powerCurrent = power_initial; if (power_trace) - p_power.event = tmgr_history_add_trace(history, power_trace, 0.0, 0, + p_powerEvent = tmgr_history_add_trace(history, power_trace, 0.0, 0, static_cast(this)); else - p_power.event = NULL; + p_powerEvent = NULL; setState(state_initial); if (state_trace) @@ -482,11 +480,11 @@ bool LinkL07::isUsed(){ void CpuL07::updateState(tmgr_trace_event_t event_type, double value, double /*date*/){ XBT_DEBUG("Updating cpu %s (%p) with value %g", getName(), this, value); - if (event_type == p_power.event) { - m_powerCurrent = value; - lmm_update_constraint_bound(ptask_maxmin_system, getConstraint(), m_powerCurrent * p_power.scale); + if (event_type == p_powerEvent) { + m_powerScale = value; + lmm_update_constraint_bound(ptask_maxmin_system, getConstraint(), m_powerPeak * m_powerScale); if (tmgr_trace_event_free(event_type)) - p_power.event = NULL; + p_powerEvent = NULL; } else if (event_type == p_stateEvent) { if (value > 0) setState(SURF_RESOURCE_ON); @@ -530,16 +528,6 @@ e_surf_resource_state_t WorkstationL07::getState() return p_cpu->getState(); } -double CpuL07::getSpeed(double load) -{ - return load * p_power.scale; -} - -double CpuL07::getAvailableSpeed() -{ - return m_powerCurrent; -} - ActionPtr WorkstationL07::execute(double size) { void **workstation_list = xbt_new0(void *, 1);