Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
metaxml example modifications
authorquasar <quasar@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 29 Nov 2007 14:35:25 +0000 (14:35 +0000)
committerquasar <quasar@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 29 Nov 2007 14:35:25 +0000 (14:35 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5090 48e7efb5-ca39-0410-a469-dd3cf9ba447f

examples/simdag/Makefile.am
examples/simdag/Makefile.in
examples/simdag/metaxml/metaxml_test.tesh
examples/simdag/metaxml/metaxml_test2.tesh
examples/simdag/metaxml/sd_meta.c [new file with mode: 0644]
examples/simdag/metaxml/sd_test.c [deleted file]

index 1d95847..dd11327 100644 (file)
@@ -15,15 +15,15 @@ CLEANFILES = sd_test.trace
 TESTS_ENVIRONMENT = $(top_builddir)/tools/tesh/tesh
 
 TESTS = test_simdag.tesh test_simdag2.tesh properties/test_prop.tesh metaxml/metaxml_test.tesh
-check_PROGRAMS = sd_test sd_test2 properties/sd_prop metaxml/sd_test
+check_PROGRAMS = sd_test sd_test2 properties/sd_prop metaxml/sd_meta
 
 bin_PROGRAMS = 
 
 properties_sd_prop_SOURCES = properties/sd_prop.c
 properties_sd_prop_LDADD = $(top_builddir)/src/libsimgrid.la
 
-metaxml_sd_test_SOURCES = metaxml/sd_test.c
-metaxml_sd_test_LDADD = $(top_builddir)/src/libsimgrid.la
+metaxml_sd_meta_SOURCES = metaxml/sd_meta.c
+metaxml_sd_meta_LDADD = $(top_builddir)/src/libsimgrid.la
 
 sd_test_SOURCES = sd_test.c
 sd_test_LDADD =        $(top_builddir)/src/libsimgrid.la
index 4aacc06..a1483ad 100644 (file)
@@ -45,7 +45,7 @@ build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
 check_PROGRAMS = sd_test$(EXEEXT) sd_test2$(EXEEXT) \
-       properties/sd_prop$(EXEEXT) metaxml/sd_test$(EXEEXT)
+       properties/sd_prop$(EXEEXT) metaxml/sd_meta$(EXEEXT)
 bin_PROGRAMS =
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(top_srcdir)/acmacro/dist-files.mk
@@ -70,9 +70,9 @@ PROGRAMS = $(bin_PROGRAMS)
 am_properties_sd_prop_OBJECTS = sd_prop.$(OBJEXT)
 properties_sd_prop_OBJECTS = $(am_properties_sd_prop_OBJECTS)
 properties_sd_prop_DEPENDENCIES = $(top_builddir)/src/libsimgrid.la
-am_metaxml_sd_test_OBJECTS = sd_test.$(OBJEXT)
-metaxml_sd_test_OBJECTS = $(am_metaxml_sd_test_OBJECTS)
-metaxml_sd_test_DEPENDENCIES = $(top_builddir)/src/libsimgrid.la
+am_metaxml_sd_meta_OBJECTS = sd_meta.$(OBJEXT)
+metaxml_sd_meta_OBJECTS = $(am_metaxml_sd_meta_OBJECTS)
+metaxml_sd_meta_DEPENDENCIES = $(top_builddir)/src/libsimgrid.la
 am__dirstamp = $(am__leading_dot)dirstamp
 am_sd_test_OBJECTS = sd_test.$(OBJEXT)
 sd_test_OBJECTS = $(am_sd_test_OBJECTS)
@@ -93,9 +93,9 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
 SOURCES = $(properties_sd_prop_SOURCES) $(sd_test_SOURCES) \
-       $(sd_test2_SOURCES) $(metaxml_sd_test_SOURCES)
+       $(sd_test2_SOURCES) $(metaxml_sd_meta_SOURCES)
 DIST_SOURCES = $(properties_sd_prop_SOURCES) $(sd_test_SOURCES) \
-       $(sd_test2_SOURCES) $(metaxml_sd_test_SOURCES)
+       $(sd_test2_SOURCES) $(metaxml_sd_meta_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -244,8 +244,8 @@ TESTS_ENVIRONMENT = $(top_builddir)/tools/tesh/tesh
 TESTS = test_simdag.tesh test_simdag2.tesh properties/test_prop.tesh metaxml/metaxml_test.tesh
 properties_sd_prop_SOURCES = properties/sd_prop.c
 properties_sd_prop_LDADD = $(top_builddir)/src/libsimgrid.la
-metaxml_sd_test_SOURCES = metaxml/sd_test.c
-metaxml_sd_test_LDADD = $(top_builddir)/src/libsimgrid.la
+metaxml_sd_meta_SOURCES = metaxml/sd_meta.c
+metaxml_sd_meta_LDADD = $(top_builddir)/src/libsimgrid.la
 sd_test_SOURCES = sd_test.c
 sd_test_LDADD = $(top_builddir)/src/libsimgrid.la
 sd_test2_SOURCES = sd_test2.c
@@ -327,9 +327,9 @@ properties/sd_prop$(EXEEXT): $(properties_sd_prop_OBJECTS) $(properties_sd_prop_
 metaxml/$(am__dirstamp):
        @$(MKDIR_P) metaxml
        @: > metaxml/$(am__dirstamp)
-metaxml/sd_test$(EXEEXT): $(metaxml_sd_test_OBJECTS) $(metaxml_sd_test_DEPENDENCIES) metaxml/$(am__dirstamp)
-       @rm -f metaxml/sd_test$(EXEEXT)
-       $(LINK) $(metaxml_sd_test_OBJECTS) $(metaxml_sd_test_LDADD) $(LIBS)
+metaxml/sd_meta$(EXEEXT): $(metaxml_sd_meta_OBJECTS) $(metaxml_sd_meta_DEPENDENCIES) metaxml/$(am__dirstamp)
+       @rm -f metaxml/sd_meta$(EXEEXT)
+       $(LINK) $(metaxml_sd_meta_OBJECTS) $(metaxml_sd_meta_LDADD) $(LIBS)
 sd_test$(EXEEXT): $(sd_test_OBJECTS) $(sd_test_DEPENDENCIES) 
        @rm -f sd_test$(EXEEXT)
        $(LINK) $(sd_test_OBJECTS) $(sd_test_LDADD) $(LIBS)
@@ -382,19 +382,19 @@ sd_prop.obj: properties/sd_prop.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sd_prop.obj `if test -f 'properties/sd_prop.c'; then $(CYGPATH_W) 'properties/sd_prop.c'; else $(CYGPATH_W) '$(srcdir)/properties/sd_prop.c'; fi`
 
-metaxml/sd_test.o: metaxml/sd_test.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sd_test.o -MD -MP -MF $(DEPDIR)/sd_test.Tpo -c -o sd_test.o `test -f 'metaxml/sd_test.c' || echo '$(srcdir)/'`metaxml/sd_test.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/sd_test.Tpo $(DEPDIR)/sd_test.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='metaxml/sd_test.c' object='sd_test.o' libtool=no @AMDEPBACKSLASH@
+sd_meta.o: metaxml/sd_meta.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sd_meta.o -MD -MP -MF $(DEPDIR)/sd_meta.Tpo -c -o sd_meta.o `test -f 'metaxml/sd_meta.c' || echo '$(srcdir)/'`metaxml/sd_meta.c
+@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/sd_meta.Tpo $(DEPDIR)/sd_meta.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='metaxml/sd_meta.c' object='sd_meta.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sd_test.o `test -f 'metaxml/sd_test.c' || echo '$(srcdir)/'`metaxml/sd_test.c
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sd_meta.o `test -f 'metaxml/sd_meta.c' || echo '$(srcdir)/'`metaxml/sd_meta.c
 
-metaxml/sd_test.obj: metaxml/sd_test.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sd_test.obj -MD -MP -MF $(DEPDIR)/sd_test.Tpo -c -o sd_test.obj `if test -f 'metaxml/sd_test.c'; then $(CYGPATH_W) 'metaxml/sd_test.c'; else $(CYGPATH_W) '$(srcdir)/metaxml/sd_test.c'; fi`
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/sd_test.Tpo $(DEPDIR)/sd_test.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='metaxml/sd_test.c' object='sd_test.obj' libtool=no @AMDEPBACKSLASH@
+sd_meta.obj: metaxml/sd_meta.c
+@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sd_meta.obj -MD -MP -MF $(DEPDIR)/sd_meta.Tpo -c -o sd_meta.obj `if test -f 'metaxml/sd_meta.c'; then $(CYGPATH_W) 'metaxml/sd_meta.c'; else $(CYGPATH_W) '$(srcdir)/metaxml/sd_meta.c'; fi`
+@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/sd_meta.Tpo $(DEPDIR)/sd_meta.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='metaxml/sd_meta.c' object='sd_meta.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sd_test.obj `if test -f 'metaxml/sd_test.c'; then $(CYGPATH_W) 'metaxml/sd_test.c'; else $(CYGPATH_W) '$(srcdir)/metaxml/sd_test.c'; fi`
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sd_meta.obj `if test -f 'metaxml/sd_meta.c'; then $(CYGPATH_W) 'metaxml/sd_meta.c'; else $(CYGPATH_W) '$(srcdir)/metaxml/sd_meta.c'; fi`
 
 
 mostlyclean-libtool:
index 1c9505a..7370114 100644 (file)
@@ -2,7 +2,7 @@
 
 p Simple test of simdag with metaxml tags
 
-$ $SG_TEST_EXENV metaxml/sd_test ${srcdir:=.}/../platforms/metaxml.xml
+$ $SG_TEST_EXENV metaxml/sd_meta ${srcdir:=.}/../platforms/metaxml.xml
 > [0.000000] [sd_test/INFO] Route between nancy_0_host and nancy_0_host:
 > [0.000000] [sd_test/INFO]    Link nancy_0_host: latency = 0.000050, bandwidth = 125000000.000000
 > [0.000000] [sd_test/INFO]    Link Nancy_bb: latency = 0.001000, bandwidth = 50000000.000000
index bedde93..0c839e1 100644 (file)
@@ -2,7 +2,7 @@
 
 p Simple test of simdag with metaxml tags
 
-$ $SG_TEST_EXENV metaxml/sd_test ${srcdir:=.}/../platforms/metaxml-random.xml
+$ $SG_TEST_EXENV metaxml/sd_meta ${srcdir:=.}/../platforms/metaxml-random.xml
 > [0.000000] [sd_test/INFO] Route between lille_2_host and lille_2_host:
 > [0.000000] [sd_test/INFO]    Link lille_2_host: latency = 0.000007, bandwidth = 3297750.000000
 > [0.000000] [sd_test/INFO] Route between lille_2_host and lyon_1_host:
diff --git a/examples/simdag/metaxml/sd_meta.c b/examples/simdag/metaxml/sd_meta.c
new file mode 100644 (file)
index 0000000..79d7532
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+   See examples/platforms/metaxml.xml and examples/platforms/metaxml_platform.xml files for examples on how to use the cluster, foreach, set, route:multi, trace and trace:connect tags
+*/
+#include <stdio.h>
+#include <stdlib.h>
+#include "simdag/simdag.h"
+#include "xbt/ex.h"
+#include "xbt/log.h"
+#include "xbt/dynar.h"
+#include "xbt/dict.h"
+#include "xbt/time.h"
+
+XBT_LOG_NEW_DEFAULT_CATEGORY(sd_test,
+                            "Logging specific to this SimDag example");
+
+int main(int argc, char **argv) {
+  /* initialisation of SD */
+  SD_init(&argc, argv);
+
+  /*  xbt_log_control_set("sd.thres=debug"); */
+
+  if (argc < 2) {
+    INFO1("Usage: %s platform_file", argv[0]);
+    INFO1("example: %s sd_platform.xml", argv[0]);
+    exit(1);
+  }
+
+  /* creation of the environment */
+  const char * platform_file = argv[1];
+  SD_create_environment(platform_file);
+
+  /* test the estimation functions */
+  const SD_workstation_t *workstations = SD_workstation_get_list();
+  int ws_nr = SD_workstation_get_number();
+
+  SD_workstation_t w1 = NULL;
+  SD_workstation_t w2 = NULL;
+  const char *name1, *name2;
+  /* Show routes between all workstation */
+  int i,j,k;
+  for (i=0; i<ws_nr; i++){
+    for (j=0;j<ws_nr; j++){
+      w1 = workstations[i];
+      w2 = workstations[j];
+      name1 = SD_workstation_get_name(w1);
+      name2 = SD_workstation_get_name(w2);
+      INFO2("Route between %s and %s:", name1, name2);   
+      const SD_link_t *route = SD_route_get_list(w1, w2);
+      int route_size = SD_route_get_size(w1, w2);
+      for (k = 0; k < route_size; k++) {
+        INFO3("\tLink %s: latency = %f, bandwidth = %f", SD_link_get_name(route[k]),
+         SD_link_get_current_latency(route[k]), SD_link_get_current_bandwidth(route[k]));
+      }
+    }
+  }
+
+  SD_exit();
+  return 0;
+}
+
diff --git a/examples/simdag/metaxml/sd_test.c b/examples/simdag/metaxml/sd_test.c
deleted file mode 100644 (file)
index f8434ea..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
-   See examples/platforms/metaxml.xml and examples/platforms/metaxml_platform.xml files for examples on how to use the cluster, foreach, set, route:multi, trace and trace:connect tags
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include "simdag/simdag.h"
-#include "xbt/ex.h"
-#include "xbt/log.h"
-#include "xbt/dynar.h"
-#include "xbt/dict.h"
-#include "xbt/time.h"
-
-XBT_LOG_NEW_DEFAULT_CATEGORY(sd_test,
-                            "Logging specific to this SimDag example");
-
-int main(int argc, char **argv) {
-  /* initialisation of SD */
-  SD_init(&argc, argv);
-
-  /*  xbt_log_control_set("sd.thres=debug"); */
-
-  if (argc < 2) {
-    INFO1("Usage: %s platform_file", argv[0]);
-    INFO1("example: %s sd_platform.xml", argv[0]);
-    exit(1);
-  }
-
-  /* creation of the environment */
-  const char * platform_file = argv[1];
-  SD_create_environment(platform_file);
-
-  /* test the estimation functions */
-  const SD_workstation_t *workstations = SD_workstation_get_list();
-  int ws_nr = SD_workstation_get_number();
-
-  SD_workstation_t w1 = NULL;
-  SD_workstation_t w2 = NULL;
-  const char *name1, *name2;
-  /* Show routes between all workstation */
-  int i,j,k;
-  for (i=0; i<ws_nr; i++){
-    for (j=0;j<ws_nr; j++){
-      w1 = workstations[i];
-      w2 = workstations[j];
-      name1 = SD_workstation_get_name(w1);
-      name2 = SD_workstation_get_name(w2);
-      INFO2("Route between %s and %s:", name1, name2);   
-      const SD_link_t *route = SD_route_get_list(w1, w2);
-      int route_size = SD_route_get_size(w1, w2);
-      for (k = 0; k < route_size; k++) {
-        INFO3("\tLink %s: latency = %f, bandwidth = %f", SD_link_get_name(route[k]),
-         SD_link_get_current_latency(route[k]), SD_link_get_current_bandwidth(route[k]));
-      }
-    }
-  }
-
-  /* Simulate */
-
-  w1 = workstations[0];
-  w2 = workstations[1];
-  SD_workstation_set_access_mode(w2, SD_WORKSTATION_SEQUENTIAL_ACCESS);
-  name1 = SD_workstation_get_name(w1);
-  name2 = SD_workstation_get_name(w2);
-
-  const double computation_amount1 = 2000000;
-  const double computation_amount2 = 1000000;
-  const double communication_amount12 = 2000000;
-  const double communication_amount21 = 3000000;
-  INFO3("Computation time for %f flops on %s: %f", computation_amount1, name1,
-       SD_workstation_get_computation_time(w1, computation_amount1));
-  INFO3("Computation time for %f flops on %s: %f", computation_amount2, name2,
-       SD_workstation_get_computation_time(w2, computation_amount2));
-
-  /* creation of the tasks and their dependencies */
-  SD_task_t taskA = SD_task_create("Task A", NULL, 10.0);
-  SD_task_t taskB = SD_task_create("Task B", NULL, 40.0);
-  SD_task_t taskC = SD_task_create("Task C", NULL, 30.0);
-  SD_task_t taskD = SD_task_create("Task D", NULL, 60.0);
-  
-
-  SD_task_dependency_add(NULL, NULL, taskB, taskA);
-  SD_task_dependency_add(NULL, NULL, taskC, taskA);
-  SD_task_dependency_add(NULL, NULL, taskD, taskB);
-  SD_task_dependency_add(NULL, NULL, taskD, taskC);
-
-  xbt_ex_t ex;
-
-  TRY {
-    SD_task_dependency_add(NULL, NULL, taskA, taskA); /* shouldn't work and must raise an exception */
-    xbt_die("Hey, I can add a dependency between Task A and Task A!");
-  }
-  CATCH (ex) {
-    if (ex.category != arg_error)
-
-      RETHROW; /* this is a serious error */
-    xbt_ex_free(ex);
-  }
-  
-  TRY {
-    SD_task_dependency_add(NULL, NULL, taskB, taskA); /* shouldn't work and must raise an exception */
-    xbt_die("Oh oh, I can add an already existing dependency!");
-  }
-  CATCH (ex) {
-    if (ex.category != arg_error)
-      RETHROW;
-    xbt_ex_free(ex);
-  }
-
-  TRY {
-    SD_task_dependency_remove(taskA, taskC); /* shouldn't work and must raise an exception */
-    xbt_die("Dude, I can remove an unknown dependency!");
-  }
-  CATCH (ex) {
-    if (ex.category != arg_error)
-      RETHROW;
-    xbt_ex_free(ex);
-  }
-
-  TRY {
-    SD_task_dependency_remove(taskC, taskC); /* shouldn't work and must raise an exception */
-    xbt_die("Wow, I can remove a dependency between Task C and itself!");
-  }
-  CATCH (ex) {
-    if (ex.category != arg_error)
-      RETHROW;
-    xbt_ex_free(ex);
-  }
-
-
-  /* if everything is ok, no exception is forwarded or rethrown by main() */
-
-  /* watch points */
-  SD_task_watch(taskD, SD_DONE);
-  SD_task_watch(taskB, SD_DONE);
-  SD_task_unwatch(taskD, SD_DONE);
-  
-
-  /* scheduling parameters */
-
-  const int workstation_number = 2;
-  const SD_workstation_t workstation_list[] = {w1, w2};
-  double computation_amount[] = {computation_amount1, computation_amount2};
-  double communication_amount[] =
-    {
-      0, communication_amount12,
-      communication_amount21, 0
-    };
-  double rate = -1.0;
-
-  /* estimated time */
-  SD_task_t task = taskD;
-  INFO2("Estimated time for '%s': %f", SD_task_get_name(task),
-       SD_task_get_execution_time(task, workstation_number, workstation_list,
-                                  computation_amount, communication_amount, rate));
-
-  /* let's launch the simulation! */
-
-  SD_task_schedule(taskA, workstation_number, workstation_list,
-                  computation_amount, communication_amount, rate);
-  SD_task_schedule(taskB, workstation_number, workstation_list,
-                  computation_amount, communication_amount, rate);
-  SD_task_schedule(taskC, workstation_number, workstation_list,
-                  computation_amount, communication_amount, rate);
-  SD_task_schedule(taskD, workstation_number, workstation_list,
-                  computation_amount, communication_amount, rate);
-
-  SD_task_t *changed_tasks;
-
-  changed_tasks = SD_simulate(-1.0);
-  for (i = 0; changed_tasks[i] != NULL; i++) {
-    INFO3("Task '%s' start time: %f, finish time: %f",
-         SD_task_get_name(changed_tasks[i]),
-         SD_task_get_start_time(changed_tasks[i]),
-         SD_task_get_finish_time(changed_tasks[i]));
-  }
-  
-  xbt_assert0(changed_tasks[0] == taskD &&
-             changed_tasks[1] == taskB &&
-             changed_tasks[2] == NULL,
-             "Unexpected simulation results");
-
-  xbt_free(changed_tasks);
-
-  DEBUG0("Destroying tasks...");
-
-  SD_task_destroy(taskA);
-  SD_task_destroy(taskB);
-  SD_task_destroy(taskC);
-  SD_task_destroy(taskD);
-
-  DEBUG0("Tasks destroyed. Exiting SimDag...");
-
-  SD_exit();
-  return 0;
-}
-