X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4dbc84f53aac793fc159d833090e421ec0025905..9faebd7c0d01bb050bf9aa2816f8e739b7f1b476:/src/surf/AsClusterFatTree.hpp diff --git a/src/surf/AsClusterFatTree.hpp b/src/surf/AsClusterFatTree.hpp index cb3ac2465d..0b3618542d 100644 --- a/src/surf/AsClusterFatTree.hpp +++ b/src/surf/AsClusterFatTree.hpp @@ -3,24 +3,17 @@ /* 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. */ -#ifndef SURF_ROUTING_CLUSTER_FAT_TREE_HPP_ -#define SURF_ROUTING_CLUSTER_FAT_TREE_HPP_ +#ifndef SIMGRID_ROUTING_CLUSTER_FAT_TREE_HPP_ +#define SIMGRID_ROUTING_CLUSTER_FAT_TREE_HPP_ #include "src/surf/AsCluster.hpp" namespace simgrid { -namespace surf { - -/** \file surf_routing_cluster_fat_tree.cpp - * The class AsClusterFatTree describes PGFT, as introduced by Eitan Zahavi - * in "D-Mod-K Routing Providing Non-Blocking Traffic for Shift Permutations - * on Real Life Fat Trees" (2010). RLFT are PGFT with some restrictions to - * address real world constraints, which are not currently enforced. - */ +namespace routing { class XBT_PRIVATE FatTreeLink; -/** \brief A node in a fat tree. +/** \brief A node in a fat tree (@ref AsClusterFatTree). * A FatTreeNode can either be a switch or a processing node. Switches are * identified by a negative ID. This class is closely related to fat */ @@ -62,7 +55,7 @@ public: -/** \brief Link in a fat tree. +/** \brief Link in a fat tree (@ref AsClusterFatTree). * * Represents a single, duplex link in a fat tree. This is necessary to have a tree. * It is equivalent to a physical link. @@ -80,15 +73,17 @@ public: FatTreeNode *downNode; }; - /** * \class AsClusterFatTree * * \brief Fat tree representation and routing. * - * Generate fat trees according to the topology asked for. Almost everything - * is based on the work of Eitan Zahavi in "D-Mod-K Routing Providing - * Non-Blocking Traffic for Shift Permutations on Real Life Fat Trees" (2010). + * Generate fat trees according to the topology asked for, according to: + * Eitan Zahavi, D-Mod-K Routing Providing Non-Blocking Traffic for Shift + * Permutations on Real Life Fat Trees (2010). + * + * RLFT are PGFT with some restrictions to address real world constraints, + * which are not currently enforced. * * The exact topology is described in the mandatory topo_parameters * field, and follow the "h ; m_h, ..., m_1 ; w_h, ..., w_1 ; p_h, ..., p_1" format. @@ -106,9 +101,9 @@ public: */ class XBT_PRIVATE AsClusterFatTree : public AsCluster { public: - AsClusterFatTree(const char*name); - ~AsClusterFatTree(); - virtual void getRouteAndLatency(NetCard *src, NetCard *dst, + explicit AsClusterFatTree(const char*name); + ~AsClusterFatTree() override; + void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override; @@ -118,7 +113,7 @@ public: * tree is generated by calling generateLabels(), generateSwitches() and * then connection all nodes between them, using their label. */ - virtual void create_links(); + void seal() override; /** \brief Read the parameters in topo_parameters field. * * It will also store the cluster for future use.