SimGrid  3.13
Versatile Simulation of Distributed Systems
smx_host.cpp File Reference
#include "smx_private.h"
#include "xbt/sysdep.h"
#include "mc/mc.h"
#include "src/mc/mc_replay.h"
#include "src/surf/virtual_machine.hpp"
#include "src/surf/HostImpl.hpp"

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (simix_host, simix,"SIMIX hosts")
 
static void SIMIX_execution_finish (smx_synchro_t synchro)
 
void SIMIX_host_create (sg_host_t host)
 Internal function to create a SIMIX host. More...
 
void SIMIX_host_on (sg_host_t h)
 Start the host if it is off. More...
 
void SIMIX_host_off (sg_host_t h, smx_process_t issuer)
 Stop the host if it is on. More...
 
void SIMIX_host_destroy (void *h)
 Internal function to destroy a SIMIX host. More...
 
sg_host_t SIMIX_host_self (void)
 
const char * SIMIX_host_self_get_name (void)
 
void _SIMIX_host_free_process_arg (void *data)
 
void SIMIX_host_add_auto_restart_process (sg_host_t host, const char *name, xbt_main_func_t code, void *data, const char *hostname, double kill_time, int argc, char **argv, xbt_dict_t properties, int auto_restart)
 Add a process to the list of the processes that the host will restart when it comes back This function add a process to the list of the processes that will be restarted when the host comes back. More...
 
void SIMIX_host_autorestart (sg_host_t host)
 Restart the list of processes that have been registered to the host. More...
 
smx_synchro_t simcall_HANDLER_execution_start (smx_simcall_t simcall, const char *name, double flops_amount, double priority, double bound, unsigned long affinity_mask)
 
smx_synchro_t SIMIX_execution_start (smx_process_t issuer, const char *name, double flops_amount, double priority, double bound, unsigned long affinity_mask)
 
smx_synchro_t SIMIX_execution_parallel_start (const char *name, int host_nb, sg_host_t *host_list, double *flops_amount, double *bytes_amount, double amount, double rate)
 
void SIMIX_execution_destroy (smx_synchro_t synchro)
 
void SIMIX_execution_cancel (smx_synchro_t synchro)
 
double SIMIX_execution_get_remains (smx_synchro_t synchro)
 
e_smx_state_t SIMIX_execution_get_state (smx_synchro_t synchro)
 
void SIMIX_execution_set_priority (smx_synchro_t synchro, double priority)
 
void SIMIX_execution_set_bound (smx_synchro_t synchro, double bound)
 
void SIMIX_execution_set_affinity (smx_synchro_t synchro, sg_host_t host, unsigned long mask)
 
void simcall_HANDLER_execution_wait (smx_simcall_t simcall, smx_synchro_t synchro)
 
void SIMIX_execution_suspend (smx_synchro_t synchro)
 
void SIMIX_execution_resume (smx_synchro_t synchro)
 
void SIMIX_post_host_execute (smx_synchro_t synchro)
 
void SIMIX_set_category (smx_synchro_t synchro, const char *category)
 

Function Documentation

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( simix_host  ,
simix  ,
"SIMIX hosts"   
)
void SIMIX_execution_finish ( smx_synchro_t  synchro)
static
void SIMIX_host_create ( sg_host_t  host)

Internal function to create a SIMIX host.

Parameters
namename of the host to create
void SIMIX_host_on ( sg_host_t  h)

Start the host if it is off.

void SIMIX_host_off ( sg_host_t  h,
smx_process_t  issuer 
)

Stop the host if it is on.

void SIMIX_host_destroy ( void h)

Internal function to destroy a SIMIX host.

Parameters
hthe host to destroy (a sg_host_t)
sg_host_t SIMIX_host_self ( void  )
const char* SIMIX_host_self_get_name ( void  )
void _SIMIX_host_free_process_arg ( void data)
void SIMIX_host_add_auto_restart_process ( sg_host_t  host,
const char *  name,
xbt_main_func_t  code,
void data,
const char *  hostname,
double  kill_time,
int  argc,
char **  argv,
xbt_dict_t  properties,
int  auto_restart 
)

Add a process to the list of the processes that the host will restart when it comes back This function add a process to the list of the processes that will be restarted when the host comes back.

It is expected that this function is called when the host is down. The processes will only be restarted once, meaning that you will have to register the process again to restart the process again.

void SIMIX_host_autorestart ( sg_host_t  host)

Restart the list of processes that have been registered to the host.

smx_synchro_t simcall_HANDLER_execution_start ( smx_simcall_t  simcall,
const char *  name,
double  flops_amount,
double  priority,
double  bound,
unsigned long  affinity_mask 
)
smx_synchro_t SIMIX_execution_start ( smx_process_t  issuer,
const char *  name,
double  flops_amount,
double  priority,
double  bound,
unsigned long  affinity_mask 
)
smx_synchro_t SIMIX_execution_parallel_start ( const char *  name,
int  host_nb,
sg_host_t host_list,
double *  flops_amount,
double *  bytes_amount,
double  amount,
double  rate 
)
void SIMIX_execution_destroy ( smx_synchro_t  synchro)
void SIMIX_execution_cancel ( smx_synchro_t  synchro)
double SIMIX_execution_get_remains ( smx_synchro_t  synchro)
e_smx_state_t SIMIX_execution_get_state ( smx_synchro_t  synchro)
void SIMIX_execution_set_priority ( smx_synchro_t  synchro,
double  priority 
)
void SIMIX_execution_set_bound ( smx_synchro_t  synchro,
double  bound 
)
void SIMIX_execution_set_affinity ( smx_synchro_t  synchro,
sg_host_t  host,
unsigned long  mask 
)
void simcall_HANDLER_execution_wait ( smx_simcall_t  simcall,
smx_synchro_t  synchro 
)
void SIMIX_execution_suspend ( smx_synchro_t  synchro)
void SIMIX_execution_resume ( smx_synchro_t  synchro)
void SIMIX_post_host_execute ( smx_synchro_t  synchro)
void SIMIX_set_category ( smx_synchro_t  synchro,
const char *  category 
)