Вячеслав Дубейко от компания IBM стартира дискусия в списъка за разработчиците на ядрото Linux относно използването на модели на машинно обучение в ядрото, както и предложи комплект пачове за тестване, съдържащ библиотека за интеграция на ML модели в ядрото и пример за символн драйвер, който използва библиотеката.
Интеграцията на ML модели в ядрото може да е полезна за промяна на логиката на подсистемите с оглед на обработваните данни, оптимизиране на работата и промяна на конфигурацията в зависимост от вътрешното състояние на системите. Прилагането на машинно обучение, способно да разкрива закономерности и създава прогнози без ръчна реализация на алгоритми, ще опрости подбора на най-ефективната конфигурация на ядрото с оглед на сложността и променливостта на съвременните работни натоварвания, както и ще позволи разрешаване на проблеми като прогнозиране на откази на системи за съхранение.
Освен двигателя за изпълнение на модели, се разглежда разработването на инструменти за събиране на данни за обучение на ML модели, непосредствено обучение на модела и тестване на резултата. Тъй като за изпълнението на ML модела са необходими операции с плаваща запетая, а в ядрото не се допуска директно използване на FPU, предложената прототипна реализация представлява прослойка за достъп от различни подсистеми на ядрото до ML модели, изпълнявани в потребителското пространство, по аналогия с изнасянето в потребителското пространство на обработчици SPDK, DPDK и ublk.
Изнасянето на изпълнението и обучението на модела в потребителското пространство опростява поддръжката и изолира ядрото от проблеми в кода на изпълнение на модела. На етапа на обучение данните за състоянието и параметрите на ядрото могат както да се запитват от обработчика в потребителското пространство, така и да се предават чрез прослойката, изпълнявана на ниво ядро. За управление на взаимодействието между компонентите в ядрото и потребителското пространство се прилага sysfs. Възможно е адаптивно обучение на ML модела, при което подсистемата на ядрото получава препоръка от ML модела, прилага предложената промяна и оценява ефективността на препоръката за промяна на състоянието.
Източник: opennet.ru
