e_surf_resource_state_t(*get_state) (void *cpu);
double (*get_speed) (void *cpu, double load);
double (*get_available_speed) (void *cpu);
+ double (*get_current_power_peak) (void *cpu);
+ double (*get_power_peak_at) (void *cpu, int pstate_index);
+ int (*get_nb_pstates) (void *cpu);
+ void (*set_power_peak_at) (void *cpu, int pstate_index);
+ double (*get_consumed_energy) (void *cpu);
void (*add_traces) (void);
} s_surf_model_extension_cpu_t;
and create the corresponding action */
surf_action_t(*sleep) (void *workstation, double duration); /**< Make a workstation sleep during a given duration */
e_surf_resource_state_t(*get_state) (void *workstation); /**< Return the CPU state of a workstation */
- double (*get_speed) (void *workstation, double load); /**< Return the speed of a workstation */
+ double (*get_speed) (void *workstation, double load); /**< Return the speed of a workstation */
+
+ double (*get_current_power_peak) (void *workstation);
+ double (*get_power_peak_at) (void *workstation, int pstate_index);
+ int (*get_nb_pstates) (void *workstation);
+ void (*set_power_peak_at) (void *workstation, int pstate_index);
+ double (*get_consumed_energy) (void *workstation);
double (*get_available_speed) (void *workstation); /**< Return tha available speed of a workstation */
surf_action_t(*communicate) (void *workstation_src, /**< Execute a communication amount between two workstations */
void *workstation_dst, double size,