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
Use Ptr to store disks of a HostImpl, do not care about cleanup anymore
[simgrid.git]
/
src
/
kernel
/
resource
/
VirtualMachineImpl.hpp
diff --git
a/src/kernel/resource/VirtualMachineImpl.hpp
b/src/kernel/resource/VirtualMachineImpl.hpp
index 9a377699a59efb23e399ef778009b476542aab00..8d51c7df048607dbc05ae831f72d7e9d52fa1bd6 100644
(file)
--- a/
src/kernel/resource/VirtualMachineImpl.hpp
+++ b/
src/kernel/resource/VirtualMachineImpl.hpp
@@
-1,11
+1,11
@@
-/* Copyright (c) 2004-202
2
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2004-202
3
. The SimGrid Team. All rights reserved. */
/* 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 <simgrid/s4u/VirtualMachine.hpp>
/* 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 <simgrid/s4u/VirtualMachine.hpp>
-#include "src/
surf
/HostImpl.hpp"
+#include "src/
kernel/resource
/HostImpl.hpp"
#ifndef VM_INTERFACE_HPP_
#define VM_INTERFACE_HPP_
#ifndef VM_INTERFACE_HPP_
#define VM_INTERFACE_HPP_
@@
-14,8
+14,7
@@
namespace simgrid {
extern template class XBT_PUBLIC xbt::Extendable<kernel::resource::VirtualMachineImpl>;
extern template class XBT_PUBLIC xbt::Extendable<kernel::resource::VirtualMachineImpl>;
-namespace kernel {
-namespace resource {
+namespace kernel::resource {
/************
* Resource *
/************
* Resource *
@@
-31,8
+30,11
@@
public:
explicit VirtualMachineImpl(const std::string& name, s4u::VirtualMachine* piface, s4u::Host* host, int core_amount,
size_t ramsize);
explicit VirtualMachineImpl(const std::string& name, s4u::VirtualMachine* piface, s4u::Host* host, int core_amount,
size_t ramsize);
+ explicit VirtualMachineImpl(const std::string& name, simgrid::s4u::Host* host_PM, int core_amount, size_t ramsize);
+ void set_piface(s4u::VirtualMachine* piface);
- void suspend(actor::ActorImpl* issuer);
+ void start();
+ void suspend(const actor::ActorImpl* issuer);
void resume();
void shutdown(kernel::actor::ActorImpl* issuer);
void vm_destroy();
void resume();
void shutdown(kernel::actor::ActorImpl* issuer);
void vm_destroy();
@@
-42,8
+44,8
@@
public:
/** @brief Get the physical host on which the given VM is running */
s4u::Host* get_physical_host() const { return physical_host_; }
/** @brief Get the physical host on which the given VM is running */
s4u::Host* get_physical_host() const { return physical_host_; }
- s
g_s
ize_t get_ramsize() const { return ramsize_; }
- void set_ramsize(s
g_s
ize_t ramsize) { ramsize_ = ramsize; }
+ size_t get_ramsize() const { return ramsize_; }
+ void set_ramsize(size_t ramsize) { ramsize_ = ramsize; }
s4u::VirtualMachine::State get_state() const { return vm_state_; }
void set_state(s4u::VirtualMachine::State state) { vm_state_ = state; }
s4u::VirtualMachine::State get_state() const { return vm_state_; }
void set_state(s4u::VirtualMachine::State state) { vm_state_ = state; }
@@
-61,12
+63,13
@@
public:
void add_active_exec() { active_execs_++; }
void remove_active_exec() { active_execs_--; }
void add_active_exec() { active_execs_++; }
void remove_active_exec() { active_execs_--; }
- void start_migration()
{ is_migrating_ = true; }
- void end_migration()
{ is_migrating_ = false; }
+ void start_migration()
;
+ void end_migration()
;
bool is_migrating() const { return is_migrating_; }
bool is_migrating() const { return is_migrating_; }
+ void seal() override;
private:
private:
- s4u::VirtualMachine* piface_;
+ s4u::VirtualMachine* piface_
= nullptr
;
Action* action_ = nullptr;
unsigned int active_execs_ = 0;
s4u::Host* physical_host_;
Action* action_ = nullptr;
unsigned int active_execs_ = 0;
s4u::Host* physical_host_;
@@
-80,8
+83,8
@@
private:
/*********
* Model *
*********/
/*********
* Model *
*********/
-/** @ingroup
SURF
_vm_interface
- * @brief
SURF
VM model interface class
+/** @ingroup
Model
_vm_interface
+ * @brief VM model interface class
* @details A model is an object which handle the interactions between its Resources and its Actions
*/
class XBT_PRIVATE VMModel : public HostModel {
* @details A model is an object which handle the interactions between its Resources and its Actions
*/
class XBT_PRIVATE VMModel : public HostModel {
@@
-90,14
+93,15
@@
public:
double next_occurring_event(double now) override;
void update_actions_state(double /*now*/, double /*delta*/) override{};
double next_occurring_event(double now) override;
void update_actions_state(double /*now*/, double /*delta*/) override{};
+ Action* execute_thread(const s4u::Host* host, double flops_amount, int thread_count) override;
Action* execute_parallel(const std::vector<s4u::Host*>& host_list, const double* flops_amount,
const double* bytes_amount, double rate) override
{
return nullptr;
};
Action* execute_parallel(const std::vector<s4u::Host*>& host_list, const double* flops_amount,
const double* bytes_amount, double rate) override
{
return nullptr;
};
+ Action* io_stream(s4u::Host* src_host, DiskImpl* src_disk, s4u::Host* dst_host, DiskImpl* dst_disk, double size) override { return nullptr; }
};
};
-} // namespace resource
-} // namespace kernel
+} // namespace kernel::resource
} // namespace simgrid
#endif /* VM_INTERFACE_HPP_ */
} // namespace simgrid
#endif /* VM_INTERFACE_HPP_ */