A class that provides basic simulation methods. Once the simulation object has been explicitly or implicitly destroyed, then any call to the WRENCH APIs has undefied behavior (due to memory being de-allocated).
More...
#include <Simulation.h>
|
static double | getHostFlopRate (std::string hostname) |
| Get the flop rate of one core of a host given a hostname. More...
|
|
static double | getHostMemoryCapacity (std::string hostname) |
| Get the memory capacity of a host given a hostname. More...
|
|
static std::vector< std::string > | getHostnameList () |
| Get the list of names of all the hosts in the platform. More...
|
|
static std::map< std::string, std::vector< std::string > > | getHostnameListByCluster () |
| Get the list of names of all the hosts in each cluster composing the platform. More...
|
|
static unsigned long | getHostNumCores (std::string hostname) |
| Get the number of cores of a host given a hostname. More...
|
|
static std::vector< int > | getListOfPstates (const std::string &hostname) |
| Get the list of power states available for a host. More...
|
|
static double | getMaxPowerConsumption (const std::string &hostname) |
| Get the maximum power consumption for the host (i.e., 100% utilization) at its current pstate. More...
|
|
static double | getMinPowerConsumption (const std::string &hostname) |
| Get the minimum power consumption for the host (i.e., idling) at its current pstate. More...
|
|
static int | getNumberofPstates (const std::string &hostname) |
| Get the total number of power states of a host. More...
|
|
A class that provides basic simulation methods. Once the simulation object has been explicitly or implicitly destroyed, then any call to the WRENCH APIs has undefied behavior (due to memory being de-allocated).
◆ add()
template<class T >
std::shared_ptr<T> wrench::Simulation::add |
( |
T * |
t | ) |
|
|
inline |
Method to add a service to the simulation.
- Template Parameters
-
T | The service class (base class is Service) |
- Parameters
-
- Returns
- a shared_ptr to the service object
◆ getEnergyConsumed() [1/2]
double wrench::Simulation::getEnergyConsumed |
( |
const std::string & |
hostname | ) |
|
Obtains the current energy consumption of a host.
- Parameters
-
- Returns
- current energy consumption in joules
- Exceptions
-
◆ getEnergyConsumed() [2/2]
std::map< std::string, double > wrench::Simulation::getEnergyConsumed |
( |
const std::vector< std::string > & |
hostnames | ) |
|
Obtains the current energy consumption of a host.
- Parameters
-
hostnames | the list of hostnames |
- Returns
- current energy consumption in joules for each host, as a map indexed by hostnames
- Exceptions
-
◆ getHostFlopRate()
double wrench::Simulation::getHostFlopRate |
( |
std::string |
hostname | ) |
|
|
static |
Get the flop rate of one core of a host given a hostname.
- Parameters
-
- Returns
- a flop rate (flop / sec)
◆ getHostMemoryCapacity()
double wrench::Simulation::getHostMemoryCapacity |
( |
std::string |
hostname | ) |
|
|
static |
Get the memory capacity of a host given a hostname.
- Parameters
-
- Returns
- a memory capacity in bytes
◆ getHostnameList()
std::vector< std::string > wrench::Simulation::getHostnameList |
( |
| ) |
|
|
static |
Get the list of names of all the hosts in the platform.
- Returns
- a vector of hostnames
◆ getHostnameListByCluster()
std::map< std::string, std::vector< std::string > > wrench::Simulation::getHostnameListByCluster |
( |
| ) |
|
|
static |
Get the list of names of all the hosts in each cluster composing the platform.
- Returns
- a map of lists of hosts, indexed by cluster name
◆ getHostNumCores()
unsigned long wrench::Simulation::getHostNumCores |
( |
std::string |
hostname | ) |
|
|
static |
Get the number of cores of a host given a hostname.
- Parameters
-
- Returns
- a number of cores
◆ getListOfPstates()
std::vector< int > wrench::Simulation::getListOfPstates |
( |
const std::string & |
hostname | ) |
|
|
static |
Get the list of power states available for a host.
- Parameters
-
- Returns
- a list of power states available for the host (as specified in the platform xml description file)
◆ getMaxPowerConsumption()
double wrench::Simulation::getMaxPowerConsumption |
( |
const std::string & |
hostname | ) |
|
|
static |
Get the maximum power consumption for the host (i.e., 100% utilization) at its current pstate.
- Parameters
-
- Returns
- The "100% used" power consumption (as specified in the platform xml description file)
◆ getMinPowerConsumption()
double wrench::Simulation::getMinPowerConsumption |
( |
const std::string & |
hostname | ) |
|
|
static |
Get the minimum power consumption for the host (i.e., idling) at its current pstate.
- Parameters
-
- Returns
- The "idling" power consumption (as specified in the platform xml description file)
◆ getNumberofPstates()
int wrench::Simulation::getNumberofPstates |
( |
const std::string & |
hostname | ) |
|
|
static |
Get the total number of power states of a host.
- Parameters
-
- Returns
- The number of power states available for the host (as specified in the platform xml description file)
◆ getOutput()
Get the simulation output object.
- Returns
- simulation output object
◆ init()
void wrench::Simulation::init |
( |
int * |
argc, |
|
|
char ** |
argv |
|
) |
| |
Initialize the simulation, which parses out WRENCH-specific and SimGrid-specific command-line arguments, if any.
- Parameters
-
argc | main()'s argument count |
argv | main()'s argument list |
- Exceptions
-
◆ instantiatePlatform()
void wrench::Simulation::instantiatePlatform |
( |
std::string |
filename | ) |
|
Instantiate a simulated platform.
- Parameters
-
filename | the path to a SimGrid XML platform description file |
- Exceptions
-
◆ launch()
void wrench::Simulation::launch |
( |
| ) |
|
Launch the simulation.
- Exceptions
-
◆ stageFile() [1/2]
Stage a copy of a file at a storage service in the root of the (unique) mount point.
- Parameters
-
file | a file to stage on a storage service |
storage_service | a storage service |
- Exceptions
-
std::runtime_error | |
std::invalid_argument | |
◆ stageFile() [2/2]
void wrench::Simulation::stageFile |
( |
WorkflowFile * |
file, |
|
|
std::shared_ptr< StorageService > |
storage_service, |
|
|
std::string |
directory_absolute_path |
|
) |
| |
Stage a copy of a file at a storage service in a particular directory.
- Parameters
-
file | a file to stage on a storage service |
storage_service | a storage service |
directory_absolute_path | the absolute path of the directory where the file should be stored |
- Exceptions
-
std::runtime_error | |
std::invalid_argument | |
The documentation for this class was generated from the following files: