All the L1 data for a DIST cache is stored in the
same data container as the actual distributed data itself. I
wanted to propose breaking this out so there is a separate data
container for the L1 cache as compared to the distributed data.
I thought of a few quick benefits/drawbacks:
Benefits:
1. L1 cache can be separately tuned - L1
maxEntries for example
2. L1 values will not cause eviction of real data
4. Could add a new DataContainer implementation
specific to L1 with additional optimizations
Drawbacks:
1. Would require, depending on configuration, an
additional thread for eviction
2. Users upgrading could have double memory used
up due to 2 data containers
Both?:
1. Additional configuration available
a. Add maxEntires just like the normal data
container (use data container size if not configured?)
b. Eviction wakeup timer? We could just reuse the task
cleanup frequency?
c. Eviction strategy? I would think the
default data container's would be sufficient.
I was wondering what you guys thought.
Thanks,
- Will