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

[WIP] Nydusd: introduce runtime streaming prefetching #1538

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

hangvane
Copy link
Contributor

@hangvane hangvane commented Jan 9, 2024

Relevant Issue (if applicable)

If there are Issues related to this PullRequest, please list it.

Details

Streaming prefetching allows to prefetch a blob by a single prefetching request, where the request is streaming processed the partially fetched data is processed immediately.

As a result, the number of requests for starting a Wordpress container can be reduced from~115 requests to ~36 requests.

It requires build-time prefetching to pre-organize the chunks.

Still working in progress.

Types of changes

What types of changes does your PullRequest introduce? Put an x in all the boxes that apply:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation Update (if none of the other choices apply)

Checklist

Go over all the following points, and put an x in all the boxes that apply.

  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.

@hangvane hangvane requested a review from a team as a code owner January 9, 2024 07:15
@hangvane hangvane requested review from bergwolf, power-more and Desiki-high and removed request for a team January 9, 2024 07:15
@hangvane hangvane force-pushed the prefetch_stream_master branch 2 times, most recently from 55cb4f7 to aa354d7 Compare January 18, 2024 12:18
Copy link

codecov bot commented Jan 18, 2024

Codecov Report

Attention: 919 lines in your changes are missing coverage. Please review.

Comparison is base (5f26f8e) 61.38% compared to head (945d411) 60.17%.
Report is 2 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1538      +/-   ##
==========================================
- Coverage   61.38%   60.17%   -1.22%     
==========================================
  Files         144      145       +1     
  Lines       46962    47959     +997     
  Branches    44498    45495     +997     
==========================================
+ Hits        28828    28858      +30     
- Misses      16650    17612     +962     
- Partials     1484     1489       +5     
Files Coverage Δ
rafs/src/metadata/direct_v6.rs 44.26% <ø> (ø)
storage/src/cache/filecache/mod.rs 67.83% <85.71%> (+0.33%) ⬆️
storage/src/cache/fscache/mod.rs 76.50% <85.71%> (+0.11%) ⬆️
storage/src/cache/state/mod.rs 87.83% <33.33%> (-2.44%) ⬇️
storage/src/meta/chunk_info_v1.rs 95.17% <0.00%> (-0.74%) ⬇️
rafs/src/fs.rs 31.15% <86.66%> (-3.39%) ⬇️
storage/src/meta/chunk_info_v2.rs 87.77% <0.00%> (-1.31%) ⬇️
storage/src/cache/dummycache.rs 90.90% <6.66%> (-3.64%) ⬇️
storage/src/cache/state/blob_state_map.rs 75.41% <0.00%> (-1.79%) ⬇️
storage/src/meta/mod.rs 72.47% <12.50%> (+0.08%) ⬆️
... and 8 more

... and 3 files with indirect coverage changes

Signed-off-by: Wenhao Ren <[email protected]>
@hangvane hangvane marked this pull request as draft January 22, 2024 03:40
@imeoer imeoer mentioned this pull request Apr 24, 2024
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.

1 participant