Litcius/Paper detail

Towards a Machine Learning-Assisted Kernel with LAKE

Henrique Fingler, Isha Tarte, Hangchen Yu, Ariel Szekely, Bodun Hu, Aditya Akella, Christopher J. Rossbach

202317 citationsDOIOpen Access PDF

Abstract

The complexity of modern operating systems (OSes), rapid diversification of hardware, and steady evolution of machine learning (ML) motivate us to explore the potential of ML to improve decision-making in OS kernels. We conjecture that ML can better manage tradeoff spaces for subsystems such as memory management and process and I/O scheduling that currently rely on hand-tuned heuristics to provide reasonable average-case performance. We explore the replacement of heuristics with ML-driven decision-making in five kernel subsystems, consider the implications for kernel design, shared OS-level components, and access to hardware acceleration. We identify obstacles, address challenges and characterize tradeoffs for the benefits ML can provide that arise in kernel-space. We find that use of specialized hardware such as GPUs is critical to absorbing the additional computational load required by ML decisioning, but that poor accessibility of accelerators in kernel space is a barrier to adoption. We also find that the benefits of ML and acceleration for OSes is subsystem-, workload- and hardware-dependent, suggesting that using ML in kernels will require frameworks to help kernel developers navigate new tradeoff spaces. We address these challenge by building a system called LAKE for supporting ML and exposing accelerators in kernel space. LAKE includes APIs for feature collection and management across abstraction layers and module boundaries. LAKE provides mechanisms for managing the variable profitability of acceleration, and interfaces for mitigating contention for resources between user and kernel space. We show that an ML-backed I/O latency predictor can have its inference time reduced by up to 96% with acceleration.

Topics & Concepts

Computer scienceKernel (algebra)HeuristicsMultiple kernel learningInferenceOperating systemWorkloadAbstractionScheduling (production processes)Tree kernelKernel methodMachine learningEmbedded systemArtificial intelligencePolynomial kernelSupport vector machineMathematical optimizationMathematicsCombinatoricsEpistemologyPhilosophyAdvanced Data Storage TechnologiesSecurity and Verification in ComputingParallel Computing and Optimization Techniques
Towards a Machine Learning-Assisted Kernel with LAKE | Litcius