longdoubleconsumed_energy;//!< The sum, for each machine on which the job has been allocated, of the consumed energy (in Joules) during the job execution time (consumed_energy_after_job_completion - consumed_energy_before_job_start)
std::deque<std::string>incoming_message_buffer;//!< The buffer for incoming messages from the scheduler.
Rationalstarting_time;//!< The time at which the job starts to be executed.
Rationalruntime;//!< The amount of time during which the job has been executed
MachineRangeallocation;//!< The machines on which the job has been executed.
,SEQUENCE//!< The profile is non-atomic: it is composed of a sequence of other profiles
,MSG_PARALLEL_HOMOGENEOUS_PFS_MULTIPLE_TIERS//!< The profile is a homogeneous MSG for complex parallel filesystem access. Its data is of type MsgParallelHomogeneousPFSMultipleTiersProfileData
,MSG_DATA_STAGING//!< The profile is a MSG for moving data between the pfs hosts. Its data is of type DataStagingProfileData
,SCHEDULER_SEND//!< The profile is a profile simulating a message sent to the scheduler. Its data is of type SchedulerSendProfileData
,SCHEDULER_RECV//!< The profile receives a message from the scheduler and can execute a profile based on a value comparison of the message. Its data is of type SchedulerRecvProfileData
Directiondirection;//!< Whether data should be transfered to the HPST or from the HPST
};
/**
* @brief The data associated to SCHEDULER_SEND profiles
*/
structSchedulerSendProfileData
{
std::stringmessage;//!< The message being sent to the scheduler
};
/**
* @brief The data associated to SCHEDULER_RECV profiles
*/
structSchedulerRecvProfileData
{
std::stringregex;//!< The regex which is tested for matching
std::stringon_success;//!< The profile to execute if it matches
std::stringon_failure;//!< The profile to execute if it does not match
std::stringon_timeout;//!< The profile to execute if no message is in the buffer (i.e. the scheduler has not answered in time). Can be omitted which will result that the job will wait until its walltime is reached.
};
/**
* @brief Used to handles all the profiles of one workload