X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/96cedde3cdbc0b8ffc3f096a1b65d021b0226f99..0febcd938942f794a8b764f841e0355e68c0c587:/src/surf/network_ib.hpp diff --git a/src/surf/network_ib.hpp b/src/surf/network_ib.hpp index 13ce97a6de..ad0185d4e3 100644 --- a/src/surf/network_ib.hpp +++ b/src/surf/network_ib.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2019. The SimGrid Team. +/* Copyright (c) 2014-2021. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -19,47 +19,41 @@ namespace resource { class XBT_PRIVATE IBNode; -class XBT_PRIVATE ActiveComm { -public: - IBNode* destination; - NetworkAction* action; - double init_rate; - ActiveComm() : destination(nullptr), action(nullptr), init_rate(-1){}; - virtual ~ActiveComm() = default; +struct XBT_PRIVATE ActiveComm { + IBNode* destination = nullptr; + NetworkAction* action = nullptr; + double init_rate = -1; }; class IBNode { public: - int id; + int id_; // store related links, to ease computation of the penalties - std::vector ActiveCommsUp; + std::vector active_comms_up_; // store the number of comms received from each node - std::map ActiveCommsDown; + std::map active_comms_down_; // number of comms the node is receiving - int nbActiveCommsDown; - explicit IBNode(int id) : id(id), nbActiveCommsDown(0){}; - virtual ~IBNode() = default; + int nb_active_comms_down_ = 0; + explicit IBNode(int id) : id_(id){}; }; class XBT_PRIVATE NetworkIBModel : public NetworkSmpiModel { -private: - void updateIBfactors_rec(IBNode* root, std::vector& updatedlist); - void computeIBfactors(IBNode* root); + double Bs_; + double Be_; + double ys_; + void update_IB_factors_rec(IBNode* root, std::vector& updatedlist) const; + void compute_IB_factors(IBNode* root) const; public: - NetworkIBModel(); - explicit NetworkIBModel(const char* name); - ~NetworkIBModel() override; - void updateIBfactors(NetworkAction* action, IBNode* from, IBNode* to, int remove); + explicit NetworkIBModel(const std::string& name); + NetworkIBModel(const NetworkIBModel&) = delete; + NetworkIBModel& operator=(const NetworkIBModel&) = delete; + void update_IB_factors(NetworkAction* action, IBNode* from, IBNode* to, int remove) const; - std::unordered_map active_nodes; + std::unordered_map active_nodes; std::unordered_map> active_comms; - - double Bs; - double Be; - double ys; }; -} +} // namespace resource } // namespace kernel } // namespace simgrid #endif