Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
get rid of sd_workstation.cpp
[simgrid.git] / examples / simdag / scheduling / sd_scheduling.c
index e4531aa..a95be21 100644 (file)
@@ -21,19 +21,6 @@ struct _HostAttribute {
   SD_task_t last_scheduled_task;
 };
 
-static void sg_host_allocate_attribute(sg_host_t host)
-{
-  void *data;
-  data = calloc(1, sizeof(struct _HostAttribute));
-  sg_host_user_set(host, data);
-}
-
-static void sg_host_free_attribute(sg_host_t host)
-{
-  free(sg_host_user(host));
-  sg_host_user_set(host, NULL);
-}
-
 static double sg_host_get_available_at(sg_host_t host)
 {
   HostAttribute attr = (HostAttribute) sg_host_user(host);
@@ -97,8 +84,8 @@ static double finish_on_at(SD_task_t task, sg_host_t host)
         if (SD_task_get_amount(parent) <= 1e-6){
           redist_time= 0;
         } else {
-          redist_time = SD_route_get_latency(parent_host[0], host) +
-                        SD_task_get_amount(parent) / SD_route_get_bandwidth(parent_host[0], host);
+          redist_time = sg_host_route_latency(parent_host[0], host) +
+                        SD_task_get_amount(parent) / sg_host_route_bandwidth(parent_host[0], host);
         }
         data_available = SD_task_get_start_time(parent) + redist_time;
       }
@@ -170,7 +157,7 @@ int main(int argc, char **argv)
   sg_host_t *hosts = sg_host_list();
 
   for (cursor = 0; cursor < total_nhosts; cursor++)
-    sg_host_allocate_attribute(hosts[cursor]);
+    sg_host_user_set(hosts[cursor], xbt_new0(struct _HostAttribute, 1));
 
   /* load the DAX file */
   xbt_dynar_t dax = SD_daxload(argv[2]);
@@ -248,8 +235,10 @@ int main(int argc, char **argv)
   }
   xbt_dynar_free_container(&dax);
 
-  for (cursor = 0; cursor < total_nhosts; cursor++)
-    sg_host_free_attribute(hosts[cursor]);
+  for (cursor = 0; cursor < total_nhosts; cursor++) {
+    free(sg_host_user(hosts[cursor]));
+    sg_host_user_set(hosts[cursor], NULL);
+  }
 
   xbt_free(hosts);
   /* exit */