SimGrid
3.13
Versatile Simulation of Distributed Systems
|
Classes | |
struct | s_smx_host_priv |
Host datatype from SIMIX POV. More... | |
Typedefs | |
typedef struct s_smx_host_priv | s_smx_host_priv_t |
Host datatype from SIMIX POV. More... | |
Functions | |
XBT_PRIVATE void | _SIMIX_host_free_process_arg (void *) |
XBT_PRIVATE void | SIMIX_host_create (sg_host_t host) |
Internal function to create a SIMIX host. More... | |
XBT_PRIVATE void | SIMIX_host_destroy (void *host) |
Internal function to destroy a SIMIX host. More... | |
XBT_PRIVATE 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... | |
XBT_PRIVATE void | SIMIX_host_restart_processes (sg_host_t host) |
XBT_PRIVATE void | SIMIX_host_autorestart (sg_host_t host) |
Restart the list of processes that have been registered to the host. More... | |
XBT_PRIVATE smx_synchro_t | SIMIX_execution_start (smx_process_t issuer, const char *name, double flops_amount, double priority, double bound, unsigned long affinity_mask) |
XBT_PRIVATE 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) |
XBT_PRIVATE void | SIMIX_execution_destroy (smx_synchro_t synchro) |
XBT_PRIVATE void | SIMIX_execution_cancel (smx_synchro_t synchro) |
XBT_PRIVATE double | SIMIX_execution_get_remains (smx_synchro_t synchro) |
XBT_PRIVATE e_smx_state_t | SIMIX_execution_get_state (smx_synchro_t synchro) |
XBT_PRIVATE void | SIMIX_execution_set_priority (smx_synchro_t synchro, double priority) |
XBT_PRIVATE void | SIMIX_execution_set_bound (smx_synchro_t synchro, double bound) |
XBT_PRIVATE void | SIMIX_execution_set_affinity (smx_synchro_t synchro, sg_host_t host, unsigned long mask) |
XBT_PRIVATE void | SIMIX_execution_suspend (smx_synchro_t synchro) |
XBT_PRIVATE void | SIMIX_execution_resume (smx_synchro_t synchro) |
XBT_PRIVATE void | SIMIX_post_host_execute (smx_synchro_t synchro) |
XBT_PRIVATE void | SIMIX_set_category (smx_synchro_t synchro, const char *category) |
XBT_PRIVATE sg_host_t | SIMIX_vm_create (const char *name, sg_host_t ind_phys_host) |
Internal function to create a SIMIX host. More... | |
XBT_PRIVATE void | SIMIX_vm_destroy (sg_host_t ind_vm) |
Function to destroy a SIMIX VM host. More... | |
XBT_PRIVATE void | SIMIX_vm_resume (sg_host_t ind_vm, smx_process_t issuer) |
Function to resume a SIMIX VM host. More... | |
XBT_PRIVATE void | SIMIX_vm_suspend (sg_host_t ind_vm, smx_process_t issuer) |
Function to suspend a SIMIX VM host. More... | |
XBT_PRIVATE void | SIMIX_vm_save (sg_host_t ind_vm, smx_process_t issuer) |
Function to save a SIMIX VM host. More... | |
XBT_PRIVATE void | SIMIX_vm_restore (sg_host_t ind_vm, smx_process_t issuer) |
Function to restore a SIMIX VM host. More... | |
XBT_PRIVATE void | SIMIX_vm_start (sg_host_t ind_vm) |
XBT_PRIVATE void | SIMIX_vm_shutdown (sg_host_t ind_vm, smx_process_t issuer) |
Function to shutdown a SIMIX VM host. More... | |
XBT_PRIVATE e_surf_vm_state_t | SIMIX_vm_get_state (sg_host_t ind_vm) |
XBT_PRIVATE void | SIMIX_vm_migrate (sg_host_t ind_vm, sg_host_t ind_dst_pm) |
Function to migrate a SIMIX VM host. More... | |
XBT_PRIVATE void * | SIMIX_vm_get_pm (sg_host_t ind_vm) |
Function to get the physical host of the given SIMIX VM host. More... | |
XBT_PRIVATE void | SIMIX_vm_set_bound (sg_host_t ind_vm, double bound) |
Function to set the CPU bound of the given SIMIX VM host. More... | |
XBT_PRIVATE void | SIMIX_vm_set_affinity (sg_host_t ind_vm, sg_host_t ind_pm, unsigned long mask) |
Function to set the CPU affinity of the given SIMIX VM host. More... | |
XBT_PRIVATE void | SIMIX_vm_migratefrom_resumeto (sg_host_t vm, sg_host_t src_pm, sg_host_t dst_pm) |
Encompassing simcall to prevent the removal of the src or the dst node at the end of a VM migration The simcall actually invokes the following calls: simcall_vm_set_affinity(vm, src_pm, 0); simcall_vm_migrate(vm, dst_pm); simcall_vm_resume(vm);. More... | |
typedef struct s_smx_host_priv s_smx_host_priv_t |
Host datatype from SIMIX POV.
XBT_PRIVATE void _SIMIX_host_free_process_arg | ( | void * | ) |
XBT_PRIVATE void SIMIX_host_create | ( | sg_host_t | host | ) |
Internal function to create a SIMIX host.
name | name of the host to create |
XBT_PRIVATE void SIMIX_host_destroy | ( | void * | h | ) |
Internal function to destroy a SIMIX host.
h | the host to destroy (a sg_host_t) |
XBT_PRIVATE 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.
XBT_PRIVATE void SIMIX_host_restart_processes | ( | sg_host_t | host | ) |
XBT_PRIVATE void SIMIX_host_autorestart | ( | sg_host_t | host | ) |
Restart the list of processes that have been registered to the host.
XBT_PRIVATE smx_synchro_t SIMIX_execution_start | ( | smx_process_t | issuer, |
const char * | name, | ||
double | flops_amount, | ||
double | priority, | ||
double | bound, | ||
unsigned long | affinity_mask | ||
) |
XBT_PRIVATE 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 | ||
) |
XBT_PRIVATE void SIMIX_execution_destroy | ( | smx_synchro_t | synchro | ) |
XBT_PRIVATE void SIMIX_execution_cancel | ( | smx_synchro_t | synchro | ) |
XBT_PRIVATE double SIMIX_execution_get_remains | ( | smx_synchro_t | synchro | ) |
XBT_PRIVATE e_smx_state_t SIMIX_execution_get_state | ( | smx_synchro_t | synchro | ) |
XBT_PRIVATE void SIMIX_execution_set_priority | ( | smx_synchro_t | synchro, |
double | priority | ||
) |
XBT_PRIVATE void SIMIX_execution_set_bound | ( | smx_synchro_t | synchro, |
double | bound | ||
) |
XBT_PRIVATE void SIMIX_execution_set_affinity | ( | smx_synchro_t | synchro, |
sg_host_t | host, | ||
unsigned long | mask | ||
) |
XBT_PRIVATE void SIMIX_execution_suspend | ( | smx_synchro_t | synchro | ) |
XBT_PRIVATE void SIMIX_execution_resume | ( | smx_synchro_t | synchro | ) |
XBT_PRIVATE void SIMIX_post_host_execute | ( | smx_synchro_t | synchro | ) |
XBT_PRIVATE void SIMIX_set_category | ( | smx_synchro_t | synchro, |
const char * | category | ||
) |
XBT_PRIVATE sg_host_t SIMIX_vm_create | ( | const char * | name, |
sg_host_t | ind_phys_host | ||
) |
Internal function to create a SIMIX host.
name | name of the host to create |
data | some user data (may be NULL) |
XBT_PRIVATE void SIMIX_vm_destroy | ( | sg_host_t | ind_vm | ) |
Function to destroy a SIMIX VM host.
host | the vm host to destroy (a sg_host_t) |
XBT_PRIVATE void SIMIX_vm_resume | ( | sg_host_t | ind_vm, |
smx_process_t | issuer | ||
) |
Function to resume a SIMIX VM host.
This function restart the execution of the VM. All the processes on this VM will run again.
host | the vm host to resume (a sg_host_t) |
XBT_PRIVATE void SIMIX_vm_suspend | ( | sg_host_t | ind_vm, |
smx_process_t | issuer | ||
) |
Function to suspend a SIMIX VM host.
This function stops the execution of the VM. All the processes on this VM will pause. The state of the VM is preserved on memory. We can later resume it again.
host | the vm host to suspend (a sg_host_t) |
XBT_PRIVATE void SIMIX_vm_save | ( | sg_host_t | ind_vm, |
smx_process_t | issuer | ||
) |
Function to save a SIMIX VM host.
This function is the same as vm_suspend, but the state of the VM is saved to the disk, and not preserved on memory. We can later restore it again.
host | the vm host to save (a sg_host_t) |
XBT_PRIVATE void SIMIX_vm_restore | ( | sg_host_t | ind_vm, |
smx_process_t | issuer | ||
) |
Function to restore a SIMIX VM host.
This function restart the execution of the VM. All the processes on this VM will run again.
host | the vm host to restore (a sg_host_t) |
XBT_PRIVATE void SIMIX_vm_start | ( | sg_host_t | ind_vm | ) |
XBT_PRIVATE void SIMIX_vm_shutdown | ( | sg_host_t | ind_vm, |
smx_process_t | issuer | ||
) |
Function to shutdown a SIMIX VM host.
This function powers off the VM. All the processes on this VM will be killed. But, the state of the VM is preserved on memory. We can later start it again.
host | the vm host to shutdown (a sg_host_t) |
XBT_PRIVATE e_surf_vm_state_t SIMIX_vm_get_state | ( | sg_host_t | ind_vm | ) |
XBT_PRIVATE void SIMIX_vm_migrate | ( | sg_host_t | ind_vm, |
sg_host_t | ind_dst_pm | ||
) |
Function to migrate a SIMIX VM host.
host | the vm host to migrate (a sg_host_t) |
XBT_PRIVATE void* SIMIX_vm_get_pm | ( | sg_host_t | ind_vm | ) |
Function to get the physical host of the given SIMIX VM host.
host | the vm host to get_phys_host (a sg_host_t) |
XBT_PRIVATE void SIMIX_vm_set_bound | ( | sg_host_t | ind_vm, |
double | bound | ||
) |
Function to set the CPU bound of the given SIMIX VM host.
host | the vm host (a sg_host_t) |
bound | bound (a double) |
XBT_PRIVATE void SIMIX_vm_set_affinity | ( | sg_host_t | ind_vm, |
sg_host_t | ind_pm, | ||
unsigned long | mask | ||
) |
Function to set the CPU affinity of the given SIMIX VM host.
host | the vm host (a sg_host_t) |
host | the pm host (a sg_host_t) |
mask | affinity mask (a unsigned long) |
XBT_PRIVATE void SIMIX_vm_migratefrom_resumeto | ( | sg_host_t | vm, |
sg_host_t | src_pm, | ||
sg_host_t | dst_pm | ||
) |
Encompassing simcall to prevent the removal of the src or the dst node at the end of a VM migration The simcall actually invokes the following calls: simcall_vm_set_affinity(vm, src_pm, 0); simcall_vm_migrate(vm, dst_pm); simcall_vm_resume(vm);.
It is called at the end of the migration_rx_fun function from msg/msg_vm.c
vm | VM to migrate |
src_pm | Source physical host |
dst_pmt | Destination physical host |