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

Add CRT Transfer option to Boto3 on select instance types #3946

Merged
merged 4 commits into from
Nov 27, 2023

Conversation

nateprewitt
Copy link
Contributor

@nateprewitt nateprewitt commented Nov 23, 2023

This PR adds the ability to perform basic upload/download S3 operations using the CRT on select EC2 instance types. Similar to the existing experimental behavior in the CLI, this will give users a notable throughput increase in their data transfers.

While this feature is in its early stages, we will not support user specified configuration that's normally supported through a TransferConfig on the upload_file and download_file APIs. The CRT will determine what settings are best for performance on these select instance types and make those decisions to optimize throughput. In future versions of this feature after we've gather initial feedback, we intend to start supporting a wider set of configuration and instance types.

The full list of current support is for these EC2 Instance Types:

  • p4d.24xlarge
  • p4de.24xlarge
  • p5.48xlarge
  • trn1n.32xlarge
  • trn1.32xlarge

Users who do not wish to opt into this feature can disabled it by using the new preferred_transfer_client configuration in the TransferConfig. Setting this to classic will opt into the original Boto3 transfer experience.

@nateprewitt
Copy link
Contributor Author

Some tests will be failing for now until we finish merging the final changes into S3Transfer from crt-enhancements.

@nateprewitt nateprewitt marked this pull request as ready for review November 27, 2023 00:39
Copy link
Contributor

@kyleknap kyleknap left a comment

Choose a reason for hiding this comment

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

Looks fine. I just had a few comments.

tests/unit/test_crt.py Outdated Show resolved Hide resolved
boto3/crt.py Outdated Show resolved Hide resolved
boto3/crt.py Outdated Show resolved Hide resolved
@nateprewitt nateprewitt force-pushed the crt_transfer branch 4 times, most recently from 6886ed2 to 6341cd0 Compare November 27, 2023 17:03
Copy link
Contributor

@kyleknap kyleknap left a comment

Choose a reason for hiding this comment

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

🚢

@nateprewitt nateprewitt merged commit 675e9b3 into boto:develop Nov 27, 2023
39 checks passed
@nateprewitt nateprewitt deleted the crt_transfer branch November 27, 2023 18:16
@gruebel gruebel mentioned this pull request Nov 28, 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.

2 participants