[infinispan-dev] Eviction in Infinispan

Manik Surtani manik at jboss.org
Tue Mar 24 05:07:38 EDT 2009


FYI, I have detailed how this will look, etc on this wiki page:

	http://www.jboss.org/community/docs/DOC-13449


On 23 Mar 2009, at 20:18, Manik Surtani wrote:

> Hello all.
>
> So as you know eviction changed pretty substantially from JBC3 but  
> the overall design still remained the same.  I'm proposing a radical  
> change to the design, which we briefly discussed in Neuchatel.
>
> Here's a recap of what has changed already since JBC3:
>
> 1.  ExpirationAlgorithm and ElementSizeAlgorithm dropped,  
> unnecessary.  Leaves us with {FIFO, LRU, MRU, LFU}
> 2.  Eviction queue design improved to O(1) for most operations on  
> most algorithms, except LFU (O(log n))
> 3.  Expiration treated as a top-level construct where lifespans for  
> entries can be provided on a per-entry basis
> 4.  Eviction watermarks are now exclusively size-based (numElements)  
> and not time-based.
> 5.  MinTTL still supported.
>
> Now here is how I want to change things further:
>
> 1.  Drop MRU and LFU.  I don't see MRU being useful except in very  
> specific edge cases.  LRU somewhat useful but very expensive.
> 2.  Re-introduce a time-based watermark.  Brian, this is where your  
> thoughts are most useful - how do you see this being used?  In  
> passivation?
> 3.  Get rid of the eviction queues.  Unnecessary duplication of  
> keys.  The core datastructure can be refactoreed to provide an  
> efficient, threadsafe lookup for entries, where entries are also  
> ordered for eviction.
> 4.  To support 3. and make it as efficient as possible, eviction may  
> only be an approximation.  (e.g., if items 1 - 10 are added in  
> order, and 3 need to be removed based on FIFO, we may lose 7, 9 and  
> 10 instead of 8, 9 and 10.).  How much of a concern is this?   
> (typical tradeoff of accuracy vs efficiency)
>
> Cheers
> --
> Manik Surtani
> Lead, JBoss Cache
> http://www.jbosscache.org
> manik at jboss.org
>
>
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
Lead, JBoss Cache
http://www.jbosscache.org
manik at jboss.org




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20090324/bb2cf8d8/attachment-0001.html 


More information about the infinispan-dev mailing list