Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Clean bound in surf
authorPaul Bédaride <paul.bedaride@gmail.com>
Wed, 5 Feb 2014 09:29:38 +0000 (10:29 +0100)
committerPaul Bédaride <paul.bedaride@gmail.com>
Wed, 12 Feb 2014 09:53:02 +0000 (10:53 +0100)
src/surf/cpu_interface.cpp
src/surf/cpu_interface.hpp
src/surf/cpu_ti.hpp
src/surf/maxmin.cpp
src/surf/surf_interface.cpp
src/surf/surf_interface.hpp

index c77302e..e735c61 100644 (file)
@@ -240,17 +240,6 @@ void CpuAction::updateRemainingLazy(double now)
   m_lastValue = lmm_variable_getvalue(getVariable());
 }
 
-void CpuAction::setBound(double bound)
-{
-  XBT_IN("(%p,%g)", this, bound);
-  m_bound = bound;
-  lmm_update_variable_bound(getModel()->getMaxminSystem(), getVariable(), bound);
-
-  if (getModel()->getUpdateMechanism() == UM_LAZY)
-       heapRemove(getModel()->getActionHeap());
-  XBT_OUT();
-}
-
 /*
  *
  * This function formulates a constraint problem that pins a given task to
index 101359f..c72e0f5 100644 (file)
@@ -216,7 +216,7 @@ public:
   /**
    * @brief CpuAction constructor
    */
-  CpuAction(): m_bound(0) {};
+  CpuAction() {};
 
   /**
    * @brief CpuAction constructor
@@ -226,7 +226,7 @@ public:
    * @param failed [TODO]
    */
   CpuAction(ModelPtr model, double cost, bool failed)
-    : Action(model, cost, failed), m_bound(0) {} //FIXME:REMOVE
+    : Action(model, cost, failed) {} //FIXME:REMOVE
 
   /**
    * @brief CpuAction constructor
@@ -237,7 +237,7 @@ public:
    * @param var The lmm variable associated to this CpuAction if it is part of a LMM component
    */
   CpuAction(ModelPtr model, double cost, bool failed, lmm_variable_t var)
-    : Action(model, cost, failed, var), m_bound(0) {}
+    : Action(model, cost, failed, var) {}
 
   /**
    * @brief Set the affinity of the current CpuAction
@@ -248,25 +248,10 @@ public:
    */
   virtual void setAffinity(CpuPtr cpu, unsigned long mask);
 
-  /**
-   * @brief Set the bound of current CpuAction
-   * @details [TODO]
-   * 
-   * @param bound [TODO]
-   */
-  virtual void setBound(double bound);
-
-  /**
-   * @brief Get the bound of the current CpuAction
-   *
-   * @return The bound of the current CpuAction
-   */
-  double getBound() { return m_bound; }
-
   void setState(e_surf_action_state_t state);
 
   void updateRemainingLazy(double now);
-  double m_bound;                /*< the capping of the CPU use  */
+
 };
 
 #endif /* SURF_CPU_INTERFACE_HPP_ */
index 0d9daa6..4e1ac71 100644 (file)
@@ -176,7 +176,6 @@ public:
   void setPriority(double priority);
   double getRemains();
   void setAffinity(CpuPtr /*cpu*/, unsigned long /*mask*/) {};
-  void setBound(double /*bound*/) {};
 
   CpuTiPtr p_cpu;
   int m_indexHeap;
index 1c584ec..bfdc22c 100644 (file)
@@ -252,7 +252,7 @@ double lmm_variable_getvalue(lmm_variable_t var)
   return (var->value);
 }
 
-XBT_INLINE double lmm_variable_getbound(lmm_variable_t var)
+double lmm_variable_getbound(lmm_variable_t var)
 {
   return (var->bound);
 }
index 2654254..4378973 100644 (file)
@@ -850,6 +850,22 @@ void Action::setState(e_surf_action_state_t state)
   XBT_OUT();
 }
 
+double Action::getBound()
+{
+  return (p_variable) ? lmm_variable_getbound(p_variable) : 0;
+}
+
+void Action::setBound(double bound)
+{
+  XBT_IN("(%p,%g)", this, bound);
+  if (p_variable)
+    lmm_update_variable_bound(getModel()->getMaxminSystem(), getVariable(), bound);
+
+  if (getModel()->getUpdateMechanism() == UM_LAZY)
+       heapRemove(getModel()->getActionHeap());
+  XBT_OUT();
+}
+
 double Action::getStartTime()
 {
   return m_start;
index 27774f3..2b75d00 100644 (file)
@@ -442,6 +442,20 @@ public:
   virtual void setState(e_surf_action_state_t state);
 
   /**
+   * @brief Get the bound of the current Action
+   * 
+   * @return The bound of the current Action
+   */
+  double getBound();
+
+  /**
+   * @brief Set the bound of the current Action
+   *
+   * @param bound The new bound of the current Action
+   */
+  void setBound(double bound);
+
+  /**
    * @brief Get the start time of the current action
    * 
    * @return The start time of the current action