3 ms·
A lot of work here is done on predictive prefetching. What if the application had a richer way of communicating with the IO layer instead of a series of reads?
by jtsiskin 6y ago
A lot of work here is done on predictive prefetching.
What if the application had a richer way of communicating with the IO layer instead of a series of reads?
For example reading and processing data in a loop, it could first say that it will need the data at 1a, then x time processing, then 2a, then x time again, then 3a, etc. The IO layer learns what x is, finds the best access pattern given all its requests and upcoming requests. Although this doesn’t work for cases where your next read depended on the last read, it still unlocks many more usage patterns than sequential prefetching does.
Is this just too much extra work for the application developer?
What if instead a process similar to JIT was used?
Bottom line is I think incorporating application level knowledge could improve the prefetching