ИИ и автоматизация3 мин чтения
Планировщик команд для Эльбруса: почему LLM проиграла жадному алгоритму
Процессор Эльбрус с архитектурой VLIW требует, чтобы компилятор заранее расписал операции по каналам и тактам. Автор исследования на Хабре построил такой планировщик команд и проверил, может ли языковая модель Qwen заменить классический жадный алгоритм. Ответ: сама по себе нет, в связке — да.

Почему на VLIW расписание считает компилятор
В обычных процессорах порядок исполнения подбирает само железо. В VLIW, на которой построен Эльбрус, одна широкая команда содержит несколько операций, и решать, что в какой канал и такт положить, должен компилятор. Ошибка расписания не ломает программу, но замедляет её: каналы простаивают, зависимые операции ждут.
У e2k-v6 ограничения жёсткие: умножение идёт только по четырём каналам с задержкой 4 такта, деление по одному каналу с задержкой 11 тактов, загрузка по четырём каналам с задержкой 5, сохранение по двум. Автор снял эти параметры тремя способами: опросом матрицы портов у ассемблера lcc, замером задержек цепочками зависимых операций и измерением пропускной способности потоком независимых.
Мы применяем ту же схему в автоматизации: модель классифицирует и предлагает, а действия с последствиями выполняет детерминированный код. Исследование про Эльбрус показывает на цифрах, почему это работает лучше, чем доверить модели всё.
Жадный алгоритм и его предел
Стандартный планировщик принимает жадные необратимые решения: берёт готовую операцию и кладёт в первый свободный канал. На простых графах из 6–14 узлов он почти безупречен: 298–300 из 300 расписаний оптимальны. На трудном наборе из 300 графов разрыв до оптимума составил 1,03 такта в среднем, а точных решений не оказалось вовсе. Разрыв измерим и доказуем, значит есть что улучшать.

Что показала языковая модель
Первая попытка — отдать расписание модели Qwen2.5-3B целиком. Результат: 30 секунд на задачу вместо 3 миллисекунд и лишь 17 % корректных расписаний на сложных графах. Модель тонула в «бухгалтерии»: проверке каналов, задержек и конфликтов.
Вторая попытка изменила роли. Модель выдаёт только порядок операций, а детерминированный алгоритм раскладывает их по каналам и гарантирует корректность. Такая связка на трудном наборе дала разрыв 0,82 вместо 1,03 и 59–62 точных решений из 300. Это примерно 20 % улучшения там, где жадный алгоритм упирался в потолок.
Что из этого следует для практики
Вывод шире, чем компиляторы. Языковая модель плохо справляется с задачами, где нужно соблюдать много формальных ограничений одновременно, но хорошо подсказывает приоритеты и порядок. Отдайте модели эвристику, а проверку и исполнение — коду с гарантиями. По той же схеме строятся надёжные ИИ-агенты в бизнес-процессах: модель предлагает, правила решают.
Итог
LLM не заменила планировщик для Эльбруса, но улучшила его на пятую часть, когда ей оставили только выбор порядка. Это честный результат: ни «ИИ решил всё», ни «ИИ бесполезен».
Источники
Подписаться на журнал
Новые разборы о сайтах, SEO и ИИ выходят в журнале QIO. Подпишитесь в Google, по RSS или в Telegram, чтобы получать их первыми.


