Rate This Document
Findability
Accuracy
Completeness
Readability

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.