Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[simix] More generic mapping between function name and actor code
[simgrid.git] / src / surf / cpu_interface.hpp
index 5716541..032df19 100644 (file)
@@ -4,8 +4,19 @@
 /* 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. */
 
+#include <list>
+
+#include <xbt/base.h>
+#include <xbt/dynar.h>
+#include <xbt/signal.hpp>
+
+#include <simgrid/forward.h>
+#include <simgrid/s4u/host.hpp>
+
+#include "surf/datatypes.h"
 #include "surf_interface.hpp"
 #include "maxmin_private.hpp"
+#include "trace_mgr.hpp"
 
 #ifndef SURF_CPU_INTERFACE_HPP_
 #define SURF_CPU_INTERFACE_HPP_
@@ -29,6 +40,7 @@ class CpuPlugin;// FIXME:DEADCODE
 XBT_PUBLIC_CLASS CpuModel : public Model {
 public:
   CpuModel() : Model() {};
+  ~CpuModel() override;
 
   /**
    * @brief Create a Cpu
@@ -39,9 +51,9 @@ public:
    */
   virtual Cpu *createCpu(simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core)=0;
 
-  void updateActionsStateLazy(double now, double delta);
-  void updateActionsStateFull(double now, double delta);
-  bool next_occuring_event_isIdempotent() {return true;}
+  void updateActionsStateLazy(double now, double delta) override;
+  void updateActionsStateFull(double now, double delta) override;
+  bool next_occuring_event_isIdempotent() override;
 };
 
 /************
@@ -107,10 +119,9 @@ public:
   /** @brief Get the available speed of the current Cpu */
   virtual double getAvailableSpeed();
 
-  /** @brief Get the current Cpu power peak */
-  virtual double getCurrentPowerPeak();
-
-  virtual double getPowerPeakAt(int pstate_index);
+  /** @brief Get the current Cpu computational speed */
+  virtual double getPstateSpeedCurrent();
+  virtual double getPstateSpeed(int pstate_index);
 
   virtual int getNbPStates();
   virtual void setPState(int pstate_index);
@@ -162,7 +173,7 @@ public:
 
   void setState(simgrid::surf::Action::State state) override;
 
-  void updateRemainingLazy(double now);
+  void updateRemainingLazy(double now) override;
   std::list<Cpu*> cpus();
 };