wrench::VirtualizedClusterComputeService

class VirtualizedClusterComputeService : public wrench::CloudComputeService

A virtualized cluster-based compute service.

Public Functions

VirtualizedClusterComputeService(const std::string &hostname, std::vector<std::string> &execution_hosts, const std::string &scratch_space_mount_point, const WRENCH_PROPERTY_COLLECTION_TYPE &property_list = {}, const WRENCH_MESSAGE_PAYLOAD_COLLECTION_TYPE &messagepayload_list = {})

Constructor.

Parameters:
  • hostname – the name of the hostcreate on which to start the service

  • execution_hosts – the hosts available for running virtual machines

  • scratch_space_mount_point – the mount of of the scratch space of the cloud service (”” means none)

  • property_list – a property list ({} means “use all defaults”)

  • messagepayload_list – a message payload list ({} means “use all defaults”)

virtual std::string createVM(unsigned long num_cores, sg_size_t ram_memory, const std::string &pm_name, WRENCH_PROPERTY_COLLECTION_TYPE property_list = {}, WRENCH_MESSAGE_PAYLOAD_COLLECTION_TYPE messagepayload_list = {})

Start a VM.

Parameters:
  • num_cores – the desired number of cores in the VM

  • ram_memory – the desired memory size of the VM

  • physical_host – the physical host on which to create the VM

  • property_list – the property list for the underlying BareMetalComputeService

  • messagepayload_list – the message payload list for the underlying BareMetalComputeService

Returns:

A VM name

std::string createVM(unsigned long num_cores, sg_size_t ram_memory, WRENCH_PROPERTY_COLLECTION_TYPE property_list = {}, WRENCH_MESSAGE_PAYLOAD_COLLECTION_TYPE messagepayload_list = {})

Create a BareMetalComputeService VM (balances load on execution hosts)

Parameters:
  • num_cores – the number of cores for the VM

  • ram_memory – the VM’s RAM memory_manager_service capacity

  • property_list – a property list for the BareMetalComputeService that will run on the VM ({} means “use all defaults”)

  • messagepayload_list – a message payload list for the BareMetalComputeService that will run on the VM ({} means “use all defaults”)

Returns:

A VM name

virtual void migrateVM(const std::string &vm_name, const std::string &dest_pm_hostname)

Synchronously migrate a VM to another physical host.

Parameters:
  • vm_name – virtual machine name

  • dest_pm_hostname – the name of the destination physical machine host