SimGrid  3.21
Versatile Simulation of Distributed Systems
simdag.h File Reference
#include <simgrid/host.h>
#include <simgrid/link.h>
#include <xbt/log.h>
#include <xbt/sysdep.h>
#include <set>

Namespaces

 simgrid
 
 simgrid::sd
 

Macros

#define SD_SCHED_NO_COST   NULL
 A constant to use in SD_task_schedule to mean that there is no cost. More...
 
#define SD_init(argc, argv)
 
#define SD_workstation_t   sg_host_t
 
#define SD_link_get_name   sg_link_name
 
#define SD_link_get_current_latency   sg_link_latency
 
#define SD_link_get_current_bandwidth   sg_link_bandwidth
 
#define SD_route_get_current_latency   SD_route_get_latency
 
#define SD_route_get_current_bandwidth   SD_route_get_bandwidth
 
#define SD_workstation_get_list   sg_host_list
 
#define SD_workstation_get_number   sg_host_count
 
#define SD_workstation_get_name   sg_host_get_name
 
#define SD_workstation_get_by_name   sg_host_by_name
 
#define SD_workstation_dump   sg_host_dump
 
#define SD_workstation_get_data   sg_host_user
 
#define SD_workstation_set_data   sg_host_user_set
 
#define SD_workstation_get_properties   sg_host_get_properties
 
#define SD_workstation_get_property_value   sg_host_get_property_value
 
#define SD_workstation_get_power   sg_host_speed
 
#define SD_workstation_get_available_power   sg_host_get_available_speed
 
#define SD_route_get_latency   sg_host_route_latency
 
#define SD_route_get_bandwidth   sg_host_route_bandwidth
 
#define SD_workstation_get_mounted_storage_list   sg_host_get_mounted_storage_list
 

Typedefs

typedef sg_link_t SD_link_t
 Link opaque datatypeA link is a network node represented as a name, a bandwidth and a latency. More...
 
typedef struct s_SD_task_t * SD_task_t
 Task opaque datatypeA task is some computing amount that can be executed in parallel on several hosts. More...
 

Enumerations

enum  e_SD_task_state_t {
  SD_NOT_SCHEDULED = 0x0001, SD_SCHEDULABLE = 0x0002, SD_SCHEDULED = 0x0004, SD_RUNNABLE = 0x0008,
  SD_RUNNING = 0x0010, SD_DONE = 0x0020, SD_FAILED = 0x0040
}
 Task states. More...
 
enum  e_SD_task_kind_t {
  SD_TASK_NOT_TYPED = 0, SD_TASK_COMM_E2E = 1, SD_TASK_COMP_SEQ = 2, SD_TASK_COMP_PAR_AMDAHL = 3,
  SD_TASK_COMM_PAR_MXN_1D_BLOCK = 4
}
 Task kinds. More...
 

Functions

SD_task_t SD_task_create (const char *name, void *data, double amount)
 
void * SD_task_get_data (SD_task_t task)
 
void SD_task_set_data (SD_task_t task, void *data)
 
e_SD_task_state_t SD_task_get_state (SD_task_t task)
 
const char * SD_task_get_name (SD_task_t task)
 
void SD_task_set_name (SD_task_t task, const char *name)
 
void SD_task_set_rate (SD_task_t task, double rate)
 
void SD_task_watch (SD_task_t task, e_SD_task_state_t state)
 
void SD_task_unwatch (SD_task_t task, e_SD_task_state_t state)
 
double SD_task_get_amount (SD_task_t task)
 
void SD_task_set_amount (SD_task_t task, double amount)
 
double SD_task_get_alpha (SD_task_t task)
 
double SD_task_get_remaining_amount (SD_task_t task)
 
double SD_task_get_execution_time (SD_task_t task, int host_count, const sg_host_t *host_list, const double *flops_amount, const double *bytes_amount)
 
e_SD_task_kind_t SD_task_get_kind (SD_task_t task)
 
void SD_task_schedule (SD_task_t task, int host_count, const sg_host_t *host_list, const double *flops_amount, const double *bytes_amount, double rate)
 
void SD_task_unschedule (SD_task_t task)
 
double SD_task_get_start_time (SD_task_t task)
 
