X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/af4023f2adc7976a736077c23829d217e7b89637..ebc355d0c96552d0bc2aa301d90723490337bca3:/src/surf/network_ib.hpp diff --git a/src/surf/network_ib.hpp b/src/surf/network_ib.hpp index df41a8873a..f15fcfd1a9 100644 --- a/src/surf/network_ib.hpp +++ b/src/surf/network_ib.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2017. The SimGrid Team. +/* Copyright (c) 2014-2019. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -10,57 +10,58 @@ #include "src/surf/network_smpi.hpp" #include "xbt/base.h" -#include +#include #include namespace simgrid { - namespace surf { +namespace kernel { +namespace resource { - class XBT_PRIVATE IBNode; +class XBT_PRIVATE IBNode; - class XBT_PRIVATE ActiveComm{ - public : - //IBNode* origin; - IBNode* destination; - NetworkAction *action; - double init_rate; - ActiveComm() : destination(nullptr),action(nullptr),init_rate(-1){}; - virtual ~ActiveComm() = default; - }; +class XBT_PRIVATE ActiveComm { +public: + IBNode* destination; + NetworkAction* action; + double init_rate; + ActiveComm() : destination(nullptr), action(nullptr), init_rate(-1){}; + virtual ~ActiveComm() = default; +}; - class IBNode{ - public : - int id; - //store related links, to ease computation of the penalties - std::vector ActiveCommsUp; - //store the number of comms received from each node - std::map ActiveCommsDown; - //number of comms the node is receiving - int nbActiveCommsDown; - explicit IBNode(int id) : id(id),nbActiveCommsDown(0){}; - virtual ~IBNode() = default; - }; +class IBNode { +public: + int id; + // store related links, to ease computation of the penalties + std::vector ActiveCommsUp; + // store the number of comms received from each node + std::map ActiveCommsDown; + // number of comms the node is receiving + int nbActiveCommsDown; + explicit IBNode(int id) : id(id), nbActiveCommsDown(0){}; + virtual ~IBNode() = default; +}; - class XBT_PRIVATE NetworkIBModel : public NetworkSmpiModel { - private: - void updateIBfactors_rec(IBNode* root, std::vector& updatedlist); - void computeIBfactors(IBNode *root); - public: - NetworkIBModel(); - explicit NetworkIBModel(const char *name); - ~NetworkIBModel() override; - void updateIBfactors(NetworkAction *action, IBNode *from, IBNode * to, int remove); +class XBT_PRIVATE NetworkIBModel : public NetworkSmpiModel { +private: + void updateIBfactors_rec(IBNode* root, std::vector& updatedlist); + void computeIBfactors(IBNode* root); - std::unordered_map active_nodes; - std::unordered_map> active_comms; +public: + NetworkIBModel(); + explicit NetworkIBModel(const char* name); + NetworkIBModel(const NetworkIBModel&) = delete; + NetworkIBModel& operator=(const NetworkIBModel&) = delete; + ~NetworkIBModel() override; + void updateIBfactors(NetworkAction* action, IBNode* from, IBNode* to, int remove); - double Bs; - double Be; - double ys; + std::unordered_map active_nodes; + std::unordered_map> active_comms; - }; - - } + double Bs; + double Be; + double ys; +}; } - +} // namespace kernel +} // namespace simgrid #endif