Vjačeslav Dubějko ze společnosti IBM zahájil na seznamu pro vývojáře jádra Linux diskusi o využití modelů strojového učení v jádře a také navrhl pro testování sadu patchů s knihovnou pro integraci ML modelů do jádra a příkladem symbolického ovladače, který používá tuto knihovnu.
Integrace ML modelů do jádra může být užitečná pro změnu logiky práce subsystémů s ohledem na zpracovávaná data, optimalizaci práce a změnu konfigurace v závislosti na vnitřním stavu systémů. Použití strojového učení, které dokáže odhalovat vzory a vytvářet predikce bez ruční implementace algoritmů, zjednoduší výběr nejefektivnější konfigurace jádra s ohledem na složitost a proměnlivost současných pracovních zátěží, a také umožní řešit problémy, jako je předpovídání selhání systémů úložiště.
Kromě enginu pro provádění modelů se zvažuje vývoj nástrojů pro sběr dat pro trénink ML modelů, přímo učení modelu a testování výsledku. Vzhledem k tomu, že pro provádění ML modelu jsou vyžadovány operace s plovoucí desetinnou čárkou, a v jádře je nepřípustné přímé používání FPU, navržený prototyp představuje vrstvu pro volání z různých subsystémů jádra k ML modelům prováděným v uživatelském prostoru, podobně jako vyvedení do uživatelského prostoru obslužných rutin SPDK, DPDK a ublk.
Vyvedení provádění a učení modelu do uživatelského prostoru zjednodušuje údržbu a izoluje jádro od problémů v kódu provádění modelu. Ve fázi učení mohou být údaje o stavu a parametrech jádra jak dotazovány obslužným programem z uživatelského prostoru, tak předávány vrstvou, která běží na úrovni jádra. Pro řízení interakce komponent v jádře a uživatelském prostoru se používá sysfs. Je možné adaptivní učení ML modelu, kdy subsystém jádra dostává doporučení od ML modelu, uplatňuje doporučenou změnu a hodnotí účinnost doporučení podle změny stavu.
Zdroj: opennet.ru
