X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f70ee620c8df5cdf749f4dfbc9777359cd3cb12a..62b54dd272b6f669c0a9b231991d572c3bec52b5:/src/include/surf/surf.h diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index d0f362e3c0..a6bb939848 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2014. The SimGrid Team. +/* Copyright (c) 2004-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -12,8 +12,8 @@ #include "xbt/dict.h" #include "xbt/graph.h" #include "xbt/misc.h" -#include "portable.h" #include "xbt/config.h" +#include "src/portable.h" #include "surf/datatypes.h" #include "xbt/lib.h" #include "surf/surf_routing.h" @@ -25,17 +25,13 @@ SG_BEGIN_DECL() /* Actions and models are highly connected structures... */ /* user-visible parameters */ -extern double sg_tcp_gamma; -extern double sg_sender_gap; -extern double sg_latency_factor; -extern double sg_bandwidth_factor; -extern double sg_weight_S_parameter; -extern int sg_network_crosstraffic; -#ifdef HAVE_GTNETS -extern double sg_gtnets_jitter; -extern int sg_gtnets_jitter_seed; -#endif -extern xbt_dynar_t surf_path; +extern XBT_PRIVATE double sg_tcp_gamma; +extern XBT_PRIVATE double sg_sender_gap; +extern XBT_PRIVATE double sg_latency_factor; +extern XBT_PRIVATE double sg_bandwidth_factor; +extern XBT_PRIVATE double sg_weight_S_parameter; +extern XBT_PRIVATE int sg_network_crosstraffic; +extern XBT_PRIVATE xbt_dynar_t surf_path; typedef enum { SURF_NETWORK_ELEMENT_NULL = 0, /* NULL */ @@ -59,8 +55,8 @@ class NetworkCm02Link; class Action; class ActionLmm; class StorageActionLmm; -struct As; -struct RoutingEdge; +class As; +class RoutingEdge; class RoutingPlatf; #else typedef struct Model Model; @@ -148,8 +144,6 @@ XBT_PUBLIC(void) model_help(const char *category, /** @ingroup SURF_interface * @brief Action states * - * Action states. - * * @see Action */ typedef enum { @@ -193,17 +187,8 @@ static inline void *surf_storage_resource_by_name(const char *name){ return xbt_lib_get_elm_or_null(storage_lib, name); } -XBT_PUBLIC(void *) surf_as_cluster_get_backbone(AS_t as); -XBT_PUBLIC(void) surf_as_cluster_set_backbone(AS_t as, void* backbone); - /** @{ @ingroup SURF_c_bindings */ -/** @brief Get the name of a surf model (dont rely on exact value) - * - * This is implemented using typeid(), so it may change with the compiler - */ -XBT_PUBLIC(const char *) surf_model_name(surf_model_t model); - /** * @brief Pop an action from the done actions set * @@ -312,32 +297,20 @@ static inline void surf_host_set_state(surf_host_t host, e_surf_resource_state_t surf_resource_set_state((surf_cpp_resource_t)host, state); } -/** - * @brief Get the speed of the cpu associated to a host - * - * @param resource The surf host - * @param load [description] - * - * @return [description] - */ +/** @brief Get the speed of the cpu associated to a host */ XBT_PUBLIC(double) surf_host_get_speed(surf_resource_t resource, double load); -/** - * @brief Get the available speed of cpu associated to a host - * - * @param resource The surf host - * @return [description] - */ -XBT_PUBLIC(double) surf_host_get_available_speed(surf_resource_t resource); +/** @brief Get the available speed of cpu associated to a host */ +XBT_PUBLIC(double) surf_host_get_available_speed(surf_resource_t host); /** @brief Get the number of cores of the cpu associated to a host */ -XBT_PUBLIC(int) surf_host_get_core(surf_resource_t resource); +XBT_PUBLIC(int) surf_host_get_core(surf_resource_t host); /** @brief Create a computation action on the given host */ -XBT_PUBLIC(surf_action_t) surf_host_execute(surf_resource_t resource, double size); +XBT_PUBLIC(surf_action_t) surf_host_execute(surf_resource_t host, double size); /** @brief Create a sleep action on the given host */ -XBT_PUBLIC(surf_action_t) surf_host_sleep(surf_resource_t resource, double duration); +XBT_PUBLIC(surf_action_t) surf_host_sleep(surf_resource_t host, double duration); /** @brief Create a file opening action on the given host */ XBT_PUBLIC(surf_action_t) surf_host_open(surf_resource_t host, const char* fullpath); @@ -909,23 +882,9 @@ XBT_PUBLIC(void) surf_network_model_init_Constant(void); */ XBT_PUBLIC(void) surf_network_model_init_CM02(void); -#ifdef HAVE_GTNETS -/** \ingroup SURF_models - * \brief Initializes the platform with the network model GTNETS - * \param filename XML platform file name - * - * This function is called by surf_host_model_init_GTNETS - * or by yourself only if you plan using surf_host_model_init_compound - * - * \see surf_host_model_init_GTNETS() - */ -XBT_PUBLIC(void) surf_network_model_init_GTNETS(void); -#endif - #ifdef HAVE_NS3 /** \ingroup SURF_models * \brief Initializes the platform with the network model NS3 - * \param filename XML platform file name * * This function is called by surf_host_model_init_NS3 * or by yourself only if you plan using surf_host_model_init_compound @@ -937,7 +896,6 @@ XBT_PUBLIC(void) surf_network_model_init_NS3(void); /** \ingroup SURF_models * \brief Initializes the platform with the network model Reno - * \param filename XML platform file name * * The problem is related to max( sum( arctan(C * Df * xi) ) ). * @@ -952,7 +910,6 @@ XBT_PUBLIC(void) surf_network_model_init_Reno(void); /** \ingroup SURF_models * \brief Initializes the platform with the network model Reno2 - * \param filename XML platform file name * * The problem is related to max( sum( arctan(C * Df * xi) ) ). * @@ -967,7 +924,6 @@ XBT_PUBLIC(void) surf_network_model_init_Reno2(void); /** \ingroup SURF_models * \brief Initializes the platform with the network model Vegas - * \param filename XML platform file name * * This problem is related to max( sum( a * Df * ln(xi) ) ) which is equivalent * to the proportional fairness. @@ -1080,11 +1036,10 @@ XBT_PUBLIC_DATA(s_surf_model_description_t) /** \ingroup SURF_models * \brief List of initialized models */ -XBT_PUBLIC_DATA(xbt_dynar_t) model_list; -XBT_PUBLIC_DATA(xbt_dynar_t) model_list_invoke; +XBT_PUBLIC_DATA(xbt_dynar_t) all_existing_models; /** \ingroup SURF_simulation - * \brief List of hosts that have juste restarted and whose autorestart process should be restarted. + * \brief List of hosts that have just restarted and whose autorestart process should be restarted. */ XBT_PUBLIC_DATA(xbt_dynar_t) host_that_restart; @@ -1209,5 +1164,12 @@ int instr_platform_traced (void); xbt_graph_t instr_routing_platform_graph (void); void instr_routing_platform_graph_export_graphviz (xbt_graph_t g, const char *filename); +/********** Routing **********/ +void routing_AS_begin(sg_platf_AS_cbarg_t AS); +void routing_AS_end(void); +RoutingEdge *routing_add_host(As* as, sg_platf_host_cbarg_t host); +void routing_cluster_add_backbone(void* bb); +As* routing_get_current(); + SG_END_DECL() #endif /* _SURF_SURF_H */