From: Martin Quinson Date: Sat, 31 Mar 2018 17:17:53 +0000 (+0200) Subject: Cosmetics in HostImpl X-Git-Tag: v3.20~564 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/0ea1a3dca97a66f81466333806853c97af7eb398?ds=sidebyside Cosmetics in HostImpl --- diff --git a/include/simgrid/s4u/Host.hpp b/include/simgrid/s4u/Host.hpp index c5d4e09828..c67ead8fd1 100644 --- a/include/simgrid/s4u/Host.hpp +++ b/include/simgrid/s4u/Host.hpp @@ -95,6 +95,8 @@ public: int getPstatesCount() const; void setPstate(int pstate_index); int getPstate(); + std::vector get_attached_storages(); + // XBT_ATTRIB_DEPRECATED_v323("Please use Host::get_attached_storages() instead.") void getAttachedStorages(std::vector * storages); /** Get an associative list [mount point]->[Storage] of all local mount points. diff --git a/src/plugins/vm/VirtualMachineImpl.cpp b/src/plugins/vm/VirtualMachineImpl.cpp index 6eeac3dc51..15277a4e8f 100644 --- a/src/plugins/vm/VirtualMachineImpl.cpp +++ b/src/plugins/vm/VirtualMachineImpl.cpp @@ -103,7 +103,7 @@ double VMModel::next_occuring_event(double now) } /* 2. Calculate resource share at the virtual machine layer. */ - ignoreEmptyVmInPmLMM(); + ignore_empty_vm_in_pm_LMM(); /* 3. Ready. Get the next occurring event */ return surf_cpu_model_vm->next_occuring_event(now); diff --git a/src/plugins/vm/VirtualMachineImpl.hpp b/src/plugins/vm/VirtualMachineImpl.hpp index 575103b30a..362409a932 100644 --- a/src/plugins/vm/VirtualMachineImpl.hpp +++ b/src/plugins/vm/VirtualMachineImpl.hpp @@ -98,7 +98,7 @@ private: class XBT_PRIVATE VMModel : public surf::HostModel { public: VMModel(); - void ignoreEmptyVmInPmLMM() override{}; + void ignore_empty_vm_in_pm_LMM() override{}; double next_occuring_event(double now) override; void update_actions_state(double /*now*/, double /*delta*/) override{}; diff --git a/src/s4u/s4u_host.cpp b/src/s4u/s4u_host.cpp index 38b14b2e10..61c830583d 100644 --- a/src/s4u/s4u_host.cpp +++ b/src/s4u/s4u_host.cpp @@ -235,11 +235,17 @@ int Host::getPstate() * \brief Returns the list of storages attached to an host. * \return a vector containing all storages attached to the host */ +std::vector Host::get_attached_storages() +{ + return simgrid::simix::kernelImmediate([this] { return this->pimpl_->get_attached_storages(); }); +} + void Host::getAttachedStorages(std::vector* storages) { - simgrid::simix::kernelImmediate([this, storages] { - this->pimpl_->getAttachedStorageList(storages); - }); + std::vector local_storages = + simgrid::simix::kernelImmediate([this] { return this->pimpl_->get_attached_storages(); }); + for (auto elm : local_storages) + storages->push_back(elm); } std::unordered_map const& Host::getMountedStorages() diff --git a/src/simdag/sd_task.cpp b/src/simdag/sd_task.cpp index a6c81da4e3..2cf77b68d3 100644 --- a/src/simdag/sd_task.cpp +++ b/src/simdag/sd_task.cpp @@ -808,7 +808,7 @@ void SD_task_run(SD_task_t task) if(task->bytes_amount) std::copy_n(task->bytes_amount, host_nb * host_nb, bytes_amount); - task->surf_action = surf_host_model->executeParallelTask(host_nb, hosts, flops_amount, bytes_amount, task->rate); + task->surf_action = surf_host_model->execute_parallel(host_nb, hosts, flops_amount, bytes_amount, task->rate); task->surf_action->set_data(task); diff --git a/src/simix/smx_host.cpp b/src/simix/smx_host.cpp index b6f81fd0c4..c85a416c33 100644 --- a/src/simix/smx_host.cpp +++ b/src/simix/smx_host.cpp @@ -181,7 +181,7 @@ SIMIX_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_li /* set surf's synchro */ sg_host_t* host_list_cpy = new sg_host_t[host_nb]; std::copy_n(host_list, host_nb, host_list_cpy); - exec->surfAction_ = surf_host_model->executeParallelTask(host_nb, host_list_cpy, flops_amount, bytes_amount, rate); + exec->surfAction_ = surf_host_model->execute_parallel(host_nb, host_list_cpy, flops_amount, bytes_amount, rate); exec->surfAction_->set_data(exec.get()); if (timeout > 0) { exec->timeoutDetector = host_list[0]->pimpl_cpu->sleep(timeout); diff --git a/src/surf/HostImpl.cpp b/src/surf/HostImpl.cpp index 889b934c5e..2005f1c235 100644 --- a/src/surf/HostImpl.cpp +++ b/src/surf/HostImpl.cpp @@ -24,7 +24,7 @@ namespace surf { /* Each VM has a dummy CPU action on the PM layer. This CPU action works as the constraint (capacity) of the VM in the * PM layer. If the VM does not have any active task, the dummy CPU action must be deactivated, so that the VM does not * get any CPU share in the PM layer. */ -void HostModel::ignoreEmptyVmInPmLMM() +void HostModel::ignore_empty_vm_in_pm_LMM() { /* iterate for all virtual machines */ for (s4u::VirtualMachine* const& ws_vm : vm::VirtualMachineImpl::allVms_) { @@ -51,8 +51,8 @@ static inline double has_cost(double* array, int pos) return -1.0; } -kernel::resource::Action* HostModel::executeParallelTask(int host_nb, s4u::Host** host_list, double* flops_amount, - double* bytes_amount, double rate) +kernel::resource::Action* HostModel::execute_parallel(int host_nb, s4u::Host** host_list, double* flops_amount, + double* bytes_amount, double rate) { kernel::resource::Action* action = nullptr; if ((host_nb == 1) && (has_cost(bytes_amount, 0) <= 0)) { @@ -101,11 +101,13 @@ HostImpl::HostImpl(s4u::Host* host) : piface_(host) piface_->pimpl_ = this; } -void HostImpl::getAttachedStorageList(std::vector* storages) +std::vector HostImpl::get_attached_storages() { + std::vector storages; for (auto const& s : storage_) if (s.second->getHost() == piface_->getCname()) - storages->push_back(s.second->piface_.getCname()); + storages.push_back(s.second->piface_.getCname()); + return storages; } } diff --git a/src/surf/HostImpl.hpp b/src/surf/HostImpl.hpp index 3325fd34ce..85db47a253 100644 --- a/src/surf/HostImpl.hpp +++ b/src/surf/HostImpl.hpp @@ -35,9 +35,9 @@ class XBT_PRIVATE HostModel : public kernel::resource::Model { public: HostModel() : Model() {} - virtual void ignoreEmptyVmInPmLMM(); - virtual kernel::resource::Action* executeParallelTask(int host_nb, sg_host_t* host_list, double* flops_amount, - double* bytes_amount, double rate); + virtual void ignore_empty_vm_in_pm_LMM(); + virtual kernel::resource::Action* execute_parallel(int host_nb, sg_host_t* host_list, double* flops_amount, + double* bytes_amount, double rate); }; /************ @@ -54,7 +54,7 @@ public: virtual ~HostImpl() = default; /** @brief Get the vector of storages (by names) attached to the Host */ - virtual void getAttachedStorageList(std::vector* storages); + virtual std::vector get_attached_storages(); std::map storage_; simgrid::s4u::Host* piface_ = nullptr; diff --git a/src/surf/host_clm03.cpp b/src/surf/host_clm03.cpp index 3cbf508945..3bf108254f 100644 --- a/src/surf/host_clm03.cpp +++ b/src/surf/host_clm03.cpp @@ -47,7 +47,7 @@ namespace surf { double HostCLM03Model::next_occuring_event(double now) { - ignoreEmptyVmInPmLMM(); + ignore_empty_vm_in_pm_LMM(); double min_by_cpu = surf_cpu_model_pm->next_occuring_event(now); double min_by_net = diff --git a/src/surf/ptask_L07.cpp b/src/surf/ptask_L07.cpp index 3a88525fde..2a348a9429 100644 --- a/src/surf/ptask_L07.cpp +++ b/src/surf/ptask_L07.cpp @@ -134,8 +134,8 @@ void HostL07Model::update_actions_state(double /*now*/, double delta) } } -kernel::resource::Action* HostL07Model::executeParallelTask(int host_nb, sg_host_t* host_list, double* flops_amount, - double* bytes_amount, double rate) +kernel::resource::Action* HostL07Model::execute_parallel(int host_nb, sg_host_t* host_list, double* flops_amount, + double* bytes_amount, double rate) { return new L07Action(this, host_nb, host_list, flops_amount, bytes_amount, rate); } @@ -221,7 +221,7 @@ kernel::resource::Action* NetworkL07Model::communicate(s4u::Host* src, s4u::Host host_list[1] = dst; bytes_amount[1] = size; - return hostModel_->executeParallelTask(2, host_list, flops_amount, bytes_amount, rate); + return hostModel_->execute_parallel(2, host_list, flops_amount, bytes_amount, rate); } Cpu *CpuL07Model::createCpu(simgrid::s4u::Host *host, std::vector *speedPerPstate, int core) @@ -267,7 +267,7 @@ kernel::resource::Action* CpuL07::execution_start(double size) host_list[0] = getHost(); flops_amount[0] = size; - return static_cast(model())->hostModel_->executeParallelTask(1, host_list, flops_amount, nullptr, -1); + return static_cast(model())->hostModel_->execute_parallel(1, host_list, flops_amount, nullptr, -1); } kernel::resource::Action* CpuL07::sleep(double duration) diff --git a/src/surf/ptask_L07.hpp b/src/surf/ptask_L07.hpp index 70d95568da..25364a291c 100644 --- a/src/surf/ptask_L07.hpp +++ b/src/surf/ptask_L07.hpp @@ -40,8 +40,8 @@ public: double next_occuring_event(double now) override; void update_actions_state(double now, double delta) override; - kernel::resource::Action* executeParallelTask(int host_nb, sg_host_t* host_list, double* flops_amount, - double* bytes_amount, double rate) 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 { @@ -104,8 +104,9 @@ 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(kernel::resource::Model* model, int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount, double rate);