Skip to content
Snippets Groups Projects
Commit 22c0d8d8 authored by Maël Madon's avatar Maël Madon
Browse files

refac: merge function delay_job and C_you_later_job (and adapt related tests), #18

parent 8f559511
Branches
Tags
1 merge request!21issue17,18,21_new
...@@ -116,12 +116,12 @@ bool degrad_temp_job(shared_ptr<Job> &job, Profile *profile, ReplayUser *user, ...@@ -116,12 +116,12 @@ bool degrad_temp_job(shared_ptr<Job> &job, Profile *profile, ReplayUser *user,
} }
bool delay_job(double new_time, shared_ptr<Job> job, bool delay_job(double new_time, shared_ptr<Job> job,
UserSubmitQueue *original_trace, ReplayUser *user, double random_number) UserSubmitQueue *original_trace, ReplayUser *user, double random_number, bool log_as_c_you_later)
{ {
/* Log... */ /* Log... */
string log_string = log_as_c_you_later ? "C_you_later" : "delay";
user->log_behavior( user->log_behavior(
job, "delay", new_time - job->submission_time, random_number); job, log_string, new_time - job->submission_time, random_number);
user->dm_stat[2 * DELAYED]++; user->dm_stat[2 * DELAYED]++;
user->dm_stat[2 * DELAYED + 1] user->dm_stat[2 * DELAYED + 1]
+= job->nb_requested_resources * std::stol(job->profile); += job->nb_requested_resources * std::stol(job->profile);
...@@ -130,24 +130,6 @@ bool delay_job(double new_time, shared_ptr<Job> job, ...@@ -130,24 +130,6 @@ bool delay_job(double new_time, shared_ptr<Job> job,
job->submission_time = new_time; job->submission_time = new_time;
original_trace->insert_sorted(job.get()); original_trace->insert_sorted(job.get());
/* Return "Do not execute now" */
return false;
}
bool C_you_later_job(double next_time, shared_ptr<Job> job,
UserSubmitQueue *original_trace, ReplayUser *user, double random_number)
{
/* Log... */
user->log_behavior(
job, "C_you_later", next_time - job->submission_time, random_number);
user->dm_stat[2 * DELAYED]++;
user->dm_stat[2 * DELAYED + 1]
+= job->nb_requested_resources * std::stol(job->profile);
/* Update the submission date and put job back in the queue */
job->submission_time = next_time;
original_trace->insert_sorted(job.get());
/* Return "Do not execute now" */ /* Return "Do not execute now" */
return false; return false;
} }
\ No newline at end of file
...@@ -58,10 +58,4 @@ bool reconfig_job(shared_ptr<Job> job, Profile *profile, double alpha, ...@@ -58,10 +58,4 @@ bool reconfig_job(shared_ptr<Job> job, Profile *profile, double alpha,
* later date new_time. * later date new_time.
*/ */
bool delay_job(double new_time, shared_ptr<Job> job, bool delay_job(double new_time, shared_ptr<Job> job,
UserSubmitQueue *original_trace, ReplayUser *user, double random_number); UserSubmitQueue *original_trace, ReplayUser *user, double random_number, bool log_as_c_you_later);
\ No newline at end of file
/**
* @brief
*/
bool C_you_later_job(double next_time, shared_ptr<Job> job,
UserSubmitQueue *original_trace, ReplayUser *user, double random_number);
\ No newline at end of file
...@@ -328,7 +328,7 @@ bool DMUserRenonce::handle_job( ...@@ -328,7 +328,7 @@ bool DMUserRenonce::handle_job(
bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile) bool DMUserDelay::handle_job(double date, shared_ptr<Job> job, Profile *profile)
{ {
if (dm_window->date_in_dm_window(date)) if (dm_window->date_in_dm_window(date))
return delay_job(dm_window->sup, job, original_trace, this, -1); return delay_job(dm_window->sup, job, original_trace, this, -1, false);
Parser::profile_from_duration(profile, job->profile, user_name); Parser::profile_from_duration(profile, job->profile, user_name);
return true; return true;
......
...@@ -205,8 +205,8 @@ bool DMUserMultiBehavior::exec_red_behavior_mono( ...@@ -205,8 +205,8 @@ bool DMUserMultiBehavior::exec_red_behavior_mono(
} }
if (behavior_number == R_C_YOU_LATER_MONO) if (behavior_number == R_C_YOU_LATER_MONO)
{ {
return C_you_later_job( return delay_job(
date + 3600, job, original_trace, this, random_number); date + 3600, job, original_trace, this, random_number, true);
} }
if (behavior_number == R_DEGRAD_MONO) if (behavior_number == R_DEGRAD_MONO)
{ {
...@@ -252,8 +252,8 @@ bool DMUserMultiBehavior::exec_red_behavior_multi( ...@@ -252,8 +252,8 @@ bool DMUserMultiBehavior::exec_red_behavior_multi(
} }
if (behavior_number == R_C_YOU_LATER_MULTI) if (behavior_number == R_C_YOU_LATER_MULTI)
{ {
return C_you_later_job( return delay_job(
date + 3600, job, original_trace, this, random_number); date + 3600, job, original_trace, this, random_number, true);
} }
if (behavior_number == R_DEGRAD_MULTI) if (behavior_number == R_DEGRAD_MULTI)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment