WRENCH  1.11
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
Public Member Functions | Protected Attributes | List of all members
wrench::CloudComputeService 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 <CloudComputeService.h>

Inheritance diagram for wrench::CloudComputeService:
wrench::ComputeService wrench::Service wrench::VirtualizedClusterComputeService

Public Member Functions

 CloudComputeService (const std::string &hostname, std::vector< std::string > execution_hosts, std::string scratch_space_mount_point, WRENCH_PROPERTY_COLLECTION_TYPE property_list={}, WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE messagepayload_list={})
 Constructor. More...
 
virtual bool supportsCompoundJobs () override
 Returns true if the service supports compound jobs. More...
 
virtual bool supportsPilotJobs () override
 Returns true if the service supports pilot jobs. More...
 
virtual bool supportsStandardJobs () override
 Returns true if the service supports standard jobs. More...
 

Protected Attributes

std::vector< std::string > execution_hosts
 List of execution host names.
 
std::map< std::string, unsigned long > used_cores_per_execution_host
 Map of number of used cores at the hosts.
 
std::map< std::string, double > used_ram_per_execution_host
 Map of used RAM at the hosts.
 
std::map< std::string, std::pair< std::shared_ptr< S4U_VirtualMachine >, std::shared_ptr< BareMetalComputeService > > > vm_list
 A map of VMs.
 

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

◆ CloudComputeService()

wrench::CloudComputeService::CloudComputeService ( const std::string &  hostname,
std::vector< std::string >  execution_hosts,
std::string  scratch_space_mount_point,
WRENCH_PROPERTY_COLLECTION_TYPE  property_list = {},
WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE  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_mount_pointthe mount point for the cloud sercvice's strach space ("" means none)
property_lista property list ({} means "use all defaults")
messagepayload_lista message payload list ({} means "use all defaults")
Exceptions
std::runtime_error

Member Function Documentation

◆ supportsCompoundJobs()

bool wrench::CloudComputeService::supportsCompoundJobs ( )
overridevirtual

Returns true if the service supports compound jobs.

Returns
true or false

◆ supportsPilotJobs()

bool wrench::CloudComputeService::supportsPilotJobs ( )
overridevirtual

Returns true if the service supports pilot jobs.

Returns
true or false

◆ supportsStandardJobs()

bool wrench::CloudComputeService::supportsStandardJobs ( )
overridevirtual

Returns true if the service supports standard jobs.

Returns
true or false

The documentation for this class was generated from the following files: