X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3aa62b6a4755ba871847a5f86473c0e651c9d661..51c23076e2b42ff07dc167dea1cb0e3a4ab3cf68:/src/surf/ptask_L07.hpp diff --git a/src/surf/ptask_L07.hpp b/src/surf/ptask_L07.hpp index d5e343820e..01f1c809ec 100644 --- a/src/surf/ptask_L07.hpp +++ b/src/surf/ptask_L07.hpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2013-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2013-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -39,29 +38,29 @@ public: HostL07Model(); ~HostL07Model(); - double nextOccuringEvent(double now) override; - void updateActionsState(double now, double delta) override; - Action *executeParallelTask(int host_nb, sg_host_t *host_list, - double *flops_amount, double *bytes_amount, double rate) override; + double next_occuring_event(double now) override; + void update_actions_state(double now, double delta) override; + kernel::resource::Action* execute_parallel(int host_nb, sg_host_t* host_list, double* flops_amount, + double* bytes_amount, double rate) override; }; class CpuL07Model : public CpuModel { public: - CpuL07Model(HostL07Model *hmodel,lmm_system_t sys); - ~CpuL07Model() = default; + CpuL07Model(HostL07Model* hmodel, kernel::lmm::System* sys); + ~CpuL07Model(); - Cpu *createCpu(simgrid::s4u::Host *host, std::vector *speedPerPstate, int core) override; + Cpu* create_cpu(simgrid::s4u::Host* host, std::vector* speed_per_pstate, int core) override; HostL07Model *hostModel_; }; -class NetworkL07Model : public NetworkModel { +class NetworkL07Model : public kernel::resource::NetworkModel { public: - NetworkL07Model(HostL07Model *hmodel, lmm_system_t sys); - ~NetworkL07Model() = default; - LinkImpl* createLink(const char* name, double bandwidth, double latency, - e_surf_link_sharing_policy_t policy) override; + NetworkL07Model(HostL07Model* hmodel, kernel::lmm::System* sys); + ~NetworkL07Model(); + kernel::resource::LinkImpl* createLink(const std::string& name, double bandwidth, double latency, + s4u::Link::SharingPolicy policy) override; - Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override; + kernel::resource::Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override; HostL07Model *hostModel_; }; @@ -72,23 +71,29 @@ public: class CpuL07 : public Cpu { public: - CpuL07(CpuL07Model *model, simgrid::s4u::Host *host, std::vector * speedPerPstate, int core); + CpuL07(CpuL07Model* model, simgrid::s4u::Host* host, std::vector* speed_per_pstate, int core); ~CpuL07() override; - bool isUsed() override; - void apply_event(tmgr_trace_iterator_t event, double value) override; - Action *execution_start(double size) override; - Action *sleep(double duration) override; + bool is_used() override; + void apply_event(tmgr_trace_event_t event, double value) override; + kernel::resource::Action* execution_start(double size) override; + simgrid::kernel::resource::Action* execution_start(double size, int requestedCores) override + { + THROW_UNIMPLEMENTED; + return nullptr; + } + kernel::resource::Action* sleep(double duration) override; + protected: - void onSpeedChange() override; + void on_speed_change() override; }; -class LinkL07 : public LinkImpl { +class LinkL07 : public kernel::resource::LinkImpl { public: - LinkL07(NetworkL07Model* model, const char* name, double bandwidth, double latency, - e_surf_link_sharing_policy_t policy); + LinkL07(NetworkL07Model* model, const std::string& name, double bandwidth, double latency, + s4u::Link::SharingPolicy policy); ~LinkL07() override; - bool isUsed() override; - void apply_event(tmgr_trace_iterator_t event, double value) override; + bool is_used() override; + void apply_event(tmgr_trace_event_t event, double value) override; void setBandwidth(double value) override; void setLatency(double value) override; }; @@ -99,16 +104,16 @@ public: class L07Action : public CpuAction { friend Action *CpuL07::execution_start(double size); friend Action *CpuL07::sleep(double duration); - friend Action *HostL07Model::executeParallelTask(int host_nb, sg_host_t*host_list, - double *flops_amount, double *bytes_amount, double rate); + friend Action* HostL07Model::execute_parallel(int host_nb, sg_host_t* host_list, double* flops_amount, + double* bytes_amount, double rate); + public: - L07Action(Model *model, int host_nb, sg_host_t *host_list, double *flops_amount, double *bytes_amount, double rate); - ~L07Action(); + L07Action(kernel::resource::Model* model, int host_nb, sg_host_t* host_list, double* flops_amount, + double* bytes_amount, double rate); + ~L07Action(); void updateBound(); - int unref() override; - std::vector* hostList_ = new std::vector(); double *computationAmount_; double *communicationAmount_;