Search papers, labs, and topics across Lattice.
This paper proposes an architecture for integrating machine learning capabilities into the Linux kernel, addressing the challenges of floating-point operations and potential performance degradation. It introduces a kernel ML library that allows kernel modules to interact with user-space ML models via a proxy. A proof-of-concept implementation demonstrates the feasibility of this approach and defines the interface between kernel-space and user-space components.
Adding ML to the Linux kernel could enable self-evolving capabilities, but requires careful architecture to avoid performance degradation.
Linux kernel is a huge code base with enormous number of subsystems and possible configuration options that results in unmanageable complexity of elaborating an efficient configuration. Machine Learning (ML) is approach/area of learning from data, finding patterns, and making predictions without implementing algorithms by developers that can introduce a self-evolving capability in Linux kernel. However, introduction of ML approaches in Linux kernel is not easy way because there is no direct use of floating-point operations (FPU) in kernel space and, potentially, ML models can be a reason of significant performance degradation in Linux kernel. Paper suggests the ML infrastructure architecture in Linux kernel that can solve the declared problem and introduce of employing ML models in kernel space. Suggested approach of kernel ML library has been implemented as Proof Of Concept (PoC) project with the goal to demonstrate feasibility of the suggestion and to design the interface of interaction the kernel-space ML model proxy and the ML model user-space thread.