| 摘要: |
| 设计并实现了一种按需预取算法,采用更为宽松的顺序性判决条件,并以页面和页面缓存的状态作为可靠的决策依据.它可以发现淹没在随机读中的顺序访问并进行有效的预读,支持对单个文件实例的并发访问而产生的交织访问模式.实验结果表明:相对于原Linux预读算法,该算法在随机干扰下的顺序读性能可提高29%;交织读的性能是传统算法的4~27倍;同时,应用程序可见延迟改善可达35倍.该算法已被Linux 2.6.24内核采用. |
| 关键词: Linux 操作系统 I/O性能 文件预取 并发I/O 访问模式 |
| DOI: |
| 分类号: |
| 基金项目:Supported by the National Natural Science Foundation of China under Grant No.60774038 (国家自然科学基金); the National High-Tech Research and Development Plan of China under Grant No.2008AA01A317 (国家高技术研究发展计划(863)); the Intel Research Council Project under Grant No.4507345522 (英特尔研究委员会项目) |
|
| File Prefetching Algorithm for Concurrent Streams |
|
WU Feng-Guang,XI Hong-Sheng,XU Chen-Feng
|
| Abstract: |
| This paper proposes and implements a demand prefetching algorithm, which uses relaxed sequentiality criteria as well as page and page cache states as reliable sources of information. It can discover and prefetch sequential streams mixed in random accesses. It can also support the interleaved access patterns created by concurrent sequential reads on one file descriptor. Experimental results show that it performs much better than legacy Linux readahead: sequential reading intermixed with random ones are faster by 29%; I/O throughput of interleaved streams could be 4~27 times better, with application visible I/O latencies improved by up to 35 times. This demand prefetching algorithm has been adopted by Linux kernel 2.6.24. |
| Key words: Linux operating system I/O performance file prefetching parallel I/O access pattern |