toil icon indicating copy to clipboard operation
toil copied to clipboard

CWL job chaining is sub-optimal because we can't chain when a job has multiple predecessors

Open mr-c opened this issue 4 years ago • 5 comments

┆Issue is synchronized with this Jira Story ┆Issue Number: TOIL-949

mr-c avatar Jul 02 '21 15:07 mr-c

@mr-c Can you please elaborate on this?. I would like to improve this if possible.

mberacochea avatar Aug 04 '21 19:08 mberacochea

@mr-c Can you please elaborate on this?. I would like to improve this if possible.

See also https://github.com/DataBiosphere/toil/pull/3696 for more details

mr-c avatar Aug 05 '21 13:08 mr-c

It looks like specifically the problem is that we can't chain to the next job if there are multiple predecessors of it, and that might happen more often in CWL.

adamnovak avatar Aug 17 '22 19:08 adamnovak

I think this happens more often in CWL because we're making a predecessor/successor link whenever one job uses an output from another job, even if that link would be transitively redundant.

So if you have jobs A, B, and C, each of which uses the results of all the previous jobs, then you won't be able to chain from B to C because A is also a predecessor of C, and C has multiple predecessors, which Toil can only handle when scheduling from the leader. The fact that B couldn't have been running unless A was already done isn't actually used to infer that we ought to be able to run C.

adamnovak avatar Aug 17 '22 19:08 adamnovak