wrench::BatchJob

class BatchJob

A batch job, which encapsulates a Job and additional information used by a batch.

Public Functions

BatchJob(const std::shared_ptr<CompoundJob> &job, unsigned long job_id, unsigned long time_in_seconds, unsigned long number_nodes, unsigned long cores_per_node, const std::string &username, double ending_time_stamp, double arrival_time_stamp)

Constructor.

Parameters:
  • job – the compound job corresponding to the BatchComputeService job

  • job_id – the BatchComputeService job id

  • time_in_seconds – the requested execution time in seconds

  • num_nodes – the requested number of compute nodes (hosts)

  • cores_per_node – the requested number of cores per node

  • username – the username of the user submitting the job

  • ending_time_stamp – the job’s end date

  • arrival_time_stamp – the job’s arrival date

inline std::vector<int> getAllocatedNodeIndices()

Get the indices of allocated nodes.

Returns:

a list of indices

double getArrivalTimestamp() const

Get the arrival time stamp.

Returns:

a date

double getBeginTimestamp() const

Get the BatchComputeService job’s begin timestamp.

Returns:

a date

std::shared_ptr<CompoundJob> getCompoundJob()

Get the compound job corresponding to this BatchComputeService job.

Returns:

a compound job

double getEndingTimestamp() const

Get the BatchComputeService job’s end timestamp.

Returns:

a date

unsigned long getJobID() const

Get the id of this BatchComputeService job.

Returns:

a string id

double getMemoryRequirement()

Get the memory_manager_service requirement.

Returns:

a size in bytes

unsigned long getRequestedCoresPerNode() const

Get the requested number of cores per node.

Returns:

a number of cores

unsigned long getRequestedNumNodes() const

Get the number of requested compute nodes (or hosts)

Returns:

a number of nodes

unsigned long getRequestedTime() const

Get the requested time.

Returns:

a time in seconds

std::map<simgrid::s4u::Host*, std::tuple<unsigned long, sg_size_t>> getResourcesAllocated()

Get the resources allocated to this BatchComputeService job.

Returns:

a list of resource, each as a <hostname, number of cores, bytes of RAM> tuple

std::string getUsername()

Get the username.

Returns:

a username

inline void setAllocatedNodeIndices(std::vector<int> indices)

Set the indices of the allocated nodes.

Parameters:

indices – a list of indices

void setAllocatedResources(const std::map<simgrid::s4u::Host*, std::tuple<unsigned long, sg_size_t>> &resources)

Set the resources allocated to this BatchComputeService job.

Parameters:

resources – a list of resource, each as a <host, number of cores, bytes of RAM> tuple

void setBeginTimestamp(double time_stamp)

Set the BatchComputeService job’s begin timestamp.

Parameters:

time_stamp – a date

void setEndingTimestamp(double time_stamp)

Set the BatchComputeService job’s end timestamp.

Parameters:

time_stamp – a date

void setRequestedTime(unsigned long time)

Set the requested time.

Parameters:

time – a time in seconds

Public Members

std::string csv_allocated_processors

The allocated processors field for BatSim-style CSV output.

std::string csv_metadata

The meta-data field for BatSim-style CSV output.