Wjatscheslaw Dubeyko von IBM hat in der Entwickler-Mailingliste des Linux-Kernels eine Diskussion über die Verwendung von Modellen des maschinellen Lernens im Kernel gestartet und ein Satz von Patches zur Integration von ML-Modellen in den Kernel sowie ein Beispiel für einen symbolischen Treiber, der die Bibliothek verwendet, zur Prüfung vorgeschlagen.
Die Integration von ML-Modellen in den Kernel kann nützlich sein, um die Logik der Arbeit von Subsystemen unter Berücksichtigung der verarbeiteten Daten zu ändern, die Leistung zu optimieren und die Konfiguration abhängig vom internen Zustand der Systeme zu ändern. Die Anwendung des maschinellen Lernens, das Muster erkennen und Vorhersagen treffen kann, ohne dass manuelle Algorithmen implementiert werden müssen, vereinfacht die Auswahl der effektivsten Kernel-Konfiguration unter Berücksichtigung der Komplexität und Variabilität moderner Arbeitslasten und ermöglicht es zudem, Probleme wie die Vorhersage von Ausfällen von Speichersystemen zu lösen.
Neben der Engine zur Ausführung von Modellen wird die Entwicklung von Tools zur Datensammlung für das Training von ML-Modellen, zur direkten Schulung des Modells und zur Testung der Ergebnisse in Betracht gezogen. Da für die Ausführung von ML-Modellen Gleitkommaoperationen erforderlich sind und im Kernel die direkte Verwendung der FPU nicht zulässig ist, stellt der vorgeschlagene Prototyp eine Schicht dar, die es verschiedenen Subsystemen des Kernels ermöglicht, auf ML-Modelle zuzugreifen, die im Benutzerspeicherraum ausgeführt werden, ähnlich wie die Auslagerung von SPDK-, DPDK- und ublk-Handlern in den Benutzerspeicherraum.
Die Auslagerung der Ausführung und des Trainings des Modells in den Benutzerspeicherraum erleichtert die Wartung und isoliert den Kernel von Problemen im Ausführungscode des Modells. In der Trainingsphase können Informationen über den Zustand und die Parameter des Kernels entweder vom Handler aus dem Benutzerspeicherraum angefordert oder von der im Kernel ausgeführten Schicht übertragen werden. Zur Steuerung der Interaktion zwischen Komponenten im Kernel und im Benutzerspeicherraum wird sysfs verwendet. Ein adaptives Training des ML-Modells ist möglich, bei dem das Subsystem des Kernels eine Empfehlung vom ML-Modell erhält, die empfohlene Änderung anwendet und die Effektivität der Empfehlung zur Änderung des Status bewertet.
Quelle: opennet.ru
