X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ff498d2432d650dc50282b04e3bd175a588eef8c..7e1931bdf65d5bc5f13b64688dc215e1585931c9:/src/surf/surf_interface.hpp diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index 82ca23eb82..ef686755f1 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -6,6 +6,7 @@ #ifndef SURF_MODEL_H_ #define SURF_MODEL_H_ +#include "src/internal_config.h" #include "src/surf/surf_private.hpp" #include @@ -72,16 +73,22 @@ XBT_PUBLIC void surf_cpu_model_init_Cas01(); * * @see surf_host_model_init_SMPI() */ +#if !HAVE_SMPI +XBT_ATTRIB_NORETURN +#endif XBT_PUBLIC void surf_network_model_init_SMPI(); /** @ingroup SURF_models * @brief Same as network model 'LagrangeVelho', only with different correction factors. * - * This model impelments a variant of the contention model on Infinband networks based on + * This model implements a variant of the contention model on Infiniband networks based on * the works of Jérôme Vienne : http://mescal.imag.fr/membres/jean-marc.vincent/index.html/PhD/Vienne.pdf * * @see surf_host_model_init_IB() */ +#if !HAVE_SMPI +XBT_ATTRIB_NORETURN +#endif XBT_PUBLIC void surf_network_model_init_IB(); /** @ingroup SURF_models @@ -108,7 +115,7 @@ XBT_PUBLIC void surf_network_model_init_Constant(); /** @ingroup SURF_models * @brief Initializes the platform with the network model CM02 * - * You sould call this function by yourself only if you plan using surf_host_model_init_compound. + * You should call this function by yourself only if you plan using surf_host_model_init_compound. * See comments in the code for more information. */ XBT_PUBLIC void surf_network_model_init_CM02(); @@ -121,51 +128,15 @@ XBT_PUBLIC void surf_network_model_init_CM02(); * * @see surf_host_model_init_NS3() */ +#if !SIMGRID_HAVE_NS3 +XBT_ATTRIB_NORETURN +#endif XBT_PUBLIC void surf_network_model_init_NS3(); -/** @ingroup SURF_models - * @brief Initializes the platform with the network model Reno - * - * The problem is related to max( sum( arctan(C * Df * xi) ) ). - * - * Reference: - * [LOW03] S. H. Low. A duality model of TCP and queue management algorithms. - * IEEE/ACM Transaction on Networking, 11(4):525-536, 2003. - * - * Call this function only if you plan using surf_host_model_init_compound. - */ -XBT_PUBLIC void surf_network_model_init_Reno(); - -/** @ingroup SURF_models - * @brief Initializes the platform with the network model Reno2 - * - * The problem is related to max( sum( arctan(C * Df * xi) ) ). - * - * Reference: - * [LOW01] S. H. Low. A duality model of TCP and queue management algorithms. - * IEEE/ACM Transaction on Networking, 11(4):525-536, 2003. - * - * Call this function only if you plan using surf_host_model_init_compound. - */ -XBT_PUBLIC void surf_network_model_init_Reno2(); - -/** @ingroup SURF_models - * @brief Initializes the platform with the network model Vegas - * - * This problem is related to max( sum( a * Df * ln(xi) ) ) which is equivalent to the proportional fairness. - * - * Reference: - * [LOW03] S. H. Low. A duality model of TCP and queue management algorithms. - * IEEE/ACM Transaction on Networking, 11(4):525-536, 2003. - * - * Call this function only if you plan using surf_host_model_init_compound. - */ -XBT_PUBLIC void surf_network_model_init_Vegas(); - /** @ingroup SURF_models * @brief Initializes the platform with the current best network and cpu models at hand * - * This platform model seperates the host model and the network model. + * This platform model separates the host model and the network model. * The host model will be initialized with the model compound, the network model with the model LV08 (with cross * traffic support) and the CPU model with the model Cas01. * Such model is subject to modification with warning in the ChangeLog so monitor it! @@ -202,6 +173,8 @@ XBT_PUBLIC void surf_host_model_init_ptask_L07(); */ XBT_PUBLIC void surf_storage_model_init_default(); +XBT_PUBLIC void surf_disk_model_init_default(); + /* -------------------- * Model Descriptions * -------------------- */ @@ -216,9 +189,9 @@ XBT_PUBLIC int find_model_description(const std::vector& table); #define SIMGRID_REGISTER_PLUGIN(id, desc, init) \ - static void XBT_ATTRIB_CONSTRUCTOR(800) simgrid_##id##_plugin_register() \ + static void XBT_ATTRIB_CONSTRUCTOR(800) _XBT_CONCAT3(simgrid_, id, _plugin_register)() \ { \ - simgrid_add_plugin_description(#id, desc, init); \ + simgrid_add_plugin_description(_XBT_STRINGIFY(id), (desc), (init)); \ } XBT_PUBLIC void simgrid_add_plugin_description(const char* name, const char* description, void_f_void_t init_fun); @@ -232,6 +205,8 @@ XBT_PUBLIC_DATA const std::vector surf_optimization_mo XBT_PUBLIC_DATA const std::vector surf_cpu_model_description; /** @brief The list of all network models (pick one with --cfg=network/model) */ XBT_PUBLIC_DATA const std::vector surf_network_model_description; +/** @brief The list of all disk models (pick one with --cfg=disk/model) */ +XBT_PUBLIC_DATA const std::vector surf_disk_model_description; /** @brief The list of all storage models (pick one with --cfg=storage/model) */ XBT_PUBLIC_DATA const std::vector surf_storage_model_description; /** @brief The list of all host models (pick one with --cfg=host/model:) */