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

Add Sieve implementation and Integrate Sieve into Cachebench #336

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Helen0721
Copy link

Sieve is a FIFO-based eviction algorithm recognized for its throughput and scalability. We’ve integrated Sieve as a new MMContainer option. During testing with key-value traces and synthetic traces using cachebench, Sieve demonstrated a comparable or higher hit ratio while achieving higher scalability compared to other algorithms.

Testing Constraints:
Due to hardware limitations, we capped the amplification factor at 10 and set the cache size to 40GB (approximately 10% of the total cache footprint) and 10GB. The results are shown here:
40GB_t1_lru,lru2q,sieve_243.pdf
40GB_t20_lru,lru2q,sieve_195.pdf
10GB_t1_lru,lru2q,sieve_500.pdf
10GB_t1_lru,lru2q,sieve_195.pdf

Throughput Considerations:
Please note that throughput during testing was constrained by the CSV generator. In synthetic trace tests, Sieve achieves higher get rates and hit ratios:
8192MB_t48_lru,lru2q,sieve.pdf

How to Use Sieve:
To utilize Sieve, specify it as an allocator using cachelib::SieveAllocator .

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 21, 2024
@facebook-github-bot
Copy link
Contributor

@pbhandar2 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants