SimGrid  3.21
Versatile Simulation of Distributed Systems
vm.h File Reference
#include <simgrid/forward.h>
#include <xbt/base.h>

Functions

sg_vm_t sg_vm_create_core (sg_host_t pm, const char *name)
 Opaque type describing a Virtual Machine. More...
 
sg_vm_t sg_vm_create_multicore (sg_host_t pm, const char *name, int coreAmount)
 Create a new VM object with the default parameters, but with a specified amount of cores A VM is treated as a host. More...
 
int sg_vm_is_created (sg_vm_t vm)
 Returns whether the given VM has just created, not running. More...
 
int sg_vm_is_running (sg_vm_t vm)
 Returns whether the given VM is currently running. More...
 
int sg_vm_is_suspended (sg_vm_t vm)
 Returns whether the given VM is currently suspended, not running. More...
 
const char * sg_vm_get_name (sg_vm_t vm)
 
void sg_vm_set_ramsize (sg_vm_t vm, size_t size)
 
size_t sg_vm_get_ramsize (sg_vm_t vm)
 
void sg_vm_set_bound (sg_vm_t vm, double bound)
 
sg_host_t sg_vm_get_pm (sg_vm_t vm)
 Get the physical host of a given VM. More...
 
void sg_vm_start (sg_vm_t vm)
 Start a vm (i.e., boot the guest operating system) If the VM cannot be started (because of memory over-provisioning), an exception is generated. More...
 
void sg_vm_suspend (sg_vm_t vm)
 Immediately suspend the execution of all processes within the given VM. More...
 
void sg_vm_resume (sg_vm_t vm)
 Resume the execution of the VM. More...
 
void sg_vm_shutdown (sg_vm_t vm)
 Immediately kills all processes within the given VM. More...
 
void sg_vm_destroy (sg_vm_t vm)
 Destroy a VM. More...
 

Function Documentation

◆ sg_vm_create_core()

sg_vm_t sg_vm_create_core ( sg_host_t  pm,
const char *  name 
)

Opaque type describing a Virtual Machine.

All this is highly experimental and the interface will probably change in the future. Please don't depend on this yet (although testing is welcomed if you feel so). Usual lack of guaranty of any kind applies here, and is even increased.

Opaque type describing a Virtual Machine.

The name of the VM must be unique among all hosts.

◆ sg_vm_create_multicore()

sg_vm_t sg_vm_create_multicore ( sg_host_t  pm,
const char *  name,
int  coreAmount 
)

Create a new VM object with the default parameters, but with a specified amount of cores A VM is treated as a host.

The name of the VM must be unique among all hosts.

◆ sg_vm_is_created()

int sg_vm_is_created ( sg_vm_t  vm)

Returns whether the given VM has just created, not running.

◆ sg_vm_is_running()

int sg_vm_is_running ( sg_vm_t  vm)

Returns whether the given VM is currently running.

◆ sg_vm_is_suspended()

int sg_vm_is_suspended ( sg_vm_t  vm)

Returns whether the given VM is currently suspended, not running.

◆ sg_vm_get_name()

const char* sg_vm_get_name ( sg_vm_t  vm)

◆ sg_vm_set_ramsize()

void sg_vm_set_ramsize ( sg_vm_t  vm,
size_t  size 
)

◆ sg_vm_get_ramsize()

size_t sg_vm_get_ramsize ( sg_vm_t  vm)

◆ sg_vm_set_bound()

void sg_vm_set_bound ( sg_vm_t  vm,
double  bound 
)

◆ sg_vm_get_pm()

sg_host_t sg_vm_get_pm ( sg_vm_t  vm)

Get the physical host of a given VM.

◆ sg_vm_start()

void sg_vm_start ( sg_vm_t  vm)

Start a vm (i.e., boot the guest operating system) If the VM cannot be started (because of memory over-provisioning), an exception is generated.

◆ sg_vm_suspend()

void sg_vm_suspend ( sg_vm_t  vm)

Immediately suspend the execution of all processes within the given VM.

This function stops the execution of the VM. All the processes on this VM will pause. The state of the VM is preserved. We can later resume it again.

No suspension cost occurs.

◆ sg_vm_resume()

void sg_vm_resume ( sg_vm_t  vm)

Resume the execution of the VM.

All processes on the VM run again. No resume cost occurs.

◆ sg_vm_shutdown()

void sg_vm_shutdown ( sg_vm_t  vm)

Immediately kills all processes within the given VM.

Any memory that they allocated will be leaked, unless you used MSG_process_on_exit().

No extra delay occurs. If you want to simulate this too, you want to use a MSG_process_sleep().

◆ sg_vm_destroy()

void sg_vm_destroy ( sg_vm_t  vm)

Destroy a VM.

Destroy the VM object from the simulation.