Project

General

Profile

Feature #20318

Updated by Peter Amstutz 6 months ago

Add option to store cached blocks in local filesystem rather than RAM in order to take advantage of better performance of (typically SSD-backed) local disk relative to backend, and let the kernel decide what to cache in RAM. 

 Optionally use mmap instead of read to access cache files. 

 Where reasonable, implement the same behavior as the Python SDK in laying out and managing the cache directory containing the files for each cached block. 

 Caller should be able to read a partial block before the entire block is received from upstream, allowing for streaming block content.    Can base this on AsyncBuf but uses a file or mmap as the backing store instead of a plain slice. 

Back