|
SimGrid
3.10
Versatile Simulation of Distributed Systems
|
Functions for creating the environment and launching the simulation. More...
Functions | |
| void | SD_init (int *argc, char **argv) |
| Initializes SD internal data. | |
| void | SD_config (const char *key, const char *value) |
| set a configuration variable | |
| void | SD_application_reinit (void) |
| Reinits the application part of the simulation (experimental feature) | |
| void | SD_create_environment (const char *platform_file) |
| Creates the environment. | |
| xbt_dynar_t | SD_simulate (double how_long) |
| Launches the simulation. | |
| double | SD_get_clock (void) |
| Returns the current clock. | |
| void | SD_exit (void) |
| Destroys all SD internal data. | |
| xbt_dynar_t | SD_daxload (const char *filename) |
| loads a DAX file describing a DAG | |
| xbt_dynar_t | SD_dotload (const char *filename) |
| loads a DOT file describing a DAG | |
Functions for creating the environment and launching the simulation.
This section describes the functions for initialising SimDag, launching the simulation and exiting SimDag.
| void SD_init | ( | int * | argc, |
| char ** | argv | ||
| ) |
Initializes SD internal data.
This function must be called before any other SD function. Then you should call SD_create_environment().
| argc | argument number |
| argv | argument list |
| void SD_config | ( | const char * | key, |
| const char * | value | ||
| ) |
set a configuration variable
Do –help on any simgrid binary to see the list of currently existing configuration variables, and see Section Simgrid options and configurations.
Example: SD_config("workstation/model","default");
| void SD_application_reinit | ( | void | ) |
Reinits the application part of the simulation (experimental feature)
This function allows you to run several simulations on the same platform by resetting the part describing the application.
| void SD_create_environment | ( | const char * | platform_file | ) |
Creates the environment.
The environment (i.e. the workstations and the links) is created with the data stored in the given XML platform file.
| platform_file | name of an XML file describing the environment to create |
The XML file follows this DTD:
\include simgrid.dtd
Here is a small example of such a platform:
\include small_platform.xml
| xbt_dynar_t SD_simulate | ( | double | how_long | ) |
Launches the simulation.
The function will execute the SD_RUNNABLE runnable tasks. If how_long is positive, then the simulation will be stopped either when time reaches how_long or when a watch point is reached. A non-positive value for how_long means no time limit, in which case the simulation will be stopped either when a watch point is reached or when no more task can be executed. Then you can call SD_simulate() again.
| how_long | maximum duration of the simulation (a negative value means no time limit) |
| double SD_get_clock | ( | void | ) |
Returns the current clock.
| void SD_exit | ( | void | ) |
Destroys all SD internal data.
This function should be called when the simulation is over. Don't forget to destroy too.
| xbt_dynar_t SD_daxload | ( | const char * | filename | ) |
loads a DAX file describing a DAG
See https://confluence.pegasus.isi.edu/display/pegasus/WorkflowGenerator for more details.
| xbt_dynar_t SD_dotload | ( | const char * | filename | ) |
loads a DOT file describing a DAG
See http://www.graphviz.org/doc/info/lang.html for more details. To obtain information about transfers and tasks, two attributes are required : size on task (execution time in Flop) and size on edge (the amount of data transfer in bit). if they aren't here, there choose to be equal to zero.