static cpu_Cas01_im_t cpu_im_new(char *name, double power_peak,
double power_scale,
tmgr_trace_t power_trace,
+ int core,
e_surf_resource_state_t state_initial,
tmgr_trace_t state_trace,
xbt_dict_t cpu_properties)
s_surf_action_cpu_Cas01_im_t action;
cpu = xbt_new0(s_cpu_Cas01_im_t, 1);
+ xbt_assert0(core==1,"Multi-core not handled with this model yet");
#ifdef HAVE_TRACING
TRACE_surf_host_declaration(name, power_scale * power_peak);
#endif
{
double power_peak = 0.0;
double power_scale = 0.0;
+ int core = 0;
tmgr_trace_t power_trace = NULL;
e_surf_resource_state_t state_initial = SURF_RESOURCE_OFF;
tmgr_trace_t state_trace = NULL;
power_peak = get_cpu_power(A_surfxml_host_power);
surf_parse_get_double(&power_scale, A_surfxml_host_availability);
power_trace = tmgr_trace_new(A_surfxml_host_availability_file);
+ surf_parse_get_int(&core, A_surfxml_host_core);
xbt_assert0((A_surfxml_host_state == A_surfxml_host_state_ON) ||
(A_surfxml_host_state == A_surfxml_host_state_OFF),
current_property_set = xbt_dict_new();
cpu_im_new(xbt_strdup(A_surfxml_host_id), power_peak, power_scale,
- power_trace, state_initial, state_trace,
+ power_trace, core, state_initial, state_trace,
current_property_set);
}
min = -1;
value = lmm_variable_getvalue(GENERIC_LMM_ACTION(action).variable);
if (value > 0) {
- if (GENERIC_ACTION(action).remains > 0)
+ if (GENERIC_ACTION(action).remains > 0) {
value = GENERIC_ACTION(action).remains / value;
- else
+ min = now + value;
+ } else {
value = 0.0;
+ min = now;
+ }
}
- if (value > 0)
- min = now + value;
if ((GENERIC_ACTION(action).max_duration != NO_MAX_DURATION)
&& (min == -1
static void cpu_im_create_resource(char *name, double power_peak,
double power_scale,
tmgr_trace_t power_trace,
+ int core,
e_surf_resource_state_t state_initial,
tmgr_trace_t state_trace,
xbt_dict_t cpu_properties)
{
- cpu_im_new(name, power_peak, power_scale, power_trace,
+ xbt_assert0(core==1,"Multi-core not handled with this model yet");
+ cpu_im_new(name, power_peak, power_scale, power_trace, core,
state_initial, state_trace, cpu_properties);
}