/* Schedule them all on the first workstation */
XBT_INFO("------------------- Schedule tasks ---------------------------");
- sg_host_t *ws_list = sg_host_list();
+ sg_host_t *hosts = sg_host_list();
int count = sg_host_count();
xbt_dynar_foreach(dot, cursor, task) {
if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ) {
if (!strcmp(SD_task_get_name(task), "end"))
- SD_task_schedulel(task, 1, ws_list[0]);
+ SD_task_schedulel(task, 1, hosts[0]);
else
- SD_task_schedulel(task, 1, ws_list[cursor % count]);
+ SD_task_schedulel(task, 1, hosts[cursor % count]);
}
}
- xbt_free(ws_list);
+ xbt_free(hosts);
XBT_INFO("------------------- Run the schedule ---------------------------");
SD_simulate(-1);
unsigned int cursor;
SD_task_t task;
- const sg_host_t *ws_list = sg_host_list();
+ sg_host_t *hosts = sg_host_list();
int totalHosts = sg_host_count();
- qsort((void *) ws_list, totalHosts, sizeof(sg_host_t), name_compare_hosts);
+ qsort((void *) hosts, totalHosts, sizeof(sg_host_t), name_compare_hosts);
xbt_dynar_foreach(dax, cursor, task) {
if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ) {
if (!strcmp(SD_task_get_name(task), "end") || !strcmp(SD_task_get_name(task), "root")) {
- XBT_INFO("Scheduling %s to node: %s", SD_task_get_name(task), sg_host_get_name(ws_list[0]));
- SD_task_schedulel(task, 1, ws_list[0]);
+ XBT_INFO("Scheduling %s to node: %s", SD_task_get_name(task), sg_host_get_name(hosts[0]));
+ SD_task_schedulel(task, 1, hosts[0]);
} else {
- XBT_INFO("Scheduling %s to node: %s", SD_task_get_name(task), sg_host_get_name(ws_list[(cursor) % totalHosts]));
- SD_task_schedulel(task, 1, ws_list[(cursor) % totalHosts]);
+ XBT_INFO("Scheduling %s to node: %s", SD_task_get_name(task), sg_host_get_name(hosts[(cursor) % totalHosts]));
+ SD_task_schedulel(task, 1, hosts[(cursor) % totalHosts]);
}
}
}
+ xbt_free(hosts);
}
int main(int argc, char *argv[])
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
- SD_task_schedule(taskInit, 1, sg_host_list(), no_cost, no_cost, -1.0);
- SD_task_schedule(taskA, 2, sg_host_list(), no_cost, communication_amount1, -1.0);
- SD_task_schedule(taskB, 2, sg_host_list(), no_cost, communication_amount2, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0);
+ SD_task_schedule(taskA, 2, hosts, no_cost, communication_amount1, -1.0);
+ SD_task_schedule(taskB, 2, hosts, no_cost, communication_amount2, -1.0);
+ xbt_free(hosts);
/* let's launch the simulation! */
SD_simulate(-1.0);
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
- const sg_host_t *hosts = sg_host_list();
-
- SD_task_schedule(taskInit, 1, sg_host_list(), &no_cost, &no_cost, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(taskInit, 1, hosts, &no_cost, &no_cost, -1.0);
SD_task_schedule(taskA, 1, &hosts[0], &no_cost, &communication_amount1, -1.0);
SD_task_schedule(taskB, 1, &hosts[1], &no_cost, &communication_amount2, -1.0);
+ xbt_free(hosts);
/* let's launch the simulation! */
SD_simulate(-1.0);
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
- const sg_host_t *workstation = sg_host_list();
-
- SD_task_schedule(taskInit, 1, sg_host_list(), &no_cost, &no_cost, -1.0);
- SD_task_schedule(taskA, 1, &workstation[0], &no_cost, &communication_amount1, -1.0);
- SD_task_schedule(taskB, 1, &workstation[1], &no_cost, &communication_amount2, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(taskInit, 1, hosts, &no_cost, &no_cost, -1.0);
+ SD_task_schedule(taskA, 1, &hosts[0], &no_cost, &communication_amount1, -1.0);
+ SD_task_schedule(taskB, 1, &hosts[1], &no_cost, &communication_amount2, -1.0);
+ xbt_free(hosts);
/* let's launch the simulation! */
SD_simulate(-1.0);
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskA, taskFin);
- SD_task_schedule(taskInit, 1, sg_host_list(), no_cost, no_cost, -1.0);
- SD_task_schedule(taskA, 2, sg_host_list(), no_cost, no_cost, -1.0);
- SD_task_schedule(taskFin, 1, sg_host_list(), no_cost, no_cost, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0);
+ SD_task_schedule(taskA, 2, hosts, no_cost, no_cost, -1.0);
+ SD_task_schedule(taskFin, 1, hosts, no_cost, no_cost, -1.0);
+ xbt_free(hosts);
/* let's launch the simulation! */
SD_simulate(-1.0);
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskA, taskFin);
- SD_task_schedule(taskInit, 1, sg_host_list(), no_cost, no_cost, -1.0);
- SD_task_schedule(taskA, 2, sg_host_list(), no_cost, amount, -1.0);
- SD_task_schedule(taskFin, 1, sg_host_list(), no_cost, no_cost, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0);
+ SD_task_schedule(taskA, 2, hosts, no_cost, amount, -1.0);
+ SD_task_schedule(taskFin, 1, hosts, no_cost, no_cost, -1.0);
+ xbt_free(hosts);
/* let's launch the simulation! */
SD_simulate(-1.0);
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
- SD_task_schedule(taskInit, 1, sg_host_list(), no_cost, no_cost, -1.0);
- SD_task_schedule(taskA, 2, sg_host_list(), no_cost, amount, -1.0);
- SD_task_schedule(taskB, 1, sg_host_list(), comput, no_cost, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0);
+ SD_task_schedule(taskA, 2, hosts, no_cost, amount, -1.0);
+ SD_task_schedule(taskB, 1, hosts, comput, no_cost, -1.0);
+ xbt_free(hosts);
/* let's launch the simulation! */
SD_simulate(-1.0);
SD_task_t taskA = SD_task_create("Task A", NULL, 1.0);
SD_task_t taskB = SD_task_create("Task B", NULL, 1.0);
- SD_task_schedule(taskA, 1, sg_host_list(), comp_cost, comm_cost, -1.0);
- SD_task_schedule(taskB, 1, sg_host_list(), comp_cost, comm_cost, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(taskA, 1, hosts, comp_cost, comm_cost, -1.0);
+ SD_task_schedule(taskB, 1, hosts, comp_cost, comm_cost, -1.0);
+ xbt_free(hosts);
ret = SD_simulate(-1.0);
xbt_assert(xbt_dynar_length(ret) == 2, "I was expecting the completion of 2 tasks, but I got %lu instead",
SD_task_t task = SD_task_create("All2all task", NULL, 1.0);
- SD_task_schedule(task, 4, sg_host_list(), SD_SCHED_NO_COST, communication_amount, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(task, 4, hosts, SD_SCHED_NO_COST, communication_amount, -1.0);
+ xbt_free(hosts);
SD_simulate(-1.0);
SD_task_t task = SD_task_create("Comm 1", NULL, 1.0);
- SD_task_schedule(task, 4, sg_host_list(), SD_SCHED_NO_COST, communication_amount, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(task, 4, hosts, SD_SCHED_NO_COST, communication_amount, -1.0);
+ xbt_free(hosts);
SD_simulate(-1.0);
SD_task_t task = SD_task_create("Scatter task", NULL, 1.0);
- SD_task_schedule(task, 4, sg_host_list(), SD_SCHED_NO_COST, communication_amount, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(task, 4, hosts, SD_SCHED_NO_COST, communication_amount, -1.0);
+ xbt_free(hosts);
SD_simulate(-1.0);
SD_task_t task = SD_task_create("Comm 1", NULL, 1.0);
- SD_task_schedule(task, 2, sg_host_list(), no_cost, communication_amount, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(task, 2, hosts, no_cost, communication_amount, -1.0);
+ xbt_free(hosts);
SD_simulate(-1.0);
SD_task_t task1 = SD_task_create("Comm 1", NULL, 1.0);
SD_task_t task2 = SD_task_create("Comm 2", NULL, 1.0);
- SD_task_schedule(root, 1, sg_host_list(), no_cost1, no_cost1, -1.0);
- SD_task_schedule(task1, 2, sg_host_list(), no_cost, communication_amount1, -1.0);
- SD_task_schedule(task2, 2, sg_host_list(), no_cost, communication_amount2, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(root, 1, hosts, no_cost1, no_cost1, -1.0);
+ SD_task_schedule(task1, 2, hosts, no_cost, communication_amount1, -1.0);
+ SD_task_schedule(task2, 2, hosts, no_cost, communication_amount2, -1.0);
+ xbt_free(hosts);
SD_task_dependency_add(NULL, NULL, root, task1);
SD_task_dependency_add(NULL, NULL, root, task2);
SD_task_t task1 = SD_task_create("Comm 1", NULL, 1.0);
SD_task_t task2 = SD_task_create("Comm 2", NULL, 1.0);
- SD_task_schedule(root, 1, sg_host_list(), no_cost1, no_cost1, -1.0);
- SD_task_schedule(task1, 2, sg_host_list(), no_cost, communication_amount1, -1.0);
- SD_task_schedule(task2, 2, sg_host_list(), no_cost, communication_amount2, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(root, 1, hosts, no_cost1, no_cost1, -1.0);
+ SD_task_schedule(task1, 2, hosts, no_cost, communication_amount1, -1.0);
+ SD_task_schedule(task2, 2, hosts, no_cost, communication_amount2, -1.0);
+ xbt_free(hosts);
SD_task_dependency_add(NULL, NULL, root, task1);
SD_task_dependency_add(NULL, NULL, root, task2);
SD_create_environment(argv[1]);
SD_task_t root = SD_task_create("Root", NULL, 1.0);
- SD_task_schedule(root, 1, sg_host_list(), no_cost, no_cost, -1.0);
+
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(root, 1, hosts, no_cost, no_cost, -1.0);
for (int i = 0; i < TASK_NUM; i++) {
task[i] = SD_task_create("Comm", NULL, 1.0);
- SD_task_schedule(task[i], 2, sg_host_list(), no_cost, communication_amount, -1.0);
+ SD_task_schedule(task[i], 2, hosts, no_cost, communication_amount, -1.0);
SD_task_dependency_add(NULL, NULL, root, task[i]);
}
+ xbt_free(hosts);
SD_simulate(-1.0);
SD_create_environment(argv[1]);
SD_task_t task = SD_task_create("partask", NULL, 1.0);
- SD_task_schedule(task, 2, sg_host_list(), comp_cost, comm_amount, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(task, 2, hosts, comp_cost, comm_amount, -1.0);
+ xbt_free(hosts);
SD_simulate(-1.0);
SD_create_environment(argv[1]);
SD_task_t task = SD_task_create("seqtask", NULL, 1.0);
- SD_task_schedule(task, 1, sg_host_list(), comp_cost, comm_amount, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(task, 1, hosts, comp_cost, comm_amount, -1.0);
+ xbt_free(hosts);
SD_simulate(-1.0);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
SD_task_dependency_add(NULL, NULL, taskC, taskD);
- const sg_host_t *hosts = sg_host_list();
-
- SD_task_schedule(taskInit, 1, sg_host_list(), &no_cost, &no_cost, -1.0);
+ sg_host_t *hosts = sg_host_list();
+ SD_task_schedule(taskInit, 1, hosts, &no_cost, &no_cost, -1.0);
SD_task_schedule(taskA, 1, &hosts[0], &no_cost, &communication_amount1, -1.0);
SD_task_schedule(taskD, 1, &hosts[0], &no_cost, &communication_amount1, -1.0);
+ xbt_free(hosts);
/* let's launch the simulation! */
SD_simulate(-1.);