parsec
parsec copied to clipboard
Finding source rank in iterate successor based on where the task was executed.
Description
Currently in iterative successor, the source rank (the rank where the task was executed) of a task is fixed (usually based on the data distribution). This creates a problem when tasks are being migrated to another node. If the source rank is fixed parsec will generate the wrong propagation tree for the dependency propagation of the migrated task.
Describe the solution you'd like
In all instance where iterate successors are being called it would be better if the source rank is found based on where the task was executed. This will not break any of the existing code and it will help inter-node task migration.
Additional context
We could use the root in the parsec_remote_deps_t to find where the task was originally executed.