X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/49e85177c669d793e84242983a1b1f430e47184e..3dbeba193df2e406bd9eff5be73c8bce0db0185e:/src/surf/workstation_ptask_L07.hpp diff --git a/src/surf/workstation_ptask_L07.hpp b/src/surf/workstation_ptask_L07.hpp index 360a851780..2b97f71882 100644 --- a/src/surf/workstation_ptask_L07.hpp +++ b/src/surf/workstation_ptask_L07.hpp @@ -48,16 +48,11 @@ public: double shareResources(double now); void updateActionsState(double now, double delta); - ResourcePtr createResource(const char *name, double power_scale, - double power_initial, - tmgr_trace_t power_trace, - e_surf_resource_state_t state_initial, - tmgr_trace_t state_trace, - xbt_dict_t cpu_properties); + WorkstationPtr createWorkstation(const char *name); ActionPtr executeParallelTask(int workstation_nb, void **workstation_list, - double *computation_amount, - double *communication_amount, + double *flops_amount, + double *bytes_amount, double rate); xbt_dynar_t getRoute(WorkstationPtr src, WorkstationPtr dst); ActionPtr communicate(WorkstationPtr src, WorkstationPtr dst, double size, double rate); @@ -69,12 +64,12 @@ class CpuL07Model : public CpuModel { public: CpuL07Model() : CpuModel("cpuL07") {}; ~CpuL07Model() {surf_cpu_model_pm = NULL;}; - ResourcePtr createResource(const char *name, double power_scale, - double power_initial, - tmgr_trace_t power_trace, - e_surf_resource_state_t state_initial, - tmgr_trace_t state_trace, - xbt_dict_t cpu_properties); + CpuPtr createCpu(const char *name, xbt_dynar_t powerPeak, + int pstate, 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); void addTraces() {DIE_IMPOSSIBLE;}; WorkstationL07ModelPtr p_workstationModel; @@ -84,7 +79,7 @@ class NetworkL07Model : public NetworkModel { public: NetworkL07Model() : NetworkModel() {}; ~NetworkL07Model() {surf_network_model = NULL;}; - NetworkLinkPtr createResource(const char *name, + NetworkLinkPtr createNetworkLink(const char *name, double bw_initial, tmgr_trace_t bw_trace, double lat_initial, @@ -120,20 +115,16 @@ public: }; class CpuL07 : public Cpu { -public: - s_surf_metric_t p_power; + friend void WorkstationL07Model::addTraces(); tmgr_trace_event_t p_stateEvent; - + tmgr_trace_event_t p_powerEvent; public: CpuL07(CpuL07ModelPtr model, const char* name, xbt_dict_t properties, - 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_scale, double power_initial, tmgr_trace_t power_trace, + int core, e_surf_resource_state_t state_initial, tmgr_trace_t state_trace); bool isUsed(); //bool isUsed() {DIE_IMPOSSIBLE;}; void updateState(tmgr_trace_event_t event_type, double value, double date); - double getSpeed(double load); - double getAvailableSpeed(); CpuActionPtr execute(double /*size*/) {DIE_IMPOSSIBLE;}; CpuActionPtr sleep(double /*duration*/) {DIE_IMPOSSIBLE;}; @@ -142,8 +133,6 @@ public: int getNbPstates() {THROW_UNIMPLEMENTED;}; void setPowerPeakAt(int /*pstate_index*/) {THROW_UNIMPLEMENTED;}; double getConsumedEnergy() {THROW_UNIMPLEMENTED;}; - - double m_powerCurrent; }; class LinkL07 : public NetworkLink { @@ -164,6 +153,8 @@ public: double getBandwidth(); double getLatency(); bool isShared(); + void updateBandwidth(double value, double date=surf_get_clock()); + void updateLatency(double value, double date=surf_get_clock()); double m_latCurrent; tmgr_trace_event_t p_latEvent; @@ -179,9 +170,8 @@ class WorkstationL07Action : public WorkstationAction { friend ActionPtr WorkstationL07::sleep(double duration); friend ActionPtr WorkstationL07Model::executeParallelTask(int workstation_nb, void **workstation_list, - double - *computation_amount, double - *communication_amount, + double *flops_amount, + double *bytes_amount, double rate); public: WorkstationL07Action(ModelPtr model, double cost, bool failed)