X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fe304706848f0a64477d4687b3ea97d5b9a0c35c..5156a24c2e6a1695071db9450126c3cc08bf1734:/src/surf/surf_interface.hpp diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index cd88f89f99..465ad06bcc 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2020. The SimGrid Team. All rights reserved. */ /* 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. */ @@ -8,6 +8,7 @@ #include "src/internal_config.h" #include "src/surf/surf_private.hpp" +#include "xbt/function_types.h" #include #include @@ -81,7 +82,7 @@ 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() @@ -115,7 +116,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(); @@ -133,49 +134,10 @@ 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! @@ -212,6 +174,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 * -------------------- */ @@ -226,9 +190,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); @@ -242,6 +206,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:) */