Lynx: A Learning Linux Prefetching Mechanism For SSD Performance Model

Arezki Laga 1 Jalil Boukhobza 1 Michel Koskas Frank Singhoff 1
1 Lab-STICC_UBO_CACS_MOCS
Lab-STICC - Laboratoire des sciences et techniques de l'information, de la communication et de la connaissance, UBO - Université de Brest
Abstract : 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.
Complete list of metadatas

https://hal.univ-brest.fr/hal-01354911
Contributor : Jalil Boukhobza <>
Submitted on : Saturday, August 20, 2016 - 10:48:29 AM
Last modification on : Monday, February 25, 2019 - 3:14:10 PM

Identifiers

Citation

Arezki Laga, Jalil Boukhobza, Michel Koskas, Frank Singhoff. Lynx: A Learning Linux Prefetching Mechanism For SSD Performance Model. The 5th IEEE Non-Volatile Memory Systems and Applications Symposium (NVMSA 2016), Aug 2016, Daegu, South Korea. ⟨10.1109/NVMSA.2016.7547186⟩. ⟨hal-01354911⟩

Share

Metrics

Record views

306