Linux bietet Entwicklern und Ingenieuren die Möglichkeit, seinen Betrieb zu „tunen“, indem es Tausende individueller Parameter bereitstellt, mit denen sich die Art und Weise anpassen lässt, wie der Open-Source-Kernel Ressourcen verwaltet. Diese Art der Optimierung kann die Leistung schneller verbessern, ohne den Kernel neu zu kompilieren, ist jedoch selbst für die erfahrensten FOSS-Programmierer immer noch eine anspruchsvolle Aufgabe.
Kernel-Tuning ist eine äußerst anspruchsvolle Aufgabe, daher gibt es Versuche, diese Aufgabe anstelle menschlicher Entwickler mithilfe künstlicher Intelligenz zu erledigen. Das chinesische Technologieunternehmen ByteDance gab kürzlich Testergebnisse zum automatischen Tuning des Linux-Kernels bekannt, einer auf künstlicher Intelligenz basierenden Lösung, die es menschlichen Ingenieuren ermöglicht, durch die Analyse historischer Daten bessere Optimierungsentscheidungen zu treffen – eine Aufgabe, die Menschen normalerweise als Herausforderung empfinden würden.
Das Erreichen einer optimalen Linux-Leistung durch Optimierung ist ein zeitaufwändiger Prozess, der umfangreiche Experimente durch Linux-Experten erfordert. Unterschiedliche Arbeitslasten erfordern unterschiedliche Optimierungsmethoden für unterschiedliche Sätze von Kernel-Parametern. ByteDance-Entwickler Cong Wang erwähnte, dass die manuelle Optimierung des Linux-Kernels für „Hunderte“ verschiedener Arbeitslasten in großen Rechenzentren, wie sie das Unternehmen nutzt, nahezu unmöglich ist.
Es gibt zwar Tools zur Vereinfachung des Kernel-Tunings, sie bieten jedoch eine bestimmte Art der Optimierung. Der Ansatz von ByteDance zielt darauf ab, die erste automatisierte Lösung im Kernel-Tuning-Bereich auf den Markt zu bringen – eine Technologie, die alle Linux-Tuning-Parameter mit minimalem technischen Aufwand abdecken kann.
Besonderes Augenmerk legt Wangs Team auf die Optimierung des Speicherverwaltungssystems von Linux. Durch den Einsatz von Algorithmen für maschinelles Lernen wie der Bayes'schen Optimierung stellte das Unternehmen fest, dass mit der automatisierten Parameteroptimierung bessere Ergebnisse erzielt werden können, als die meisten Linux-Kernel-Ingenieure normalerweise erzielen.
Das Auto-Tuning-Tool von ByteDance ist darauf ausgelegt, die internen Linux-Einstellungen basierend auf bestimmten Arbeitslasten und Hardwarekonfigurationen automatisch anzupassen. Die Kerne werden dynamisch abgestimmt, um in jeder Situation eine optimale Leistung zu gewährleisten, wodurch die seit langem bestehende Notwendigkeit entfällt, die Kerne für jede Recheninstanz manuell abzustimmen.
In den meisten Fällen schienen die auf künstlicher Intelligenz basierenden automatischen Anpassungen von Wang und Kollegen wirksam zu sein. Laut ByteDance können maschinelle Lernalgorithmen das System dynamisch optimieren, indem sie die Kernleistung in Echtzeit überwachen und die Effizienz durch Optimierung der Ressourcennutzung verbessern. Das KI-System verfügt außerdem über eine benutzerfreundliche Oberfläche, sodass Benutzer mit begrenzten technischen Kenntnissen von einem benutzerfreundlicheren Kern profitieren können. Gleichzeitig können fortgeschrittene Benutzer die automatischen Anpassungsparameter anpassen.
ByteDance behauptet, dass Algorithmen für maschinelles Lernen die Speichernutzung einer Anwendung um 30 % reduzieren oder die HTTP-Netzwerklatenz auf NGINX-Servern optimieren können, was zu einer Verbesserung der Netzwerkleistung um 12 % gegenüber manuellen Anpassungen führt. In Cloud-Computing- und Rechenzentrumsszenarien können diese Verbesserungen zu erheblichen Kosteneinsparungen und optimierter Leistung führen. Entwickler geben zu, dass die automatische Kernel-Optimierung durch maschinelles Lernen nicht in jedem Fall funktioniert, gehen jedoch davon aus, dass sie zunehmend notwendig wird.
Besuchen Sie die Dokumentation, um mehr zu erfahren:
https://lpc.events/event/17/contributions/1520/attachments/1152/2582/Linux%20Kernel%20Autotuning.pdf