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

Programmable Gateways #804

Merged
merged 160 commits into from
Apr 27, 2023
Merged

Programmable Gateways #804

merged 160 commits into from
Apr 27, 2023

Conversation

sarahwooders
Copy link
Contributor

@sarahwooders sarahwooders commented Apr 25, 2023

Changes:

  • Add Pipeline object for queueing multiple jobs (example in python examples/test_pipeline.py. )
  • Require Dataplane creation to provide a topology plan
  • Modify gateways to run on gateway programs
  • Modify planner (planner.py) to generate a TopologPlan object which can be compiled into a gateway program JSON to be provided to gateways
  • Modify ProgressBarTransferHook to support tracking multiple destinations
  • Support pipelining upload ID generation for multipart transfers by adding a /api/v1/upload_id_maps endpoint to Gateway API to send upload ID mappings to gateways along with chunk dispatching

lynnliu030 and others added 30 commits November 29, 2022 13:36
This change introduces an API for Skyplane Broadcast

Todos:
- [x] Fix provisioning in BroadcastDataplane
  - Reuse provision loop via inheritance
  - Move `_start_gateway` to a class method and override it
  - Adapt broadcast to use `bound_nodes`
- [x] Add BroadcastCopyJob (ideally extend CopyJob)
- [x] Update tracker to monitor broadcast jobs
- [x] Add multipart support 
- [x] Fix dependency issue via adding dockerfile and bc_requirements 
- [x] Integrate with gateway and test the monitoring side 

Co-authored-by: Paras Jain <[email protected]>
Co-authored-by: Sarah Wooders <[email protected]>
Copy link
Contributor

@simon-mo simon-mo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly cosmetic comments. Can we add unit test for the gateway component? It is an isolated component and it should be very easy to test standalone. This can help debugging easier as well.

skyplane/api/client.py Outdated Show resolved Hide resolved
skyplane/api/config.py Outdated Show resolved Hide resolved
skyplane/api/config.py Outdated Show resolved Hide resolved
skyplane/api/dataplane.py Outdated Show resolved Hide resolved
skyplane/api/provisioner.py Outdated Show resolved Hide resolved
skyplane/api/transfer_job.py Show resolved Hide resolved
skyplane/api/transfer_job.py Outdated Show resolved Hide resolved
skyplane/compute/aws/aws_auth.py Outdated Show resolved Hide resolved
skyplane/compute/aws/aws_cloud_provider.py Outdated Show resolved Hide resolved
skyplane/compute/aws/aws_cloud_provider.py Outdated Show resolved Hide resolved
@sarahwooders
Copy link
Contributor Author

I made an issue for adding gateway components tests #806, since ideally we can get this merged asap

@sarahwooders sarahwooders removed the request for review from parasj April 27, 2023 01:46
@sarahwooders sarahwooders merged commit 0513671 into skyplane-project:main Apr 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants