Thor can not tell if LOOP needs synchronization, if an activity of loop body requires global result.

Description

When building up the graphs, Thor flags the graphs as 'global' (needing cluster wide synchronization) or not, if they are local only, they can be executed without synchronization, or any flow control from the master.
This crucial for LOOP, if it contains no activities that require synchronization, it can execute much more quickly on the slaves.

There are some graphs where the body of the loop, looks local only, but the generated code makes calls back to request the global result, therefore the loop iterations must be globally synchronized.

The code generator needs to flag those loops or activities within the loop body which behave this way, so that Thor can discern this requirement.

Conclusion

None

Activity

Show:

Gavin Halliday April 18, 2016 at 2:43 PM

Reassigning because either a hint or a more comprehensive fix will need to be implemented in Thor.

Gavin Halliday April 18, 2016 at 2:28 PM

as far as I can see I already set a flag on the graph to indicate if it is a child graph (instead of a loop graph).

When you have time, what information do you think that the code generator needs to add (if anything).

Gavin Halliday April 14, 2016 at 2:24 PM

suggested using a hint as a temporary work around.

Can we talk when you are back about the exact problem, and get it documented here. For instance what makes the graph local v/ global, and what is it that Thor cannot deduce?

Fixed
Pinned fields
Click on the next to a field label to start pinning.
Created June 18, 2015 at 12:04 PM
Updated April 27, 2016 at 2:04 PM
Resolved April 27, 2016 at 2:04 PM

Flag notifications