X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8bbfe13824ddf0cc95d518ade3fdde07d64054f8..12f4d48896952768d3df0d5704c4e8414027af2a:/examples/simdag/scheduling/sd_scheduling.c diff --git a/examples/simdag/scheduling/sd_scheduling.c b/examples/simdag/scheduling/sd_scheduling.c index 0dcf2877be..b1b06aa7cf 100644 --- a/examples/simdag/scheduling/sd_scheduling.c +++ b/examples/simdag/scheduling/sd_scheduling.c @@ -1,14 +1,15 @@ -/* Copyright (c) 2009-2016. The SimGrid Team. +/* Copyright (c) 2009-2018. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ /* simple test to schedule a DAX file with the Min-Min algorithm. */ -#include #include "simgrid/simdag.h" +#include +#include -#if HAVE_JEDULE +#if SIMGRID_HAVE_JEDULE #include "simgrid/jedule/jedule_sd_binding.h" #endif @@ -65,14 +66,14 @@ static xbt_dynar_t get_ready_tasks(xbt_dynar_t dax) static double finish_on_at(SD_task_t task, sg_host_t host) { double result; - unsigned int i; - double data_available = 0.; - double redist_time = 0; - double last_data_available; xbt_dynar_t parents = SD_task_get_parents(task); if (!xbt_dynar_is_empty(parents)) { + unsigned int i; + double data_available = 0.; + double redist_time = 0; + double last_data_available; /* compute last_data_available */ SD_task_t parent; last_data_available = -1.0; @@ -101,7 +102,7 @@ static double finish_on_at(SD_task_t task, sg_host_t host) xbt_dynar_free_container(&parents); - result = MAX(sg_host_get_available_at(host), last_data_available) + SD_task_get_amount(task)/sg_host_speed(host); + result = fmax(sg_host_get_available_at(host), last_data_available) + SD_task_get_amount(task) / sg_host_speed(host); } else { xbt_dynar_free_container(&parents); @@ -216,7 +217,7 @@ int main(int argc, char **argv) if (last_scheduled_task && (SD_task_get_state(last_scheduled_task) != SD_DONE) && (SD_task_get_state(last_scheduled_task) != SD_FAILED) && !SD_task_dependency_exists(sg_host_get_last_scheduled_task(selected_host), selected_task)) - SD_task_dependency_add("resource", NULL, last_scheduled_task, selected_task); + SD_task_dependency_add(last_scheduled_task, selected_task); sg_host_set_last_scheduled_task(selected_host, selected_task); sg_host_set_available_at(selected_host, min_finish_time); @@ -231,7 +232,7 @@ int main(int argc, char **argv) XBT_INFO("Simulation Time: %f", SD_get_clock()); XBT_INFO("------------------- Produce the trace file---------------------------"); XBT_INFO("Producing a jedule output (if active) of the run into %s", tracefilename?tracefilename:"minmin_test.jed"); -#if HAVE_JEDULE +#if SIMGRID_HAVE_JEDULE jedule_sd_dump(tracefilename); #endif free(tracefilename); @@ -250,7 +251,5 @@ int main(int argc, char **argv) } xbt_free(hosts); - /* exit */ - SD_exit(); return 0; }