Quellcode durchsuchen

dmda: Take the non-overlapped part of transfer time into account in predicted end time of tasks.

The total transfer time is still counted in data_penalty. 
Should this overlap computation be factorized with push_task_on_best_worker ?
Lionel Eyraud-Dubois vor 8 Jahren
Ursprung
Commit
ed4942a44f
1 geänderte Dateien mit 3 neuen und 1 gelöschten Zeilen
  1. 3 1
      src/sched_policies/deque_modeling_policy_data_aware.c

+ 3 - 1
src/sched_policies/deque_modeling_policy_data_aware.c

@@ -777,7 +777,9 @@ static void compute_all_performance_predictions(struct starpu_task *task,
 			if (unknown)
 				continue;
 
-			exp_end[worker_ctx][nimpl] = exp_start + prev_exp_len + local_task_length[worker_ctx][nimpl];
+			double task_starting_time = STARPU_MAX(exp_start + prev_exp_len, starpu_timing_now() + local_data_penalty[worker_ctx][nimpl]); 
+
+			exp_end[worker_ctx][nimpl] = task_starting_time + local_task_length[worker_ctx][nimpl];
 
 			if (exp_end[worker_ctx][nimpl] < best_exp_end)
 			{