WIP: Cross join via batch broadcast #358
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The main contribution of this PR is the
AbomArc
type which behaves like anArc<T>
but it's safe to be Abomonated. This allows one to arrange a collection and get back batches that areSend
,Clone
, andAbomonation
which allow them to be sent to other workers locally or over the network.I have provided an example that tries to use this mechanism to implement a cross-join by partitioning the arrangement among workers and then broadcast the new batches for joining. That implementation is currently incorrect because I ran out of steam, but it is enough to demonstrate how a
Batch
can be broadcasted to all workers and then combined with the worker-local arrangement state.