Revisiting read-ahead efficiency for raw NAND flash storage in embedded Linux

Pierre Olivier, Jalil Boukhobza, Eric Senn · ACM SIGBED Review · 2015

The Linux Read-Ahead mechanism has been designed to bridge the gap between the secondary storage low performance and I/O read-intensive applications for personal computers and servers. This paper revisits the efficiency of this mechanism for embedded Linux using flash memory as secondary storage, which is the case for most embedded systems. Indeed, Linux kernel uses the same read-ahead mechanism whatever the application domain. This paper evaluates the efficiency of read-ahead technique for the widely used flash specific file systems that are JFFS2 and YAFFS2, in terms of response time and energy consumption. We used micro-benchmarks to investigate read-ahead effect on those metrics at a fine (system call) granularity. Moreover, we also study this impact at a higher application level using a macro-benchmark evaluating read-ahead effect on the SQLite DBMS read performance and power consumption. As described in this paper, disabling this mechanism can improve the performance and energy consumption by up to 70% for sequential patterns and up to 60% for random patterns.

Read the paper · More papers on PaperTik