model->updateActionsState(NOW, 0.0);
}
+/**
+ * Computes when the next action executed in a
+ * specific model terminates; this is important,
+ * because we can safely skip the amount of time
+ * in which no model (read: not even a single one)
+ * changes its state; so, if for instance network,
+ * cpu, storage don't change (and if we assume they're
+ * the only models we use... simple example here :) )
+ * for 2s, 1s, 3s then we can skip 1s as after this
+ * amount of time the new state needs to be considered.
+ *
+ */
static void surf_share_resources(surf_model_t model)
{
double next_action_end = -1.0;
surf_update_actions_state(model);
}
-#ifdef HAVE_TRACING
TRACE_paje_dump_buffer (0);
-#endif
return surf_min;
}
surf_action_t surf_workstation_model_execute_parallel_task(surf_workstation_model_t model,
int workstation_nb,
void **workstation_list,
- double *computation_amount,
- double *communication_amount,
+ double *flops_amount,
+ double *bytes_amount,
double rate){
- return static_cast<ActionPtr>(model->executeParallelTask(workstation_nb, workstation_list, computation_amount, communication_amount, rate));
+ return static_cast<ActionPtr>(model->executeParallelTask(workstation_nb, workstation_list, flops_amount, bytes_amount, rate));
}
surf_action_t surf_workstation_model_communicate(surf_workstation_model_t model, surf_resource_t src, surf_resource_t dst, double size, double rate){
return get_casted_workstation(resource)->getNbPstates();
}
-void surf_workstation_set_power_peak_at(surf_resource_t resource, int pstate_index){
- return get_casted_workstation(resource)->setPowerPeakAt(pstate_index);
+void surf_workstation_set_pstate(surf_resource_t resource, int pstate_index){
+ get_casted_workstation(resource)->setPstate(pstate_index);
+}
+int surf_workstation_get_pstate(surf_resource_t resource){
+ return get_casted_workstation(resource)->getPstate();
}
double surf_workstation_get_consumed_energy(surf_resource_t resource){
action->setPriority(priority);
}
-#ifdef HAVE_TRACING
void surf_action_set_category(surf_action_t action, const char *category){
action->setCategory(category);
}
-#endif
void *surf_action_get_data(surf_action_t action){
return action->getData();