A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
change the way dependencies are handled
[simgrid.git]
/
src
/
simdag
/
simdag_private.h
diff --git
a/src/simdag/simdag_private.h
b/src/simdag/simdag_private.h
index
d234556
..
331a2c3
100644
(file)
--- a/
src/simdag/simdag_private.h
+++ b/
src/simdag/simdag_private.h
@@
-49,11
+49,14
@@
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 */
- xbt_dynar_t tasks_before;
- xbt_dynar_t tasks_after;
int unsatisfied_dependencies;
unsigned int is_not_ready;
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) */
int host_count;
sg_host_t *host_list;
/* scheduling parameters (only exist in state SD_SCHEDULED) */
int host_count;
sg_host_t *host_list;
@@
-65,15
+68,6
@@
typedef struct SD_task {
char *category; /* sd task category for instrumentation */
} s_SD_task_t;
char *category; /* sd task category for instrumentation */
} s_SD_task_t;
-/* Task dependencies */
-typedef struct SD_dependency {
- char *name;
- void *data;
- SD_task_t src;
- SD_task_t dst;
- /* src must be finished before dst can start */
-} s_SD_dependency_t, *SD_dependency_t;
-
/* SimDag private functions */
XBT_PRIVATE void SD_task_set_state(SD_task_t task, e_SD_task_state_t new_state);
XBT_PRIVATE void SD_task_run(SD_task_t task);
/* SimDag private functions */
XBT_PRIVATE void SD_task_set_state(SD_task_t task, e_SD_task_state_t new_state);
XBT_PRIVATE void SD_task_run(SD_task_t task);