X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b66a56b70224f8fa165a162602120b48f67ff637..a2ccb4c7cab4de936283e30beced5b49e519bb41:/src/surf/surf_interface.hpp diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index a636b30c9a..62e74e153c 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -60,7 +60,6 @@ XBT_PUBLIC(double) surf_get_clock(void); } extern double sg_sender_gap; -XBT_PUBLIC(int) SURF_CPU_LEVEL; //Surf cpu level extern surf_callback(void, void) surfExitCallbacks; @@ -69,15 +68,6 @@ int __surf_is_absolute_file_path(const char *file_path); /*********** * Classes * ***********/ -//class Model; -typedef Model* ModelPtr; - -//class Resource; -typedef Resource* ResourcePtr; - -//class Action; -typedef Action* ActionPtr; - typedef boost::intrusive::list ActionList; typedef ActionList* ActionListPtr; typedef boost::intrusive::list_base_hook<> actionHook; @@ -129,6 +119,8 @@ public: */ virtual ~Model(); + virtual void addTraces() =0; + /** * @brief Get the name of the current Model * @@ -266,7 +258,7 @@ public: * @param name The name of the Resource * @param props Dictionary of properties associated to this Resource */ - Resource(ModelPtr model, const char *name, xbt_dict_t props); + Resource(Model *model, const char *name, xbt_dict_t props); /** * @brief Resource constructor @@ -276,8 +268,7 @@ public: * @param props Dictionary of properties associated to this Resource * @param constraint The lmm constraint associated to this Resource if it is part of a LMM component */ - Resource(ModelPtr model, const char *name, xbt_dict_t props, lmm_constraint_t constraint); - + Resource(Model *model, const char *name, xbt_dict_t props, lmm_constraint_t constraint); /** * @brief Resource constructor * @@ -286,7 +277,7 @@ public: * @param props Dictionary of properties associated to this Resource * @param stateInit the initial state of the Resource */ - Resource(ModelPtr model, const char *name, xbt_dict_t props, e_surf_resource_state_t stateInit); + Resource(Model *model, const char *name, xbt_dict_t props, e_surf_resource_state_t stateInit); /** * @brief Resource destructor @@ -298,7 +289,7 @@ public: * * @return The Model of the current Resource */ - ModelPtr getModel(); + Model *getModel(); /** * @brief Get the name of the current Resource @@ -364,7 +355,7 @@ public: private: const char *p_name; xbt_dict_t p_properties; - ModelPtr p_model; + Model *p_model; bool m_running; e_surf_resource_state_t m_stateCurrent; @@ -394,7 +385,7 @@ private: /** * @brief Common initializations for the constructors */ - void initialize(ModelPtr model, double cost, bool failed, + void initialize(Model *model, double cost, bool failed, lmm_variable_t var = NULL); public: @@ -403,19 +394,19 @@ public: * * @param model The Model associated to this Action * @param cost The cost of the Action - * @param failed If the action is impossible (e.g.: execute something on a switched off workstation) + * @param failed If the action is impossible (e.g.: execute something on a switched off host) */ - Action(ModelPtr model, double cost, bool failed); + Action(Model *model, double cost, bool failed); /** * @brief Action constructor * * @param model The Model associated to this Action * @param cost The cost of the Action - * @param failed If the action is impossible (e.g.: execute something on a switched off workstation) + * @param failed If the action is impossible (e.g.: execute something on a switched off host) * @param var The lmm variable associated to this Action if it is part of a LMM component */ - Action(ModelPtr model, double cost, bool failed, lmm_variable_t var); + Action(Model *model, double cost, bool failed, lmm_variable_t var); /** * @brief Action destructor @@ -593,14 +584,12 @@ public: */ virtual void setPriority(double priority); -#ifdef HAVE_TRACING /** * @brief Set the category of the current Action * * @param category The new category of the current Action */ void setCategory(const char *category); -#endif /** * @brief Get the remaining time of the current action after updating the resource @@ -625,7 +614,6 @@ public: /** * @brief Get the state set in which the action is - * @details [TODO] * * @return The state set in which the action is */ @@ -633,7 +621,7 @@ public: s_xbt_swag_hookup_t p_stateHookup; - ModelPtr getModel() {return p_model;} + Model *getModel() {return p_model;} protected: ActionListPtr p_stateSet; @@ -644,41 +632,6 @@ protected: double m_finish; /**< finish time : this is modified during the run and fluctuates until the task is completed */ private: - int resourceUsed(void *resource_id); - - /** - * @brief Share the resources to the actions - * @details [TODO] - * - * @param now [TODO] - * @return in how much time the next action may terminatedescription] - */ - double shareResources(double now); - - /** - * @brief Update the current action state - * @details [TODO] - * - * @param now [TODO] - * @param delta [TODO] - */ - void updateActionsState(double now, double delta); - - /** - * @brief Update the [TODO] - * @details [TODO] - * - * @param id [TODO] - * @param event_type [TODO] - * @param value [TODO] - * @param time [TODO] - */ - void updateResourceState(void *id, tmgr_trace_event_t event_type, - double value, double time); - - ActionLmmListPtr p_modifiedSet; - xbt_heap_t p_actionHeap; - int m_selectiveUpdate; bool m_failed; double m_start; /**< start time */ char *p_category; /**< tracing category for categorized resource utilization monitoring */ @@ -687,7 +640,7 @@ private: int m_latencyLimited; /**< Set to 1 if is limited by latency, 0 otherwise */ #endif double m_cost; - ModelPtr p_model; + Model *p_model; void *p_data; /**< for your convenience */ /* LMM */ @@ -695,6 +648,7 @@ public: virtual void updateRemainingLazy(double now); void heapInsert(xbt_heap_t heap, double key, enum heap_action_type hat); void heapRemove(xbt_heap_t heap); + void heapUpdate(xbt_heap_t heap, double key, enum heap_action_type hat); void updateIndexHeap(int i); lmm_variable_t getVariable() {return p_variable;} double getLastUpdate() {return m_lastUpdate;}