It seems like it'd be nice to have support for running reductions in parallel.
There are some disadvantages, so this should definitely be opt-in. One issue is that there may be dependencies between chunks which need to be handled in some fashion. When you have a file with chunks like this:
It may be that you can successfully remove C only if you have previously removed A, or that you will succeed in removing D only if you did not already remove B. If you run the reductions where you remove A, B, C, and D in parallel, this will produce nondeterministic results.
Nondeterministic results would be acceptable for a lot of use cases, though, so I think there'd be value in supporting the feature.
Would the other users of lithium find this useful? Has anyone taken a look at doing this already?
It seems like it'd be nice to have support for running reductions in parallel.
There are some disadvantages, so this should definitely be opt-in. One issue is that there may be dependencies between chunks which need to be handled in some fashion. When you have a file with chunks like this:
It may be that you can successfully remove
Conly if you have previously removedA, or that you will succeed in removingDonly if you did not already removeB. If you run the reductions where you removeA,B,C, andDin parallel, this will produce nondeterministic results.Nondeterministic results would be acceptable for a lot of use cases, though, so I think there'd be value in supporting the feature.
Would the other users of lithium find this useful? Has anyone taken a look at doing this already?