1 #ifndef WRENCH_BATCHJOB_H
2 #define WRENCH_BATCHJOB_H
4 #include "wrench/job/CompoundJob.h"
19 BatchJob(std::shared_ptr<CompoundJob> job,
unsigned long job_id,
unsigned long time_in_minutes,
unsigned long number_nodes,
20 unsigned long cores_per_node, std::string username,
double ending_time_stamp,
double arrival_time_stamp);
44 this->allocated_node_indices = indices;
52 return this->allocated_node_indices;
60 u_int32_t conservative_bf_start_date;
61 u_int32_t conservative_bf_expected_end_date;
64 unsigned long requested_num_nodes;
65 unsigned long requested_time;
66 std::shared_ptr<CompoundJob> compound_job;
67 unsigned long requested_cores_per_node;
69 double begin_time_stamp;
70 double ending_time_stamp;
71 double arrival_time_stamp;
72 std::map<std::string, std::tuple<unsigned long, double>> resources_allocated;
74 std::vector<int> allocated_node_indices;
93 #endif //WRENCH_BATCHJOB_H
A class that defines a conservative backfilling batch_standard_and_pilot_jobs scheduler.
Definition: ConservativeBackfillingBatchScheduler.h:26
std::string csv_metadata
The meta-data field for BatSim-style CSV output.
Definition: BatchJob.h:79
void setRequestedTime(unsigned long time)
Set the requested time.
Definition: BatchJob.cpp:82
A batch_standard_and_pilot_jobs job, which encapsulates a Job and additional information used by a ba...
Definition: BatchJob.h:16
unsigned long getRequestedNumNodes()
Get the number of requested compute nodes (or hosts)
Definition: BatchJob.cpp:122
std::vector< int > getAllocatedNodeIndices()
Get the indices of allocated nodes.
Definition: BatchJob.h:51
double getArrivalTimestamp()
Get the arrival time stamp.
Definition: BatchJob.cpp:98
double getMemoryRequirement()
Get the memory_manager_service requirement.
Definition: BatchJob.cpp:90
std::string getUsername()
Get the username.
Definition: BatchJob.cpp:66
BatchJob(std::shared_ptr< CompoundJob > job, unsigned long job_id, unsigned long time_in_minutes, unsigned long number_nodes, unsigned long cores_per_node, std::string username, double ending_time_stamp, double arrival_time_stamp)
Constructor.
Definition: BatchJob.cpp:27
Definition: Action.cpp:28
double getEndingTimestamp()
Get the BatchComputeService job's end timestamp.
Definition: BatchJob.cpp:148
std::string csv_allocated_processors
The allocated processors field for BatSim-style CSV output.
Definition: BatchJob.h:81
std::shared_ptr< CompoundJob > getCompoundJob()
Get the compound job corresponding to this BatchComputeService job.
Definition: BatchJob.cpp:106
unsigned long getRequestedTime()
Get the requested time.
Definition: BatchJob.cpp:74
unsigned long getRequestedCoresPerNode()
Get the requested number of cores per node.
Definition: BatchJob.cpp:58
unsigned long getJobID()
Get the id of this BatchComputeService job.
Definition: BatchJob.cpp:114
void setAllocatedResources(std::map< std::string, std::tuple< unsigned long, double >> resources)
Set the resources allocated to this BatchComputeService job.
Definition: BatchJob.cpp:177
void setBeginTimestamp(double time_stamp)
Set the BatchComputeService job's begin timestamp.
Definition: BatchJob.cpp:131
A class that defines a conservative backfilling batch_standard_and_pilot_jobs scheduler.
Definition: ConservativeBackfillingBatchSchedulerCoreLevel.h:26
void setAllocatedNodeIndices(std::vector< int > indices)
Set the indices of the allocated nodes.
Definition: BatchJob.h:43
std::map< std::string, std::tuple< unsigned long, double > > getResourcesAllocated()
Get the resources allocated to this BatchComputeService job.
Definition: BatchJob.cpp:169
void setEndingTimestamp(double time_stamp)
Set the BatchComputeService job's end timestamp.
Definition: BatchJob.cpp:156
double getBeginTimestamp()
Get the BatchComputeService job's begin timestamp.
Definition: BatchJob.cpp:140