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

Suggestion: Add Threaded read-ahead decompression #34

Open
kcgen opened this issue Oct 23, 2020 · 3 comments
Open

Suggestion: Add Threaded read-ahead decompression #34

kcgen opened this issue Oct 23, 2020 · 3 comments

Comments

@kcgen
Copy link

kcgen commented Oct 23, 2020

Threaded read-ahead decompression

  • Threaded, so latency isn't added to the current requested read block.
  • The Read-ahead thread should wait until the requested block is returned to avoid competing for IO simultaneously versus the current request.
  • If a requested location already exists in the decoded read-ahead blocks, then it's returned immediately and any new delta read-ahead block are decoded to the cache.
  • Read-ahead distance in KiB is configurable via API (which gets converted to N compressed blocks internally).
  • If -1 is passed in for the read-ahead distance, then the read-ahead thread will keep going until it decodes the last block (only pausing to yield to current requests to avoid contention), likewise the read-ahead memory cache will expand to hold all decoded blocks.
@kcgen kcgen changed the title Suggestions for v6 Suggestions for v6 - Threaded read-ahead decompression Oct 23, 2020
@rtissera
Copy link
Owner

rtissera commented Oct 24, 2020 via email

@kcgen kcgen changed the title Suggestions for v6 - Threaded read-ahead decompression Suggestion: Add Threaded read-ahead decompression Oct 24, 2020
@rtissera
Copy link
Owner

A straightforward implementation of this using pthread implementation is being considered.

@Zero3K
Copy link

Zero3K commented Mar 31, 2022

Any news regarding it?

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

No branches or pull requests

3 participants