-/* Copyright (c) 2006-2010, 2012-2014. The SimGrid Team.
+/* Copyright (c) 2006-2010, 2012-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
{
unsigned int ctr;
const char *platform_file;
- const SD_workstation_t *workstations;
+ const sg_host_t *workstations;
SD_task_t task, taskA, taskB, taskC, taskD, taskE;
xbt_dynar_t changed_tasks;
/* xbt_log_control_set("sd.thres=debug"); */
- if (argc < 2) {
- XBT_INFO("Usage: %s platform_file", argv[0]);
- XBT_INFO("example: %s sd_platform.xml", argv[0]);
- exit(1);
- }
+ xbt_assert(argc > 1, "Usage: %s platform_file\n"
+ "\nExample: %s two_clusters.xml", argv[0], argv[0]);
/* creation of the environment */
platform_file = argv[1];
SD_create_environment(platform_file);
- workstations = SD_workstation_get_list();
+ workstations = sg_host_list();
/* creation of some typed tasks and their dependencies */
/* chain of five tasks, three compute tasks with two data transfers */
/* let throttle the communication for taskD if its parent is SD_DONE */
/* the bandwidth is 1.25e8, the data size is 1e7, and we want to throttle
* the bandwidth by a factor 2. the rate is then 1.25e8/(2*1e7)=6.25
+ * Changing the rate is possible before the task execution starts (in SD_RUNNING
+ * state).
*/
- if (SD_task_get_state(taskC) == SD_DONE)
+ if (SD_task_get_state(taskC) == SD_DONE && SD_task_get_state(taskD) < SD_RUNNING)
SD_task_set_rate(taskD, 6.25);
- xbt_dynar_free_container(&changed_tasks);
}
- xbt_dynar_free_container(&changed_tasks);
XBT_DEBUG("Destroying tasks...");