lru-dict icon indicating copy to clipboard operation
lru-dict copied to clipboard

Proposal to Integrate SIEVE Eviction Algorithm

Open yazhuo opened this issue 2 years ago • 3 comments

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!

yazhuo avatar Dec 25 '23 21:12 yazhuo

Awesome, and it is already implemented!

Did you benchmark before/after?

miili avatar Feb 05 '24 22:02 miili

Did you benchmark before/after?

@miili - it looks like @yazhuo and team may have benchmarked SIEVE in https://github.com/amitdev/lru-dict/compare/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.)

ChrisCarini avatar May 06 '24 11:05 ChrisCarini

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.

1a1a11a avatar May 06 '24 13:05 1a1a11a