Smart Prefetch
Overview
The built-in block device acceleration component Bcache of the Linux kernel caches hotspot data and sequentializes write addresses to improve read/write efficiency. However, in scenarios where data streams are sequential streams instead of hotspot data streams, the performance is poor. The smart prefetch feature identifies sequential read streams and uses the prefetch algorithm to prefetch valid data to the cache in advance, improving read performance.
Technical Principles
By identifying sequential data streams and prefetching data as large blocks to the cache in advance, this feature improves the read hit rate and drive throughput.
Figure 1 Technical principles of smart prefetch
Expected Results
In sequential read scenarios of block storage:
- If the I/O size is less than 512 KB, the performance is improved by more than 20%.
- If the I/O size is greater than 512 KB, the performance improvement is not obvious.
Parent topic: Features