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

Change bundle upload and download logic to be less memory hungry #171

Open
kerneltime opened this issue May 22, 2019 · 3 comments
Open

Change bundle upload and download logic to be less memory hungry #171

kerneltime opened this issue May 22, 2019 · 3 comments
Labels
CAFS issues related to CAFS harmonization Internal code changes that do not result in bug fixes or new features. P0 Highest priority. Current planned for work.

Comments

@kerneltime
Copy link
Contributor

Currently the CAFS writer has to keep a record in the channel for each chunk that is uploaded until the flush is called. This leads to channel sizes that are large enough to handle the larges possible file. This needs to change to where the channels are being drained in parallel.

@kerneltime kerneltime added P0 Highest priority. Current planned for work. CAFS issues related to CAFS harmonization Internal code changes that do not result in bug fixes or new features. labels May 22, 2019
@kerneltime
Copy link
Contributor Author

kerneltime commented May 22, 2019

This will also eliminate the max CAFS file size limitation for uploads. Not applicable to downloads.

@ransomw1c
Copy link
Contributor

i'm grouping the initial metric-collection setup with this task, since the plan is to collect metrics specific to upload of large files.

my plan here to to create a separate executable that does the metric collection.

@ransomw1c ransomw1c changed the title Change CAFS writer logic to be less memory hungry Change bundle upload and download logic to be less memory hungry Jun 19, 2019
@ransomw1c
Copy link
Contributor

ransomw1c commented Jun 19, 2019

slight scope shift here as the plan is to use a --concurrency-factor flag for both bundle upload and download that can be set between 1 and the upper bound on ints with sensible defaults.

while the --concurrency-factor might initially map directly onto some particular value (such as number of concurrent uploads or downloads), the external view need only have some parameter to tune concurrency (and hence memory usage), nothing as specific as number of files uploaded or downloaded.


  • Extend to read/download path

  • Rename to concurrency/concurrency-factor? open to suggestions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CAFS issues related to CAFS harmonization Internal code changes that do not result in bug fixes or new features. P0 Highest priority. Current planned for work.
Development

No branches or pull requests

2 participants