Skip to main navigation Skip to search Skip to main content

Improving Storage Systems Using Machine Learning

  • Ibrahim Umit Akgun
  • , Ali Selman Aydin
  • , Andrew Burford
  • , Michael Mcneill
  • , Michael Arkhangelskiy
  • , Erez Zadok
  • Stony Brook University

Research output: Contribution to journalArticlepeer-review

8 Scopus citations

Abstract

Operating systems include many heuristic algorithms designed to improve overall storage performance and throughput. Because such heuristics cannot work well for all conditions and workloads, system designers resorted to exposing numerous tunable parameters to users - thus burdening users with continually optimizing their own storage systems and applications. Storage systems are usually responsible for most latency in I/O-heavy applications, so even a small latency improvement can be significant. Machine learning (ML) techniques promise to learn patterns, generalize from them, and enable optimal solutions that adapt to changing workloads. We propose that ML solutions become a first-class component in OSs and replace manual heuristics to optimize storage systems dynamically. In this article, we describe our proposed ML architecture, called KML. We developed a prototype KML architecture and applied it to two case studies: optimizing readahead and NFS read-size values. Our experiments show that KML consumes less than 4 KB of dynamic kernel memory, has a CPU overhead smaller than 0.2%, and yet can learn patterns and improve I/O throughput by as much as 2.3× and 15× for two case studies - even for complex, never-seen-before, concurrently running mixed workloads on different storage devices.

Original languageEnglish
Article number9
JournalACM Transactions on Storage
Volume19
Issue number1
DOIs
StatePublished - Jan 19 2023

Keywords

  • Machine Learning
  • Operating systems
  • storage performance optimization
  • storage systems

Fingerprint

Dive into the research topics of 'Improving Storage Systems Using Machine Learning'. Together they form a unique fingerprint.

Cite this