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

Proposal to Integrate SIEVE Eviction Algorithm #60

Open
yazhuo opened this issue Dec 25, 2023 · 3 comments
Open

Proposal to Integrate SIEVE Eviction Algorithm #60

yazhuo opened this issue Dec 25, 2023 · 3 comments

Comments

@yazhuo
Copy link

yazhuo commented Dec 25, 2023

Hi there,

Our team (@1a1a11a) has developed a new cache eviction algorithm, called SIEVE. It’s simple, efficient, and scalable.

Why SIEVE could be a great addition:

  • Simplicity: Integrating SIEVE is straightforward, usually needing to change less than 20 lines of code on average.
  • Efficiency: On skewed workloads, which are typical in web caching scenarios, SIEVE is top-notch.
  • Cache Primitive: SIEVE is not just another algorithm; it's a primitive that could enhance or replace LRU/FIFO queues in advanced systems like LeCaR, TwoQ, ARC, and S3-FIFO.

Welcome to dive into the details on our website sievecache.com and on our SIEVE blog.

We would love to explore the possibility of integrating SIEVE into lru-dict. We believe it could be a beneficial addition to the library and the community.

Looking forward to your feedback!

@miili
Copy link
Contributor

miili commented Feb 5, 2024

Awesome, and it is already implemented!

Did you benchmark before/after?

@ChrisCarini
Copy link

Did you benchmark before/after?

@miili - it looks like @yazhuo and team may have benchmarked SIEVE in master...cacheMon:lru-dict:master

@amitdev - have you had a chance to take a look at this yet? The improvements seem good.

(Note: I am not associated with the team behind SIEVE; rather just a (1) user of lru-dict and (2) am interested in leveraging SIEVE after reading about it.)

@1a1a11a
Copy link

1a1a11a commented May 6, 2024

Just a note, the cachemon implementation is a prototype and should not be merged directly. If @amitdev is willing to merge it, we are happy to create a mergable PR request.

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

4 participants