Лінус Торвальдс експериментує з AI для Linux
Лінус Торвальдс експериментує з AI для покращення Linux ядра
Лінус Торвальдс, творець Linux, проводить експерименти з розробкою ядра за допомогою AI, використовуючи Claude Code від Anthropic для написання патчів, які покращують продуктивність управління пам’яттю Linux ядра. Результати вражають, з деякими бенчмарками, які показують більш ніж триразове підвищення пропускної здатності читання.
Дослідження патчів для покращення читання даних
Експеримент, задокументований у коміті від 10 жовтня під назвою mm: читання з кешу сторінок без посилань на фоліо, складається з восьми патчів, які націлені на те, як Linux читає дані з кешу сторінок.
Проблема, яку Торвальдс хотів вирішити, пов’язана з тим, як ядро відстежує сторінки пам’яті. Згідно з існуючою реалізацією, читання кешованих даних вимагає оновлення лічильників посилань, що може створити конкуренцію, коли кілька потоків постійно звертаються до одного і того ж файлу.
Експериментальні патчі та їх результати
Щоб вирішити цю проблему, експериментальні патчі використовують механізм Read-Copy-Update, щоб дозволити певні читання без отримання додаткових посилань на сторінки. Початкові результати продуктивності вражають.
На ноутбуці Торвальдса з процесором Intel Core i7-8565U, який має чотири ядра та вісім потоків, бенчмарк з восьмома потоками, що постійно читають 16 байт з одного кешованого файлу, підвищився з приблизно 10 мільйонів читань на секунду до 30-33 мільйонів.
При чотирьох потоках на окремих ядрах ЦП, пропускна здатність зросла з приблизно 9-12 мільйонів читань на секунду до 25-26 мільйонів. Однопоточний тест показав менше покращення, піднявшись з приблизно 8 мільйонів до майже 9 мільйонів читань на секунду.
Зауваження щодо результатів і їхнього впливу
Існують важливі уточнення. Усі вимірювання були проведені на ноутбуці Торвальдса з використанням ext4, при цьому деякі засоби безпеки ядра були відключені. Триразове поліпшення стосується специфічного навантаження, а не загальної продуктивності Linux. Патчі також додають навантаження в деяких випадках, особливо коли читання зустрічає відсутні сторінки пам’яті.
Проте, те, що робить цей експеримент особливо примітним, це спосіб розробки коду. У повідомленні про коміт Торвальдс прямо визнає використання Claude Code, AI асистента програмування від Anthropic, для більшої частини роботи.
Іншими словами, Claude Code допоміг у генерації реалізації, тестів, рецензії та початкової документації, тоді як Торвальдс керував роботою і самостійно проводив вимірювання продуктивності.
Це не означає, що AI-сгенерований код потрапляє в Linux ядро без ретельної перевірки. Насправді Торвальдс проводить багато часу, обговорюючи невирішені питання, включаючи поведінку виділення пам’яті, проблеми з сумісністю, потенційні регресії та вплив продуктивності на затримку повторного використання пам’яті.
Експериментальні патчі базуються на Linux 7.3-rc6 з додатковими виправленнями і доступні під ім’ям noref-filemap-read-with-llm. Проте, наразі це залишається експериментом, а не оптимізацією, яка була б об’єднана в основне ядро.
Чи якісь із цих змін зрештою потраплять до Linux, поки що залишається під питанням.




