Небо, усеянное звёздами, всегда уподоблю груди заслуженного генерала (К. Прутков).

Линус Торвальдс Экспериментирует с кодом ядра, сгенерированным искусственным интеллектом, и видит 3-кратное ускорение


Линус Торвальдс Экспериментирует с кодом ядра, сгенерированным искусственным интеллектом, и видит 3-кратное ускорение

Линус Торвальдс, создатель Linux, экспериментирует с разработкой ядра с помощью искусственного интеллекта. Он использует Claude Code от Anthropic для написания патчей, повышающих производительность управления памятью в ядре Linux. Результаты интересные: в некоторых тестах пропускная способность при чтении увеличилась более чем в три раза.

Эксперимент, задокументированный в коммите от 10 октября под названием “mm: чтение из кэша страниц без ссылок на фолио”, состоит из восьми исправлений, нацеленных на то, как Linux считывает данные из своего кэша страниц.

Проблема, которую хотел решить Торвальдс, связана с тем, как ядро отслеживает страницы памяти. Согласно существующей реализации, чтение кэшированных данных требует обновления счетчиков ссылок, что может создать конфликт, когда несколько потоков повторно обращаются к одному и тому же файлу.

Чтобы решить эту проблему, экспериментальные исправления используют механизм чтения-копирования-обновления ядра, позволяющий выполнять определенные операции чтения без получения дополнительных ссылок на страницы. И первоначальные показатели производительности впечатляют.

На ноутбуке Торвальдса с процессором Intel Core i7-8565U с четырьмя ядрами и восемью потоками бенчмарк с восемью потоками, многократно считывающими 16 байт из одного и того же кэшированного файла, увеличил скорость чтения с 10 миллионов операций в секунду до 30–33 миллионов.

Благодаря четырем потокам на отдельных ядрах процессора пропускная способность увеличилась примерно с 9-12 миллионов операций чтения в секунду до 25-26 миллионов. Однопоточный тест показал меньшее улучшение, увеличившись примерно с 8 миллионов до почти 9 миллионов операций чтения в секунду.

Есть важные требования. Все измерения проводились на ноутбуке Торвальдса с использованием ext4 с отключенными некоторыми мерами безопасности ядра. Тройное улучшение относится к конкретной рабочей нагрузке, а не к общей производительности Linux. Исправления также увеличивают накладные расходы в некоторых случаях, особенно когда при чтении обнаруживаются недостающие страницы памяти.

Но что делает этот эксперимент особенно примечательным, так это то, как был разработан код. В сообщении о коммите Торвальдс прямо указывает, что для большей части работы он использовал Claude Code, помощника по написанию кода на основе искусственного интеллекта от Anthropic:

«Код, тестовые программы, обзор, лежащий в основе приведенного выше списка, и первый черновик этого текста были созданы с помощью помощника по написанию кода на основе больших языковых моделей (Claude Code) под моим руководством». Измерения проводились на моем компьютере.”

 

Другими словами, Claude Code помогал с реализацией, тестированием, проверкой и составлением первоначальной документации, а Торвальдс руководил работой и сам проводил измерения производительности.

Тем не менее это не тот случай, когда сгенерированный ИИ код ядра принимается в Linux без проверки. Совсем наоборот.

Торвальдс посвящает большую часть сообщения о коммите документированию нерешенных проблем, в том числе особенностей распределения памяти, проблем с совместимостью, возможных регрессий и снижения производительности из-за отсрочки повторного использования памяти.

Экспериментальная серия основана на Linux 7.3-rc6 с дополнительными исправлениями и обозначена как noref-filemap-read-with-llm. Важно отметить, что ее не следует путать с завершенной оптимизацией, которая была включена в основную ветку ядра.

Пока неясно, станут ли эти патчи частью Linux.

Редактор: AndreyEx

Если статья понравилась, поделитесь ей в социальных сетях

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала