Questions about the usage of the Simulator to get best size #1763
-
Hi! I recently added a logger into my workload so that I could capture the traces. In my case I decided to use the LIRS format as it was very easy to get. The reason why I'd like to use the simulator is because it allows me to choose between different maxSizes and see the hit rate. My current cache is experiencing a lot of misses and I suspect it is due thrashing so I'd like to see which would be a better optimal size. Given that the simulator contains a lot of policies and options, I'd like to know which would be your recommendation here. My goal is not comparing different policies to see if Caffeine (aka TinyLFU) is the best policy for my use case, I want to see which would be the best params for the cache (from what I've read a bunch of the tuneable parameters are already adapted with HillClimbing, that's awesome!). Which would be the Thanks in advance! PS: Adding as well one of the small trace file that I captured to this message in case it is helpful. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Beta Was this translation helpful? Give feedback.
The simulator includes caching products as well, as you probably noticed, so you can generate a chart like below. Since the hit rate is so high and the maximum size is small, I'd guess that in production you have expiration causing it to evict more aggressively? Unfortunately that is not currently supported by the simulator. It might be faster to just run your own script to calculate with, using
FakeTicker
to adjust the logical time based on the event's timestamp.To add expiration to the simulator wouldn't be hard, just time consuming:
PolicyActor
to track and delete, rather than each algorithm.Policy
, a timestamp to theAccessE…