neoremind commented on PR #16145: URL: https://github.com/apache/lucene/pull/16145#issuecomment-5806937284
Thanks @goankur ! Your real workload finding matches what I saw above with microbenchmarks across on hot/mixed/cold workload. The backoff counter is two sides of the same coin: it's great when data is hot, and roughly a no-op when reads are mostly cold, but it is harmful right at the middle ground of mix-warm-cold memory pressure case, which is where your realworld bench goes. One small thing, did you run #16279 locally to get the 3.394 ops/ms (backoff disabled) vs 3.389 (enabled) numbers since I couldn't find them in the PR. Actually, #16279 doesn't vet the backoff on/off, it only compares I/O strategies of mmap, pread, nio, and direct I/O. But anyway, I think the numbers you cited or got align with my above finding, see **"2. When most reads are cold, the backoff doesn't matter"**: NVMe T1 at backoff (current impl.) 2.69 vs always-prefetch (this PR) 2.91 ops/ms, EBS T1 at 1.35 vs 1.34 ops/ms, no difference backoff on/off on cold scenario since every miss resets the counter. Your real workload with a partially cached index matches the finding in **"3. At the mixed-warm-cold scenario, the backoff suppresses the prefetch it needs most"**. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
