21639: Reenable prefetch, but not on every read()
authorPeter Amstutz <peter.amstutz@curii.com>
Fri, 5 Apr 2024 22:53:37 +0000 (18:53 -0400)
committerPeter Amstutz <peter.amstutz@curii.com>
Fri, 5 Apr 2024 23:06:30 +0000 (19:06 -0400)
commit14088c5bd88ede15698ba8f5b8efbf08e18374ce
tree70ca1794268c71f317bbeec4d388fe4c20bf0dda
parent44c8f9ed561513b607d3eca752ad3e1efd376f56
21639: Reenable prefetch, but not on every read()

Only do prefetch every 128 invocations of read().

This should dramatically reduce the overhead of computing prefetch
while still getting some or moste of the benefits of prefetching.

Indeed, benchmarking suggests that this prefetching strategy, by
advising the kernel to map blocks into RAM, may actually improve
throughput on the high end.

Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz@curii.com>
sdk/python/arvados/arvfile.py
sdk/python/arvados/keep.py
services/fuse/arvados_fuse/command.py