A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
shutdown all hosted VMs when an host is turned off
[simgrid.git]
/
src
/
plugins
/
vm
/
VirtualMachineImpl.hpp
diff --git
a/src/plugins/vm/VirtualMachineImpl.hpp
b/src/plugins/vm/VirtualMachineImpl.hpp
index
39487a8
..
79c3aff
100644
(file)
--- a/
src/plugins/vm/VirtualMachineImpl.hpp
+++ b/
src/plugins/vm/VirtualMachineImpl.hpp
@@
-6,6
+6,9
@@
#include "simgrid/s4u/VirtualMachine.hpp"
#include "src/simix/ActorImpl.hpp"
#include "src/surf/HostImpl.hpp"
#include "simgrid/s4u/VirtualMachine.hpp"
#include "src/simix/ActorImpl.hpp"
#include "src/surf/HostImpl.hpp"
+#include <algorithm>
+#include <deque>
+#include <unordered_map>
#ifndef VM_INTERFACE_HPP_
#define VM_INTERFACE_HPP_
#ifndef VM_INTERFACE_HPP_
#define VM_INTERFACE_HPP_
@@
-13,6
+16,8
@@
#define GUESTOS_NOISE 100 // This value corresponds to the cost of the global action associated to the VM
// It corresponds to the cost of a VM running no tasks.
#define GUESTOS_NOISE 100 // This value corresponds to the cost of the global action associated to the VM
// It corresponds to the cost of a VM running no tasks.
+typedef struct dirty_page* dirty_page_t;
+
namespace simgrid {
namespace vm {
namespace simgrid {
namespace vm {
@@
-84,8
+89,8
@@
public:
surf::Action* action_ = nullptr;
/* Dirty pages stuff */
surf::Action* action_ = nullptr;
/* Dirty pages stuff */
+ std::unordered_map<std::string, dirty_page_t> dp_objs;
int dp_enabled = 0;
int dp_enabled = 0;
- xbt_dict_t dp_objs = nullptr;
double dp_updated_by_deleted_tasks = 0;
protected:
double dp_updated_by_deleted_tasks = 0;
protected:
@@
-116,6
+121,7
@@
protected:
*/
class VMModel : public surf::HostModel {
public:
*/
class VMModel : public surf::HostModel {
public:
+ VMModel();
void ignoreEmptyVmInPmLMM() override{};
double nextOccuringEvent(double now) override;
void ignoreEmptyVmInPmLMM() override{};
double nextOccuringEvent(double now) override;