Lynx: a learning linux prefetching mechanism for SSD performance model

Lynx: a learning linux prefetching mechanism for SSD performance model
复制标题

DOI:
10.1109/nvmsa.2016.7547186
复制
发表时间:
2016-08
期刊:
2016 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA)
影响因子:
--
通讯作者:
Arezki Laga;Jalil Boukhobza;Michel Koskas;Frank Singhoff
Arezki Laga;Jalil Boukhobza;Michel Koskas;Frank Singhoff
中科院分区:
其他
文献类型:
--
作者:
Arezki Laga;Jalil Boukhobza;Michel Koskas;Frank Singhoff

文献摘要

被引文献

相似文献

传统的Linux预取算法是基于I/O负载的空间局部性和硬盘驱动器的性能模型。从应用角度来看,当前数据密集型应用程序I/O工作负载正转向更随机的模式,而从存储设备角度来看,基于闪存的存储设备呈现出与HDD不同的性能模式。在这项工作中,我们提出了一种新的预取机制Lynx。Lynx旨在调整和/或补充Linux预读预取系统,以满足SSD性能模型和新应用程序需求。Lynx使用了一个基于马尔可夫链的简单机器学习系统。学习阶段检测I/O工作负载模式,并计算文件页之间的转移概率。预测阶段使用得到的马尔可夫状态机预取预测的文件页面。我们已经实现了我们的解决方案,并将其集成到Linux内核中。我们使用TPCH基准测试了我们的解决方案。结果表明,与传统的Linux预读相比,Lynx将页面缓存未命中(主要页面错误)的数量平均除以2,从而将TPC-H查询的执行时间减少了50%。
Traditional Linux prefetching algorithms were based on spatial locality of I/O workloads and performance model of hard disk drives. From the applicative point of view, current data-intensive applications I/O workloads are turning towards more random patterns while from the storage device perspective, flash based storage devices present a different performance model than HDDs. In this work, we present a new prefetching mechanism named Lynx. Lynx aims to adapt and/or complement the Linux read-ahead prefetching system for both SSD performance model and new applications needs. Lynx uses a simple machine learning system based on Markov chains. The learning phase detects I/O workload patterns and computes the transition probabilities between file pages. The prediction phase prefetchs predicted file pages with the resulting Markov statemachine. We have implemented our solution and integrated it into the Linux kernel. We experimented our solution using the TPCH benchmark. The results show that Lynx divides the number of page cache misses (major page faults) by 2 on average and thus reduces TPC-H queries execution time by 50% as compared to traditional Linux read-ahead.