Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
get rid of mallocators for tasks
[simgrid.git] / src / simdag / simdag_private.h
index 331a2c3..9691647 100644 (file)
@@ -7,23 +7,25 @@
 #ifndef SIMDAG_PRIVATE_H
 #define SIMDAG_PRIVATE_H
 #include <set>
 #ifndef SIMDAG_PRIVATE_H
 #define SIMDAG_PRIVATE_H
 #include <set>
+#include <vector>
 #include "xbt/dynar.h"
 #include "simgrid/simdag.h"
 #include "surf/surf.h"
 #include "xbt/mallocator.h"
 #include <stdbool.h>
 #include "xbt/dynar.h"
 #include "simgrid/simdag.h"
 #include "surf/surf.h"
 #include "xbt/mallocator.h"
 #include <stdbool.h>
+#if HAVE_JEDULE
+#include "simgrid/jedule/jedule_sd_binding.h"
+#endif
 
 SG_BEGIN_DECL()
 
 /* Global variables */
 
 typedef struct SD_global {
 
 SG_BEGIN_DECL()
 
 /* Global variables */
 
 typedef struct SD_global {
-  xbt_mallocator_t task_mallocator; /* to not remalloc new tasks */
-
   bool watch_point_reached;      /* has a task just reached a watch point? */
 
   std::set<SD_task_t> *initial_tasks;
   bool watch_point_reached;      /* has a task just reached a watch point? */
 
   std::set<SD_task_t> *initial_tasks;
-  std::set<SD_task_t> *executable_tasks;
+  std::set<SD_task_t> *runnable_tasks;
   std::set<SD_task_t> *completed_tasks;
 
   xbt_dynar_t return_set;
   std::set<SD_task_t> *completed_tasks;
 
   xbt_dynar_t return_set;
@@ -49,23 +51,16 @@ typedef struct SD_task {
   int marked;                   /* used to check if the task DAG has some cycle*/
 
   /* dependencies */
   int marked;                   /* used to check if the task DAG has some cycle*/
 
   /* dependencies */
-  int unsatisfied_dependencies;
-  unsigned int is_not_ready;
-
   std::set<SD_task_t> *inputs;
   std::set<SD_task_t> *outputs;
   std::set<SD_task_t> *predecessors;
   std::set<SD_task_t> *successors;
 
   /* scheduling parameters (only exist in state SD_SCHEDULED) */
   std::set<SD_task_t> *inputs;
   std::set<SD_task_t> *outputs;
   std::set<SD_task_t> *predecessors;
   std::set<SD_task_t> *successors;
 
   /* scheduling parameters (only exist in state SD_SCHEDULED) */
-  int host_count;
-  sg_host_t *host_list;
+  std::vector<sg_host_t> *allocation;
   double *flops_amount;
   double *bytes_amount;
   double rate;
   double *flops_amount;
   double *bytes_amount;
   double rate;
-
-  long long int counter;        /* task unique identifier for instrumentation */
-  char *category;               /* sd task category for instrumentation */
 } s_SD_task_t;
 
 /* SimDag private functions */
 } s_SD_task_t;
 
 /* SimDag private functions */
@@ -74,10 +69,5 @@ XBT_PRIVATE void SD_task_run(SD_task_t task);
 XBT_PRIVATE bool acyclic_graph_detail(xbt_dynar_t dag);
 XBT_PRIVATE void uniq_transfer_task_name(SD_task_t task);
 
 XBT_PRIVATE bool acyclic_graph_detail(xbt_dynar_t dag);
 XBT_PRIVATE void uniq_transfer_task_name(SD_task_t task);
 
-/* Task mallocator functions */
-XBT_PRIVATE void* SD_task_new_f(void);
-XBT_PRIVATE void SD_task_recycle_f(void *t);
-XBT_PRIVATE void SD_task_free_f(void *t);
-
 SG_END_DECL()
 #endif
 SG_END_DECL()
 #endif