double SD_task_get_finish_time (SD_task_t task)
 
xbt_dynar_t SD_task_get_parents (SD_task_t task)
 
xbt_dynar_t SD_task_get_children (SD_task_t task)
 
int SD_task_get_workstation_count (SD_task_t task)
 
sg_host_t * SD_task_get_workstation_list (SD_task_t task)
 
void SD_task_destroy (SD_task_t task)
 
void SD_task_dump (SD_task_t task)
 
void SD_task_dotty (SD_task_t task, void *out_FILE)
 
SD_task_t SD_task_create_comp_seq (const char *name, void *data, double amount)
 
SD_task_t SD_task_create_comp_par_amdahl (const char *name, void *data, double amount, double alpha)
 
SD_task_t SD_task_create_comm_e2e (const char *name, void *data, double amount)
 
SD_task_t SD_task_create_comm_par_mxn_1d_block (const char *name, void *data, double amount)
 
void SD_task_distribute_comp_amdahl (SD_task_t task, int ws_count)
 
void SD_task_build_MxN_1D_block_matrix (SD_task_t task, int src_nb, int dst_nb)
 
void SD_task_schedulev (SD_task_t task, int count, const sg_host_t *list)
 
void SD_task_schedulel (SD_task_t task, int count,...)
 
void SD_task_dependency_add (SD_task_t src, SD_task_t dst)
 
void SD_task_dependency_remove (SD_task_t src, SD_task_t dst)
 
int SD_task_dependency_exists (SD_task_t src, SD_task_t dst)
 
void SD_init_nocheck (int *argc, char **argv)
 
void SD_config (const char *key, const char *value)
 
void SD_create_environment (const char *platform_file)
 
void SD_simulate (double how_long)
 
void SD_simulate_with_update (double how_long, xbt_dynar_t changed_tasks_dynar)
 
double SD_get_clock ()
 
void SD_exit ()
 
xbt_dynar_t SD_daxload (const char *filename)
 
xbt_dynar_t SD_dotload (const char *filename)
 
xbt_dynar_t SD_dotload_with_sched (const char *filename)
 
xbt_dynar_t SD_PTG_dotload (const char *filename)
 
std::set< SD_task_t > * simgrid::sd::simulate (double how_long)
 

Macro Definition Documentation

◆ SD_workstation_t

#define SD_workstation_t   sg_host_t

◆ SD_link_get_name

#define SD_link_get_name   sg_link_name

◆ SD_link_get_current_latency

#define SD_link_get_current_latency   sg_link_latency

◆ SD_link_get_current_bandwidth

#define SD_link_get_current_bandwidth   sg_link_bandwidth

◆ SD_route_get_current_latency

#define SD_route_get_current_latency   SD_route_get_latency

◆ SD_route_get_current_bandwidth

#define SD_route_get_current_bandwidth   SD_route_get_bandwidth

◆ SD_workstation_get_list

#define SD_workstation_get_list   sg_host_list

◆ SD_workstation_get_number

#define SD_workstation_get_number   sg_host_count

◆ SD_workstation_get_name

#define SD_workstation_get_name   sg_host_get_name

◆ SD_workstation_get_by_name

#define SD_workstation_get_by_name   sg_host_by_name

◆ SD_workstation_dump

#define SD_workstation_dump   sg_host_dump

◆ SD_workstation_get_data

#define SD_workstation_get_data   sg_host_user

◆ SD_workstation_set_data

#define SD_workstation_set_data   sg_host_user_set

◆ SD_workstation_get_properties

#define SD_workstation_get_properties   sg_host_get_properties

◆ SD_workstation_get_property_value

#define SD_workstation_get_property_value   sg_host_get_property_value

◆ SD_workstation_get_power

#define SD_workstation_get_power   sg_host_speed

◆ SD_workstation_get_available_power

#define SD_workstation_get_available_power   sg_host_get_available_speed

◆ SD_route_get_latency

#define SD_route_get_latency   sg_host_route_latency

◆ SD_route_get_bandwidth

#define SD_route_get_bandwidth   sg_host_route_bandwidth

◆ SD_workstation_get_mounted_storage_list

#define SD_workstation_get_mounted_storage_list   sg_host_get_mounted_storage_list