Lynx: A Learning Linux Prefetching Mechanism For SSD Performance Model - Université de Bretagne Occidentale Access content directly
Conference Papers Year : 2017

Lynx: A Learning Linux Prefetching Mechanism For SSD Performance Model

Jalil Boukhobza
Michel Koskas
  • Function : Author
Frank Singhoff

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.
No file

Dates and versions

hal-01354911 , version 1 (20-08-2016)

Identifiers

Cite

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⟩
268 View
0 Download

Altmetric

Share

Gmail Mastodon Facebook X LinkedIn More