Исследователи НовГУ сократили накладные расходы виртуальных машин на 40%
23 июня 2026, 11:07 42
Ученые из Политехнического института НовГУ совместно с коллегами из Москвы разработали технологию, которая ускоряет работу компьютерных эмуляторов почти в три раза — до 271%.
Новое решение избавляет виртуальные машины от хронической проблемы «торможения», перекладывая тяжелые задачи по обработке памяти с обычных программ напрямую на аппаратное обеспечение компьютера. Это значительно ускорит работу разработчиков ПО, специалистов по кибербезопасности и инженеров, тестирующих новые архитектуры.
Сегодня в IT-сфере активно используется кросс-архитектурная эмуляция — когда на одном компьютере запускают виртуальную среду, предназначенную для совершенно другого процессора. Например, мобильные приложения на домашнем ПК. Это критически важно для разработки техники и программ, цифровой безопасности и моделирования сложных систем.
Однако у этой технологии есть недостаток — она медленная. Иногда программы в эмуляторе работают в десятки раз медленнее, чем на оригинальном устройстве. Одна из главных причин таких «тормозов» — виртуальная память.
В современных устройствах физическая память разбита на страницы, а программам выдаются их виртуальные адреса. Эмулятор вынужден постоянно работать переводчиком: он должен каждый раз программно вычислять, где именно лежат нужные данные. По оценкам специалистов, именно эти программные вычисления съедают около 40% всей производительности виртуальной машины.
Ученые настроили систему так, чтобы эмулятор перестал каждый раз программно искать нужные адреса памяти. Вместо этого он напрямую задействует встроенные вычислительные мощности основного компьютера —аппаратный MMU, объединяя их адресные пространства.
Для реализации этого механизма применяется специальная системная команда mmap, которая связывает виртуальные страницы эмулируемой системы с реальной физической памятью компьютера. Если адрес меняется, система выдает ошибку, и эмулятор обновляет маршрут.
Как пояснили разработчики, решить, использовать оптимизацию или нет, необходимо еще на этапе трансляции кода. В качестве критерия используется MMU индекс, который позволяет с достаточной точностью отличать ядерный и пользовательский режимы работы. Для кода ядра продолжает работать классический программный модуль, а для пользовательских программ включается аппаратный буфер.
Особое внимание разработчики уделили смарт-системе отслеживания процессов. Чтобы эмулятору не приходилось полностью очищать кэш памяти при каждом переключении задач, авторы реализовали интеллектуальное отслеживание идентификатора процессов (asid), встроенного в архитектуру aarch64. Данные неактивных программ теперь не уничтожаются, а отправляются в пул контекстов, оптимальный размер которого составил от 8 до 16 диапазонов на один поток кодогенератора.
Тестирование оптимизированного эмулятора Qemu проводилось на платформе с процессором Intel Core i7. В качестве эмулируемого устройства выступал одноплатный компьютер Raspberry Pi 3B под управлением операционной системы Raspberry Pi OS Lite.
В специализированных синтетических тестах, бенчмарках, скорость работы возросла до 271%. При выполнении тяжелых задач — например, при многопоточном сжатии файлов — ускорение составило до 217%, более чем в два раза. В среднем производительность выросла на 162%.
При этом во время полной загрузки операционной системы было зафиксировано падение производительности на 15%, что объясняется спецификой инициализации ядра и высокими накладными расходами на частую перенастройку аппаратного буфера в этот короткий промежуток времени.
Предложенное исполнение аппаратного TLB для ускорения трансляции гостевых адресов может применяться для эмуляции aarch64 на x86-64, что раньше в научных работах не встречалось.
В перспективе авторы планируют протестировать аналогичный подход на серверах с процессорами x86-64 новейших поколений. Поддержка технологии 5-уровневой пейджинговой организации памяти расширит виртуальный адрес хоста до 57 бит, что позволит полностью снять ограничения и эмулировать гостевые системы с абсолютным 48-битным адресом.
Эту и другие новости читайте в официальном МАХ-канале Новгородского университета.