Feature #20995
closed
Prefetch small files when scanning a collection directory
Added by Peter Amstutz over 1 year ago.
Updated 11 months ago.
Description
When reading multiple small files in a collection through keep-web, anticipate that the client may read other files in the collection directory adjacent in the data stream to the file being accessed, and perform parallel prefetch on those files as well.
My thinking is that if a given stream is less than X megabytes (256? 512? 1024? configurable?) then keep-web would start a parallel prefetch of the entire stream. In particular if there are lots of small blocks we want to have a bunch of prefetch requests in flight.
One thought is to use similar logic to large file block prefetch where we start from the first read and just read ahead in the stream, except we ignore file boundaries. If prefetch would take us past the end of the end of the stream, we wrap around and start reading at the beginning.
The controlling assumptions here are (a) we have a lot of fast cache where we can dump our blocks (b) the stream ordering is at least vaguely similar to the order of data access
- Related to Idea #18342: Keep performance optimization added
- Description updated (diff)
- Target version changed from Future to Development 2023-11-08 sprint
- Target version changed from Development 2023-11-08 sprint to Development 2023-10-25 sprint
- Subject changed from Prefetch small file blocks when scanning a collection to Prefetch small files when scanning a collection directory
- Target version changed from Development 2023-10-25 sprint to Development 2023-11-08 sprint
- Target version changed from Development 2023-11-08 sprint to Development 2023-11-29 sprint
- Target version changed from Development 2023-11-29 sprint to Development 2024-01-03 sprint
- Target version changed from Development 2024-01-03 sprint to Development 2024-01-17 sprint
- Target version changed from Development 2024-01-17 sprint to Development 2024-01-31 sprint
- Target version changed from Development 2024-01-31 sprint to Development 2024-02-14 sprint
- Target version changed from Development 2024-02-14 sprint to Development 2024-02-28 sprint
- Target version changed from Development 2024-02-28 sprint to Development 2024-03-13 sprint
- Related to Feature #18961: Go FileSystem / FUSE mount supports block prefetch added
- Description updated (diff)
- Assigned To set to Tom Clegg
- Status changed from New to Duplicate
- Target version changed from Development 2024-03-13 sprint to Development 2024-02-28 sprint
Also available in: Atom
PDF