wrench::BatchService 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 <BatchService.h>

Inheritance diagram for wrench::BatchService:
wrench::ComputeService wrench::Service

Public Member Functions

 BatchService (std::string &hostname, bool supports_standard_jobs, bool supports_pilot_jobs, std::vector< std::string > compute_hosts, StorageService *default_storage_service, std::map< std::string, std::string > plist={})
 Constructor. More...
 
 ~BatchService () override
 Constructor.
 

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 on the physical host" whenever a number of cores is needed when instantiat services.
 
static constexpr double ALL_RAM = DBL_MAX
 A convenient constant to mean "use all ram on the physical host" whenever a ram capacity is needed when instantiating 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, it does not handle memory partitioning among jobs on the same host. It also does not simulate effects of memory sharing (e.g., swapping). 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.

Constructor & Destructor Documentation

wrench::BatchService::BatchService ( std::string &  hostname,
bool  supports_standard_jobs,
bool  supports_pilot_jobs,
std::vector< std::string >  compute_hosts,
StorageService default_storage_service,
std::map< std::string, std::string >  plist = {} 
)

Constructor.

Parameters
hostnamethe hostname on which to start the service
supports_standard_jobstrue if the compute service should support standard jobs
supports_pilot_jobstrue if the compute service should support pilot jobs
compute_hoststhe available compute hosts
  • the hosts must be homogeneous (speed, number of cores, RAM size)
  • all cores are used by the batch service on each host
  • all RAM is used by the batch service on each host
default_storage_servicea default storage service on which workflow tasks executed by this service can read/write input/ouput file if no specific storage service is not specified by the WMS (nullptr means "no default storage service is specified")
plista property list that specifies BatchServiceProperty values ({} means "use all defaults")

The documentation for this class was generated from the following files:
  • /home/wrench/wrench/include/wrench/services/compute/batch/BatchService.h
  • /home/wrench/wrench/src/wrench/services/compute/batch/BatchService.cpp