Интеграция ML-моделей в ядро может быть полезной для изменения логики работы подсистем с учётом обрабатываемых данных, оптимизации работы и изменения конфигурации в зависимости от внутреннего состояния систем. Применение машинного обучения, способного выявлять закономерности и строить прогнозы без ручной реализации алгоритмов, упростит подбор наиболее эффективной конфигурации ядра c учётом сложности и изменчивости современных рабочих нагрузок, а также позволит решать такие проблемы, как предсказание сбоев систем хранения.
Помимо движка для выполнения моделей рассматривается разработка инструментов сбора данных для обучения ML-моделей, непосредственно обучения модели и тестирования результата. Так как для выполнения ML-модели требуются операции с плавающей запятой, а в ядре недопускается прямое использование FPU, предложенный прототип представляет собой прослойку для обращения из различных подсистем ядра к ML-моделям, выполняемым в пользовательском пространстве, по аналогии с выносом в пользовательское пространство обработчиков SPDK, DPDK и ublk.
Вынос выполнения и обучения модели в пространство пользователя упрощает сопровождение и изолирует ядро от проблем в коде выполнения модели. На стадии обучения данные о состоянии и параметрах ядра могут как запрашиваться обработчиком из пользовательского пространства, так и передаваться прослойкой, выполняемой на уровне ядра. Для управления взаимодействия компонентами в ядре и пользовательском пространстве применяется sysfs. Возможно адаптивное обучение ML-модели, при котором подсистема ядра получает рекомендацию от ML-модели, применяет рекомендуемое изменение и оценивает эффективность рекомендации по изменению состояния.
Источник: http://www.opennet.ru/opennews/art.shtml?num=64755
