5 ms·
Could you share some pointers where I can read more on “loop resistance?” Does that just refer to whether it does well on a looping access pattern?
by medler 3y ago
Could you share some pointers where I can read more on “loop resistance?” Does that just refer to whether it does well on a looping access pattern?
- senderista 3y agoThe usual phrase is "scan resistance", which is especially important for databases. A pure LRU policy does poorly on scans; LFU does better but performs worse than LRU on other workloads. The original ARC paper[0] has a good discussion of the tradeoffs. [0] https://www.usenix.org/legacy/events/fast03/tech/full_papers/megiddo/megiddo.pdf https://www.usenix.org/legacy/events/fast03/tech/full_papers...
- falsandtru 3y agoScan resistance and loop resistance are completely different. They are also distinguished in the papers. Note that ARC has scan resistance but no loop resistance.
- medler 3y agoNone of the papers linked above or linked in the GitHub repo mention “loop resistance.”
- senderista 3y agoNot completely different; they're both sequential access patterns and equivalent whenever the loop size exceeds cache size.
- falsandtru 3y agoNot equivalent completely. Scan is a one-time access, so it never hits in scanning. Loop is multi-time accesses, so it can get many hits in looping if it has loop resistance. No hits on scan resistance in looping. Over.
- falsandtru 3y agoI am disgusted by people who are repulsed by even the correction of a complete error. They must have bad grades in college. From now on, we have no choice but to leave it alone even if a false rumor is spread.
- falsandtru 3y agoSometimes referred to as tolerance. There is no established terminology, so the only way to find out is to use scan or loop as keywords.
- someplaceguy 3y agoSo why did you say S3-FIFO has no loop resistance (or loop tolerance)?
- falsandtru 3y agoThere is an established benchmark for testing loop resistance (GLI, Loop). S3-FIFO has not passed this test. And I have already confirmed that S3-FIFO does not pass the test.
- someplaceguy 3y agoThe design of S3-FIFO seems to imply it should handle all loops less than 90% of the cache size pretty well, perhaps even up to 100%. Did you figure out why it did not pass the test? Was there a bug in the implementation, perhaps? Also, where can I find the benchmark you speak of? My web search did not find anything.
- falsandtru 3y agoMy implementation is reviewed and linked from the official S3-FIFO page. https://s3fifo.com https://s3fifo.com A benchmark is as follows. https://github.com/ben-manes/caffeine/wiki/Efficiency https://github.com/ben-manes/caffeine/wiki/Efficiency I can't deal with you any longer. Over.
- NovaX 3y ago/u/someplaceguy, Those LIRS traces, along with many others, are available at this page [1]. I did a cursory review using their traces with Caffeine's and the author's simulators to avoid bias or a mistaken implementation. In their target workloads Caffeine was on par or better [2]. I have not seen anything novel in this or their previous works and find their claims to be easily disproven, so I have not implement this policy in Caffeine’s simulator yet. [1]: https://github.com/ben-manes/caffeine/wiki/Simulator https://github.com/ben-manes/caffeine/wiki/Simulator [2]: https://github.com/1a1a11a/libCacheSim/discussions/20 https://github.com/1a1a11a/libCacheSim/discussions/20