Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Initial partitioned execution #528

Merged
merged 14 commits into from
Jul 25, 2023
Merged

Conversation

bjchambers
Copy link
Collaborator

@bjchambers bjchambers commented Jul 17, 2023

This introduces the key components of partitioned execution.

  • sparrow-scheduler provides functionality for managing the separate pipelines within the query plan and morsel-driven parallelism. It managing a thread-pool of workers pinned to specific CPUs pulling tasks from local queues.
  • sparrow-transforms will provide implementations of the "transforms" (project, select, etc.) and a pipeline for executing the transforms.
  • sparrow-execution will pull everything together to provide partitioned execution.

This is part of #409.

This introduces the key components of partitioned execution.

- `sparrow-scheduler` provides functionality for managing the separate
  pipelines within the query plan and morsel-driven parallelism. It
  managing a thread-pool of workers pinned to specific CPUs pulling
  tasks from local queues.
- `sparrow-transforms` will provide implementations of the "transforms"
  (project, select, etc.) and a pipeline for executing the transforms.
- `sparrow-execution` will pull everything together to provide
  partitioned execution.

TODO (before merge or move to ticket):

- [ ] Cleanup implementation / review naming
- [ ] Reduce the number of top-level fields in PipelineTransform, if
      possible.
- [ ] Implement at least one `Sink` and `Source`
- [ ] Update sparrow execution to actually tie things together.
- [ ] Add unit tests for sparrow execution demonstrating everything
      working together.
- [ ] Add loom tests for the `TransformPipeline`
- [ ] Add loom tests to CI
@cla-bot cla-bot bot added the cla-signed Set when all authors of a PR have signed our CLA label Jul 17, 2023
crates/sparrow-scheduler/src/pipeline.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/pipeline.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/pipeline.rs Show resolved Hide resolved
crates/sparrow-scheduler/src/queue.rs Outdated Show resolved Hide resolved
crates/sparrow-transforms/src/transform_pipeline.rs Outdated Show resolved Hide resolved
crates/sparrow-transforms/src/transform_pipeline.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/pipeline.rs Show resolved Hide resolved
crates/sparrow-scheduler/src/task.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/worker.rs Show resolved Hide resolved
crates/sparrow-transforms/src/transform_pipeline.rs Outdated Show resolved Hide resolved
crates/sparrow-transforms/src/transform_pipeline.rs Outdated Show resolved Hide resolved
crates/sparrow-transforms/src/transforms/project.rs Outdated Show resolved Hide resolved
crates/sparrow-transforms/src/transforms/project.rs Outdated Show resolved Hide resolved
crates/sparrow-transforms/src/transforms/project.rs Outdated Show resolved Hide resolved
@bjchambers bjchambers force-pushed the ben/initial-partitioned-execution branch from a591aec to 6f40ef0 Compare July 21, 2023 19:31
@bjchambers bjchambers changed the title draft: feat: Initial partitioned execution feat: Initial partitioned execution Jul 24, 2023
@github-actions github-actions bot added the enhancement New feature or request label Jul 24, 2023
crates/sparrow-scheduler/src/pipeline.rs Show resolved Hide resolved
crates/sparrow-scheduler/src/pipeline.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/worker.rs Show resolved Hide resolved
crates/sparrow-scheduler/src/worker.rs Outdated Show resolved Hide resolved
crates/sparrow-scheduler/src/worker_pool.rs Show resolved Hide resolved
crates/sparrow-transforms/src/transform.rs Outdated Show resolved Hide resolved
@bjchambers bjchambers added this pull request to the merge queue Jul 25, 2023
Merged via the queue into main with commit 71bfc2c Jul 25, 2023
30 checks passed
@bjchambers bjchambers deleted the ben/initial-partitioned-execution branch July 25, 2023 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed Set when all authors of a PR have signed our CLA enhancement New feature or request sparrow
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants