wrench::CloudService Class Reference

A cloud-based compute service that manages a set of physical hosts and controls access to their resources by (transparently) executing jobs in VM instances. More...

#include <CloudService.h>

Inheritance diagram for wrench::CloudService:
wrench::ComputeService wrench::Service wrench::VirtualizedClusterService

Public Member Functions

 CloudService (const std::string &hostname, std::vector< std::string > &execution_hosts, double scratch_space_size, std::map< std::string, std::string > property_list={}, std::map< std::string, std::string > messagepayload_list={})
 Constructor. More...
 

Protected Attributes

std::map< std::string, double > cs_available_ram
 Map of available RAM at hosts.
 
std::vector< std::string > execution_hosts
 List of execution host names.
 
std::map< std::string, unsigned long > used_cores_per_execution_host
 A map of the number of used cores (per VM) per execution host.
 
std::map< std::string, std::tuple< std::shared_ptr< S4U_VirtualMachine >, std::shared_ptr< ComputeService >, unsigned long, unsigned long > > vm_list
 A map of VMs described by the VM actor, the actual compute service, the total number of cores, and RAM size.
 

Additional Inherited Members

- Static Public Attributes inherited from wrench::ComputeService
static constexpr unsigned long ALL_CORES = ULONG_MAX
 A convenient constant to mean "use all cores of a physical host" whenever a number of cores is needed when instantiating compute services.
 
static constexpr double ALL_RAM = DBL_MAX
 A convenient constant to mean "use all ram of a physical host" whenever a ram capacity is needed when instantiating compute services.
 

Detailed Description

A cloud-based compute service that manages a set of physical hosts and controls access to their resources by (transparently) executing jobs in VM instances.

Constructor & Destructor Documentation

◆ CloudService()

wrench::CloudService::CloudService ( const std::string &  hostname,
std::vector< std::string > &  execution_hosts,
double  scratch_space_size,
std::map< std::string, std::string >  property_list = {},
std::map< std::string, std::string >  messagepayload_list = {} 
)

Constructor.

Parameters
hostnamethe hostname on which to start the service
execution_hoststhe list of the names of the hosts available for running virtual machines
scratch_space_sizethe size for the scratch storage pace of the cloud service
property_lista property list ({} means "use all defaults")
messagepayload_lista message payload list ({} means "use all defaults")
Exceptions
std::runtime_error

The documentation for this class was generated from the following files:
  • /Users/rafsilva/Documents/isi/workspace/wrench/wrench/include/wrench/services/compute/cloud/CloudService.h
  • /Users/rafsilva/Documents/isi/workspace/wrench/wrench/src/wrench/services/compute/cloud/CloudService.cpp