SimGrid
3.21
Versatile Simulation of Distributed Systems
|
#include "simgrid/plugins/dvfs.h"
#include "simgrid/plugins/load.h"
#include "simgrid/s4u/Engine.hpp"
#include "src/internal_config.h"
#include "src/kernel/activity/ExecImpl.hpp"
#include "src/plugins/vm/VirtualMachineImpl.hpp"
#include <xbt/config.hpp>
#include <boost/algorithm/string.hpp>
Classes | |
class | simgrid::plugin::dvfs::Governor |
Add this to your host tag: More... | |
class | simgrid::plugin::dvfs::Performance |
The linux kernel doc describes this governor as follows: https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt. More... | |
class | simgrid::plugin::dvfs::Powersave |
The linux kernel doc describes this governor as follows: https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt. More... | |
class | simgrid::plugin::dvfs::OnDemand |
The linux kernel doc describes this governor as follows: https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt. More... | |
class | simgrid::plugin::dvfs::Conservative |
This is the conservative governor, which is very similar to the OnDemand governor. More... | |
Namespaces | |
simgrid | |
simgrid::plugin | |
simgrid::plugin::dvfs | |
Functions | |
XBT_LOG_NEW_DEFAULT_SUBCATEGORY (surf_plugin_dvfs, surf, "Logging specific to the SURF HostDvfs plugin") | |
static void | on_host_added (simgrid::s4u::Host &host) |
void | sg_host_dvfs_plugin_init () |
Initializes the HostDvfs plugin. More... | |
Variables | |
static simgrid::config::Flag< double > | cfg_sampling_rate ("plugin/dvfs/sampling-rate", {"plugin/dvfs/sampling_rate"}, "How often should the dvfs plugin check whether the frequency needs to be changed?", 0.1, [](double val){if(val !=0.1) sg_host_dvfs_plugin_init();}) |
static simgrid::config::Flag< std::string > | cfg_governor ("plugin/dvfs/governor", "Which Governor should be used that adapts the CPU frequency?", "performance", std::map< std::string, std::string >({ {"conservative", "TODO: Doc"}, {"ondemand", "TODO: Doc"}, {"performance", "TODO: Doc"}, {"powersave", "TODO: Doc"}, }), [](std::string val) { if(val !="performance") sg_host_dvfs_plugin_init();}) |
static simgrid::config::Flag< int > | cfg_min_pstate ("plugin/dvfs/min-pstate", {"plugin/dvfs/min_pstate"}, "Which pstate is the minimum (and hence fastest) pstate for this governor?", 0, [](int index) {}) |
static const int | max_pstate_not_limited = -1 |
static simgrid::config::Flag< int > | cfg_max_pstate ("plugin/dvfs/max-pstate", {"plugin/dvfs/max_pstate"}, "Which pstate is the maximum (and hence slowest) pstate for this governor?", max_pstate_not_limited, [](int index) {}) |
XBT_LOG_NEW_DEFAULT_SUBCATEGORY | ( | surf_plugin_dvfs | , |
surf | , | ||
"Logging specific to the SURF HostDvfs plugin" | |||
) |
|
static |
This lambda function is the function the actor (daemon) will execute all the time - in the case of the dvfs plugin, this controls when to lower/raise the frequency.
|
static |
|
static |
|
static |
|
static |
|
static |