wrench::BatchComputeService Class Reference

A batch-scheduled compute service that manages a set of compute hosts and controls access to their resource via a batch queue. More...

#include <BatchComputeService.h>

Inheritance diagram for wrench::BatchComputeService:
wrench::ComputeService wrench::Service

Public Member Functions

 BatchComputeService (const std::string &hostname, std::vector< std::string > compute_hosts, std::string scratch_space_mount_point, std::map< std::string, std::string > property_list={}, std::map< std::string, double > messagepayload_list={})
 Constructor. More...
 

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 batch-scheduled compute service that manages a set of compute hosts and controls access to their resource via a batch queue.

In the current implementation of this service, like for many of its real-world counterparts, memory_manager_service partitioning among jobs onq the same host is not handled. When multiple jobs share hosts, which can happen when jobs require only a few cores per host and can thus be co-located on the same hosts in a non-exclusive fashion, each job simply runs as if it had access to the full RAM of each compute host it is scheduled on. The simulation of these memory_manager_service contended scenarios is thus, for now, not realistic as there is no simulation of the effects of memory_manager_service sharing (e.g., swapping).

Constructor & Destructor Documentation

◆ BatchComputeService()

wrench::BatchComputeService::BatchComputeService ( const std::string &  hostname,
std::vector< std::string >  compute_hosts,
std::string  scratch_space_mount_point,
std::map< std::string, std::string >  property_list = {},
std::map< std::string, double >  messagepayload_list = {} 
)

Constructor.

Parameters
hostnamethe hostname on which to start the service
compute_hoststhe list of names of the available compute hosts
  • the hosts must be homogeneous (speed, number of cores, and RAM size)
  • all cores are usable by the batch service on each host
  • all RAM is usable by the batch service on each host
scratch_space_mount_pointthe mount point of the scratch storage space for the service ("" means "no scratch space")
property_lista property list that specifies BatchComputeServiceProperty values ({} means "use all defaults")
messagepayload_lista message payload list that specifies BatchComputeServiceMessagePayload values ({} means "use all defaults")

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