allocated by SD_Simulate in user code.
int main(int argc, char **argv)
{
- xbt_dynar_t dax, changed;
+ xbt_dynar_t dax;
unsigned int cursor;
SD_task_t task;
XBT_INFO
("------------------- Run the schedule ---------------------------");
- changed = SD_simulate(-1);
- xbt_dynar_free_container(&changed);
+ SD_simulate(-1);
XBT_INFO
("------------------- Produce the trace file---------------------------");
XBT_INFO("Producing the trace of the run into %s", tracefilename);
SD_workstation_t workstation, selected_workstation = NULL;
int total_nworkstations = 0;
const SD_workstation_t *workstations = NULL;
- xbt_dynar_t dax, changed;
+ xbt_dynar_t dax;
FILE *out = NULL;
/* initialization of SD */
workstation = SD_task_get_best_workstation(task);
SD_task_schedulel(task, 1, workstation);
- while (!xbt_dynar_is_empty((changed = SD_simulate(-1.0)))) {
+ while (!xbt_dynar_is_empty(SD_simulate(-1.0))) {
/* Get the set of ready tasks */
ready_tasks = get_ready_tasks(dax);
if (xbt_dynar_is_empty(ready_tasks)) {
xbt_dynar_free_container(&ready_tasks);
- xbt_dynar_free_container(&changed);
/* there is no ready task, let advance the simulation */
continue;
}
xbt_dynar_free_container(&ready_tasks);
/* reset the min_finish_time for the next set of ready tasks */
min_finish_time = -1.;
- xbt_dynar_free_container(&changed);
}
XBT_INFO("Simulation Time: %f", SD_get_clock());
xbt_dynar_free_container(&ready_tasks);
- xbt_dynar_free_container(&changed);
xbt_dynar_foreach(dax, cursor, task) {
SD_task_destroy(task);
if (SD_task_get_state(task)==SD_DONE)
SD_task_destroy(task);
}
- xbt_dynar_free_container(&changed_tasks);
}
- xbt_dynar_free_container(&changed_tasks);
SD_exit();
return 0;
}
*/
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...");
double computation_amount[1];
double communication_amount[2] = { 0 };
SD_workstation_t workstation_list[1];
- xbt_dynar_t ret;
/* initialization of SD */
SD_init(&argc, argv);
SD_task_schedulel(task, 1, SD_workstation_get_by_name("Faulty Host"));
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_dump(task);
SD_task_schedulel(task, 1, SD_workstation_get_by_name("Safe Host"));
XBT_INFO("Run the simulation again");
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_dump(task);
XBT_INFO("Task '%s' start time: %f, finish time: %f",
SD_task_schedule(task, 1, workstation_list,
computation_amount, communication_amount,-1);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_dump(task);
computation_amount, communication_amount,-1);
XBT_INFO("Run the simulation again");
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_dump(task);
XBT_INFO("Task '%s' start time: %f, finish time: %f",
const char *platform_file;
const SD_workstation_t *workstations;
SD_task_t taskA, taskB, taskC, taskD;
- xbt_dynar_t changed_tasks;
/* initialization of SD */
SD_init(&argc, argv);
SD_task_schedulel(taskD, 1, workstations[1]);
/* let's launch the simulation! */
- while (!xbt_dynar_is_empty(changed_tasks = SD_simulate(-1.0))) {
+ while (!xbt_dynar_is_empty(SD_simulate(-1.0))) {
XBT_INFO(" Simulation was suspended, check workstation states");
for (i = 0; i < 2; i++) {
SD_workstation_dump(workstations[i]);
}
- xbt_dynar_free(&changed_tasks);
}
- xbt_dynar_free(&changed_tasks);
XBT_DEBUG("Destroying tasks...");
xbt_assert(checkD == taskD &&
checkB == taskB, "Unexpected simulation results");
- xbt_dynar_free_container(&changed_tasks);
-
XBT_DEBUG("Destroying tasks...");
SD_task_destroy(taskA);
int main(int argc, char **argv)
{
int i, j;
- xbt_dynar_t changed_tasks;
int n_hosts;
const SD_workstation_t *hosts;
SD_task_t taskInit;
SD_SCHED_NO_COST, -1.0);
/* let's launch the simulation! */
- changed_tasks = SD_simulate(-1.0);
+ SD_simulate(-1.0);
XBT_INFO("Simulation time: %f", SD_get_clock());
- xbt_dynar_free_container(&changed_tasks);
free(ParComp_wocomm_table);
free(IntraRedist_cost);
XBT_ERROR("Shouldn't be here");
}
}
- xbt_dynar_free_container(&changed_tasks);
}
- xbt_dynar_free_container(&changed_tasks);
XBT_DEBUG("Destroying tasks...");
fprintf(stdout, "Scheduling DAX...\n");
scheduleDAX(dax);
fprintf(stdout, "DAX scheduled\n");
- xbt_dynar_t ret = SD_simulate(-1);
- xbt_dynar_free(&ret);
+ SD_simulate(-1);
fprintf(stdout, "Simulation end. Time: %f\n", SD_get_clock());
return dax;
SD_task_t taskInit;
SD_task_t taskA;
SD_task_t taskB;
- xbt_dynar_t ret;
-
+
/* scheduling parameters */
double communication_amount1[] = { 0, 1e8, 0, 0 };
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_destroy(taskInit);
SD_task_destroy(taskA);
SD_task_destroy(taskB);
SD_task_t taskInit;
SD_task_t taskA;
SD_task_t taskB;
- xbt_dynar_t ret;
double communication_amount1 = 1e9;
double communication_amount2 = 1e9;
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_destroy(taskA);
SD_task_destroy(taskB);
SD_task_destroy(taskInit);
SD_task_t taskInit;
SD_task_t taskA;
SD_task_t taskB;
- xbt_dynar_t ret;
const SD_workstation_t *workstation;
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_destroy(taskA);
SD_task_destroy(taskB);
SD_task_destroy(taskInit);
SD_task_t taskInit;
SD_task_t taskA;
SD_task_t taskFin;
- xbt_dynar_t ret;
/* scheduling parameters */
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskA, taskFin);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_destroy(taskInit);
SD_task_destroy(taskA);
SD_task_destroy(taskFin);
SD_task_t taskInit;
SD_task_t taskA;
SD_task_t taskFin;
- xbt_dynar_t ret;
/* scheduling parameters */
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskA, taskFin);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_destroy(taskInit);
SD_task_destroy(taskA);
SD_task_destroy(taskFin);
SD_task_t taskInit;
SD_task_t taskA;
SD_task_t taskB;
- xbt_dynar_t ret;
/* scheduling parameters */
SD_task_dependency_add(NULL, NULL, taskInit, taskA);
SD_task_dependency_add(NULL, NULL, taskInit, taskB);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
SD_task_destroy(taskInit);
SD_task_destroy(taskA);
SD_task_destroy(taskB);
ret = SD_simulate(-1.0);
xbt_assert(xbt_dynar_length(ret) == 2,
- "I was expecting the terminaison of 2 tasks, but I got %lu instead",
+ "I was expecting the completion of 2 tasks, but I got %lu instead",
xbt_dynar_length(ret));
- xbt_dynar_free(&ret);
SD_task_destroy(taskA);
SD_task_destroy(taskB);
{
double time;
SD_task_t task;
- xbt_dynar_t ret;
double communication_amount[] = { 0.0, 1.0, 1.0, 1.0,
1.0, 0.0, 1.0, 1.0,
SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
communication_amount, -1.0);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
time = SD_get_clock();
{
double time;
SD_task_t task;
- xbt_dynar_t ret;
double communication_amount[] = { 0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
SD_task_schedule(task, 4, SD_workstation_get_list(), no_cost,
communication_amount, -1.0);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
time = SD_get_clock();
double communication_amount[] = { 0.0, 1.0, 0.0, 0.0 };
const double no_cost[] = { 0.0, 0.0 };
SD_task_t task;
- xbt_dynar_t ret;
SD_init(&argc, argv);
SD_create_environment(argv[1]);
SD_task_schedule(task, 2, SD_workstation_get_list(), no_cost,
communication_amount, -1.0);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
time = SD_get_clock();
double communication_amount2[] = { 0.0, 1.0, 0.0, 0.0 };
double no_cost1[] = { 0.0 };
double no_cost[] = { 0.0, 0.0 };
- xbt_dynar_t ret;
SD_init(&argc, argv);
SD_create_environment(argv[1]);
SD_task_dependency_add(NULL, NULL, root, task1);
SD_task_dependency_add(NULL, NULL, root, task2);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
time = SD_get_clock();
double communication_amount2[] = { 0.0, 0.0, 1.0, 0.0 };
double no_cost1[] = { 0.0 };
double no_cost[] = { 0.0, 0.0 };
- xbt_dynar_t ret;
SD_init(&argc, argv);
SD_create_environment(argv[1]);
SD_task_dependency_add(NULL, NULL, root, task1);
SD_task_dependency_add(NULL, NULL, root, task2);
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
time = SD_get_clock();
double time;
double communication_amount[] = { 0.0, 1.0, 0.0, 0.0 };
double no_cost[] = { 0.0, 0.0 };
- xbt_dynar_t ret;
SD_task_t root;
SD_task_t task[TASK_NUM];
SD_task_dependency_add(NULL, NULL, root, task[i]);
}
- ret = SD_simulate(-1.0);
- xbt_dynar_free(&ret);
+ SD_simulate(-1.0);
time = SD_get_clock();