X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c1139d8e995d20f3afebc6cb69c66c155348dbdd..b88233071eaaef45c854e84a8c7b460ab5793b7d:/include/simgrid/kernel/routing/DragonflyZone.hpp diff --git a/include/simgrid/kernel/routing/DragonflyZone.hpp b/include/simgrid/kernel/routing/DragonflyZone.hpp index f5063d97e5..dfd6bf2eda 100644 --- a/include/simgrid/kernel/routing/DragonflyZone.hpp +++ b/include/simgrid/kernel/routing/DragonflyZone.hpp @@ -7,6 +7,7 @@ #define SURF_ROUTING_CLUSTER_DRAGONFLY_HPP_ #include +#include namespace simgrid { namespace kernel { @@ -17,10 +18,10 @@ public: unsigned int group_; unsigned int chassis_; unsigned int blade_; - surf::LinkImpl** blue_links_ = nullptr; - surf::LinkImpl** black_links_ = nullptr; - surf::LinkImpl** green_links_ = nullptr; - surf::LinkImpl** my_nodes_ = nullptr; + resource::LinkImpl** blue_links_ = nullptr; + resource::LinkImpl** black_links_ = nullptr; + resource::LinkImpl** green_links_ = nullptr; + resource::LinkImpl** my_nodes_ = nullptr; DragonflyRouter(int i, int j, int k); ~DragonflyRouter(); }; @@ -60,20 +61,24 @@ public: */ class XBT_PUBLIC DragonflyZone : public ClusterZone { public: - explicit DragonflyZone(NetZone* father, std::string name); + explicit DragonflyZone(NetZoneImpl* father, std::string name, resource::NetworkModel* netmodel); ~DragonflyZone() override; // void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) override; - void getLocalRoute(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override; + void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override; void parse_specific_arguments(ClusterCreationArgs* cluster) override; void seal() override; - void generateRouters(); - void generateLinks(); - void createLink(const std::string& id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown); - void rankId_to_coords(int rankId, unsigned int (*coords)[4]); + void rankId_to_coords(int rank_id, unsigned int coords[4]); private: - ClusterCreationArgs* cluster_ = nullptr; + void generate_routers(); + void generate_links(); + void create_link(const std::string& id, int numlinks, resource::LinkImpl** linkup, resource::LinkImpl** linkdown); + + simgrid::s4u::Link::SharingPolicy sharing_policy_; + double bw_ = 0; + double lat_ = 0; + unsigned int num_nodes_per_blade_ = 0; unsigned int num_blades_per_chassis_ = 0; unsigned int num_chassis_per_group_ = 0;