Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Линус Торвальдс экспериментирует с генерацией изменений к ядру через AI

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 2470
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 60 раз
Поблагодарили: 28 раз

Линус Торвальдс экспериментирует с генерацией изменений к ядру через AI

Сообщение root:# »

Линус Торвальдс экспериментирует с генерацией изменений к ядру через AI
Линус Торвальдс подготовил набор патчей для подсистемы управления памятью в ядре Linux, реализующих оптимизацию для чтения мелких блоков данных из страничного кэша без атомарного изменения счётчика ссылок (refcount) в структуре folio. В тексте коммита указано, что изменения, связанные с ним тесты и черновой текст примечания созданы AI-ассистентом Claude Code при контроле со стороны Торвальдса. Изменение добавлено в отдельную ветку ядра noref-filemap-read-with-llm и пока не понятно, будет ли оно перенесено в основную ветку или это просто внутренний эксперимент. При тестировании благодаря патчам удалось повысить пропускную способность чтения мелких файлов в конфигурации с 8 потоками с 9.9-10.4 до 30-33 миллионов операций в секунду (прирост в 3 раза), с 4 потоками - с 8.9-11.6 до 25-26 млн/сек (прирост в 2 раза), а при однопоточной нагрузке с 7.9-8.1 до 8.8-8.9 млн/сек. Прирост производительности объясняется тем, что при одновременном обращении к страничному кэшу возникает жёсткая конкуренция между потоками при доступе к кэшу. Например, когда 8 потоков пытаются одновременно читать по 16 байт данных 99.92% времени тратится не на само чтение, а на ожидание доступа к счётчику ссылок. В патче для гарантирования корректности данных вместо выставления отдельных блокировок, изменения счётчиков ссылок или промежуточной буферизации применяется обходной вариант, использующий отложенное освобождение памяти с синхронизацией при помощи механизма RCU (Read-Copy-Update). Предложенный в патче метод гарантирует, что страница памяти не будет физически освобождена, пока читающий поток не завершит копирование данных.
Источник: https://www.opennet.ru/opennews/art.shtml?num=66447